ITK  5.0.0
Insight Segmentation and Registration Toolkit
Classes | Namespaces | Macros | Functions
itkConceptChecking.h File Reference
#include "itkPixelTraits.h"
#include "itkNumericTraits.h"
#include <iostream>
+ Include dependency graph for itkConceptChecking.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  itk::Concept::AdditiveAndAssignOperators< T1, T2 >
 
struct  itk::Concept::AdditiveOperators< T1, T2, T3 >
 
struct  itk::Concept::Assignable< T >
 
struct  itk::Concept::BitwiseOperators< T1, T2, T3 >
 
struct  itk::Concept::BracketOperator< T1, T2, T3 >
 
struct  itk::Concept::Comparable< T1, T2 >
 
struct  itk::Concept::IsFixedPoint< T >::Constraints
 
struct  itk::Concept::IsFloatingPoint< T >::Constraints
 
struct  itk::Concept::IsNonInteger< T >::Constraints
 
struct  itk::Concept::IsUnsignedInteger< T >::Constraints
 
struct  itk::Concept::IsInteger< T >::Constraints
 
struct  itk::Concept::SameDimensionOrMinusOneOrTwo< D1, D2 >::Constraints
 
struct  itk::Concept::SameDimensionOrMinusOne< D1, D2 >::Constraints
 
struct  itk::Concept::HasJoinTraits< T1, T2 >::Constraints
 
struct  itk::Concept::HasZero< T >::Constraints
 
struct  itk::Concept::HasValueType< T >::Constraints
 
struct  itk::Concept::HasPixelTraits< T >::Constraints
 
struct  itk::Concept::HasNumericTraits< T >::Constraints
 
struct  itk::Concept::SameDimension< D1, D2 >::Constraints
 
struct  itk::Concept::SameType< T1, T2 >::Constraints
 
struct  itk::Concept::Signed< T >::Constraints
 
struct  itk::Concept::OStreamWritable< T >::Constraints
 
struct  itk::Concept::IncrementDecrementOperators< T >::Constraints
 
struct  itk::Concept::NotOperator< T >::Constraints
 
struct  itk::Concept::BracketOperator< T1, T2, T3 >::Constraints
 
struct  itk::Concept::BitwiseOperators< T1, T2, T3 >::Constraints
 
struct  itk::Concept::DivisionAndAssignOperators< T1, T2 >::Constraints
 
struct  itk::Concept::DivisionOperators< T1, T2, T3 >::Constraints
 
struct  itk::Concept::MultiplyAndAssignOperator< T1, T2 >::Constraints
 
struct  itk::Concept::MultiplyOperator< T1, T2, T3 >::Constraints
 
struct  itk::Concept::AdditiveAndAssignOperators< T1, T2 >::Constraints
 
struct  itk::Concept::AdditiveOperators< T1, T2, T3 >::Constraints
 
struct  itk::Concept::Comparable< T1, T2 >::Constraints
 
struct  itk::Concept::EqualityComparable< T1, T2 >::Constraints
 
struct  itk::Concept::GreaterThanComparable< T1, T2 >::Constraints
 
struct  itk::Concept::LessThanComparable< T1, T2 >::Constraints
 
struct  itk::Concept::Assignable< T >::Constraints
 
struct  itk::Concept::Convertible< T1, T2 >::Constraints
 
struct  itk::Concept::CopyConstructible< T >::Constraints
 
struct  itk::Concept::DefaultConstructible< T >::Constraints
 
struct  itk::Concept::Convertible< T1, T2 >
 
struct  itk::Concept::CopyConstructible< T >
 
struct  itk::Concept::DefaultConstructible< T >
 
struct  itk::Concept::DivisionAndAssignOperators< T1, T2 >
 
struct  itk::Concept::DivisionOperators< T1, T2, T3 >
 
struct  itk::Concept::EqualityComparable< T1, T2 >
 
struct  itk::Concept::GreaterThanComparable< T1, T2 >
 
struct  itk::Concept::HasJoinTraits< T1, T2 >
 
struct  itk::Concept::HasNumericTraits< T >
 
struct  itk::Concept::HasPixelTraits< T >
 
struct  itk::Concept::HasValueType< T >
 
struct  itk::Concept::HasZero< T >
 
struct  itk::Concept::IncrementDecrementOperators< T >
 
struct  itk::Concept::IsFixedPoint< T >
 
struct  itk::Concept::IsFloatingPoint< T >
 
struct  itk::Concept::IsInteger< T >
 
struct  itk::Concept::IsNonInteger< T >
 
struct  itk::Concept::IsUnsignedInteger< T >
 
struct  itk::Concept::LessThanComparable< T1, T2 >
 
struct  itk::Concept::MultiplyAndAssignOperator< T1, T2 >
 
struct  itk::Concept::MultiplyOperator< T1, T2, T3 >
 
struct  itk::Concept::NotOperator< T >
 
struct  itk::Concept::OStreamWritable< T >
 
struct  itk::Concept::SameDimension< D1, D2 >
 
struct  itk::Concept::SameDimensionOrMinusOne< D1, D2 >
 
struct  itk::Concept::SameDimensionOrMinusOneOrTwo< D1, D2 >
 
struct  itk::Concept::SameType< T1, T2 >
 
struct  itk::Concept::Signed< T >
 
struct  itk::Concept::Detail::UniqueType< T >
 
struct  itk::Concept::Detail::UniqueType_bool< bool >
 
struct  itk::Concept::Detail::UniqueType_int< int >
 
struct  itk::Concept::Detail::UniqueType_unsigned_int< int >
 

Namespaces

 itk
 
 itk::Concept
 
 itk::Concept::Detail
 

Macros

#define ITK_CONCEPT_IMPLEMENTATION_STANDARD
 
#define itkConceptConstraintsMacro()
 
#define itkConceptMacro(name, concept)   enum { name = sizeof concept }
 

Functions

template<typename T >
void itk::Concept::Detail::IgnoreUnusedVariable (T)
 
template<typename T >
void itk::Concept::Detail::RequireBooleanExpression (const T &t)
 

Macro Definition Documentation

#define ITK_CONCEPT_IMPLEMENTATION_STANDARD

Choose a concept checking implementation based on compiler abilities.

Definition at line 42 of file itkConceptChecking.h.

#define itkConceptConstraintsMacro ( )
Value:
template< void (Constraints::*) ( ) > \
struct Enforcer {}; \
using EnforcerInstantiation = Enforcer< & Constraints::constraints >;

Define the concept checking implementation chosen above. Standard instantiation-time concept check. No run-time overhead introduced. This implementation is based on "Concept Checking: Binding Parametric Polymorphism in C++" by Jeremy Siek and Andrew Lumsdaine, University of Notre Dame.

Definition at line 59 of file itkConceptChecking.h.

#define itkConceptMacro (   name,
  concept 
)    enum { name = sizeof concept }