ITK  6.0.0
Insight 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::Signed< T >::Constraints
 
struct  itk::Concept::MultiplyAndAssignOperator< T1, T2 >::Constraints
 
struct  itk::Concept::DivisionOperators< T1, T2, T3 >::Constraints
 
struct  itk::Concept::BitwiseOperators< T1, T2, T3 >::Constraints
 
struct  itk::Concept::BracketOperator< T1, T2, T3 >::Constraints
 
struct  itk::Concept::NotOperator< T >::Constraints
 
struct  itk::Concept::IncrementDecrementOperators< T >::Constraints
 
struct  itk::Concept::IsNonInteger< T >::Constraints
 
struct  itk::Concept::OStreamWritable< T >::Constraints
 
struct  itk::Concept::DivisionAndAssignOperators< T1, T2 >::Constraints
 
struct  itk::Concept::IsUnsignedInteger< T >::Constraints
 
struct  itk::Concept::SameType< T1, T2 >::Constraints
 
struct  itk::Concept::SameDimension< D1, D2 >::Constraints
 
struct  itk::Concept::HasNumericTraits< T >::Constraints
 
struct  itk::Concept::HasPixelTraits< T >::Constraints
 
struct  itk::Concept::HasValueType< T >::Constraints
 
struct  itk::Concept::HasZero< T >::Constraints
 
struct  itk::Concept::HasJoinTraits< T1, T2 >::Constraints
 
struct  itk::Concept::IsInteger< T >::Constraints
 
struct  itk::Concept::SameDimensionOrMinusOne< D1, D2 >::Constraints
 
struct  itk::Concept::SameDimensionOrMinusOneOrTwo< D1, D2 >::Constraints
 
struct  itk::Concept::DefaultConstructible< T >::Constraints
 
struct  itk::Concept::Assignable< T >::Constraints
 
struct  itk::Concept::LessThanComparable< T1, T2 >::Constraints
 
struct  itk::Concept::Convertible< T1, T2 >::Constraints
 
struct  itk::Concept::GreaterThanComparable< T1, T2 >::Constraints
 
struct  itk::Concept::CopyConstructible< T >::Constraints
 
struct  itk::Concept::EqualityComparable< T1, T2 >::Constraints
 
struct  itk::Concept::Comparable< T1, T2 >::Constraints
 
struct  itk::Concept::AdditiveOperators< T1, T2, T3 >::Constraints
 
struct  itk::Concept::AdditiveAndAssignOperators< T1, T2 >::Constraints
 
struct  itk::Concept::IsFloatingPoint< T >::Constraints
 
struct  itk::Concept::MultiplyOperator< T1, T2, T3 >::Constraints
 
struct  itk::Concept::IsFixedPoint< 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

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

Macros

#define ITK_CONCEPT_IMPLEMENTATION_STANDARD
 
#define itkConceptConstraintsMacro()
 
#define itkConceptMacro(name, 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

◆ ITK_CONCEPT_IMPLEMENTATION_STANDARD

#define ITK_CONCEPT_IMPLEMENTATION_STANDARD

Choose a concept checking implementation based on compiler abilities.

Definition at line 42 of file itkConceptChecking.h.

◆ itkConceptConstraintsMacro

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

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.

◆ itkConceptMacro

#define itkConceptMacro (   name,
  concept 
)
Value:
enum \
{ \
name = sizeof concept \
}; \
ITK_MACROEND_NOOP_STATEMENT

Definition at line 65 of file itkConceptChecking.h.