aimstil  5.0.5
labelClasses.h File Reference
Include dependency graph for labelClasses.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  til::PointerTraits< Pointer >
 Pointer traits. More...
 
class  til::is_ImagePointer< T >
 
struct  til::is_ImagePointer< T >::No
 
class  til::Neighborhood_label
 
class  til::is_Neighborhood< T >
 
struct  til::is_Neighborhood< T >::No
 

Namespaces

 til
 Belongs to package Box Do not include directly, include til/Box.h instead.
 

Macros

#define DEFINE_LABEL_CLASS(name)   DEFINE_LABEL_CLASS_WITH_INHERITANCE(name, )
 
#define DEFINE_LABEL_CLASS_WITH_INHERITANCE(name, inherit)
 
#define DEFINE_LABEL_CLASS_FULL(labelname, memtypename)   class labelname { public: typedef void memtypename; }; \
 
#define DEFINE_TEST_CLASS_FULL(testname, memtypename, inherit)
 

Functions

 til::DEFINE_TEST_CLASS_FULL (has_result_type, result_type,)
 
 til::DEFINE_LABEL_CLASS (ExtrapolableImage)
 Label for extrapolable images. More...
 
 til::DEFINE_LABEL_CLASS (Image)
 Label for all image classes. More...
 
 til::DEFINE_LABEL_CLASS (ImageExtrapolator)
 Label for image extrapolators. More...
 
 til::DEFINE_LABEL_CLASS (ImageFunctor)
 Label for image functors. More...
 
 til::DEFINE_LABEL_CLASS (ImageIterator)
 Label for all image iterator classes. More...
 
 til::DEFINE_LABEL_CLASS (Interpolator)
 Label for interpolator of a sequence of number. More...
 
 til::DEFINE_LABEL_CLASS (Mapping)
 Label for coordinate transforms. More...
 
 til::DEFINE_LABEL_CLASS_WITH_INHERITANCE (VolumetricImageIterator, :public ImageIterator_label)
 Label for TIL smart pointers. More...
 
 til::DEFINE_LABEL_CLASS (detemplated_functor)
 Label for neighborhoods. More...
 
 til::DEFINE_LABEL_CLASS (minimization_algorithm_nd)
 Label for multidimensional minimization algorithms. More...
 

Macro Definition Documentation

◆ DEFINE_LABEL_CLASS

#define DEFINE_LABEL_CLASS (   name)    DEFINE_LABEL_CLASS_WITH_INHERITANCE(name, )

Definition at line 34 of file labelClasses.h.

◆ DEFINE_LABEL_CLASS_FULL

#define DEFINE_LABEL_CLASS_FULL (   labelname,
  memtypename 
)    class labelname { public: typedef void memtypename; }; \

Definition at line 40 of file labelClasses.h.

◆ DEFINE_LABEL_CLASS_WITH_INHERITANCE

#define DEFINE_LABEL_CLASS_WITH_INHERITANCE (   name,
  inherit 
)
Value:
DEFINE_LABEL_CLASS_FULL(name##_label, Is##name) \
DEFINE_TEST_CLASS_FULL(is_##name, Is##name, inherit) \
#define DEFINE_LABEL_CLASS_FULL(labelname, memtypename)
Definition: labelClasses.h:40

Definition at line 36 of file labelClasses.h.

◆ DEFINE_TEST_CLASS_FULL

#define DEFINE_TEST_CLASS_FULL (   testname,
  memtypename,
  inherit 
)
Value:
template <typename T> \
class testname inherit \
{ \
protected: \
typedef char Yes; \
struct No { char a[2]; }; \
template <typename U> static Yes testfunc (typename U:: memtypename const*); \
template <typename U> static No testfunc (...); \
public: \
enum { \
value = (sizeof(testname <T>::template testfunc <T>(0)) == sizeof(Yes)) \
}; \
};

Definition at line 64 of file labelClasses.h.