aimstil  5.0.5
DynImage.h File Reference
#include <typeinfo>
#include "boost/mpl/assert.hpp"
#include "boost/mpl/equal.hpp"
#include "boost/mpl/int.hpp"
#include "boost/mpl/placeholders.hpp"
#include "boost/mpl/transform.hpp"
#include "boost/mpl/vector.hpp"
#include "til/til_common.h"
#include "til/templateTools.h"
Include dependency graph for DynImage.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  til::DynImage< TImage >
 Base class for dynamic type images. More...
 
class  til::DynImage_typed< TImage, T >
 Child class of dynamic image base class, implementing a specific type. More...
 
class  til::Dyn< Functor, TReturn >
 Functor wrapper for dynamic type images. More...
 
class  til::DynBase
 
class  til::DynTyped< T >
 
class  til::Loop< TMPLContainer >
 
class  til::ExecuteIfDynCast< TFunctor, T >
 
class  til::Object
 A generic object. More...
 
class  til::Object_typed< T >
 A concrete instance of a generic object, containing a real object of type T. More...
 

Namespaces

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

Macros

#define TIL_DYNIM_BLOCKS(funcall)
 Macro for code to do dynamic type resolution. More...
 
#define TIL_DYNIM_BLOCKS_BEGIN   if(0) {}
 
#define TIL_DYNIM_BLOCKS_END   else { throw std::runtime_error("Unknown dynamic image type"); }
 
#define TIL_DYNIM_BLOCK(funcall, type)
 

Typedefs

typedef boost::mpl::vector< unsigned char, char, unsigned short, short, int, float, double > til::StandardNumericTypes
 
typedef boost::mpl::vector< ImageC< unsigned char >, ImageC< char >, ImageC< unsigned short >, ImageC< short >, ImageC< int >, ImageC< float >, ImageC< double > > til::imeu
 
typedef boost::mpl::transform< StandardNumericTypes, ImageC< boost::mpl::_1 > >::type til::toto
 

Functions

template<template< typename > class TImage, class TImage0 >
DynImage< TImage > * til::dynImageFactory (TImage0 &im)
 
template<typename TReturn , typename Functor >
Dyn< Functor, TReturn > til::dyn (const Functor &functor)
 Conveniance function to create dynamic functor wrapper with return type. More...
 
template<typename Functor >
Dyn< Functor, void > til::dyn (const Functor &functor)
 Conveniance function to create dynamic functor wrapper witout return type. More...
 
 til::BOOST_MPL_ASSERT ((boost::mpl::equal< imeu, toto >))
 
template<class TTypeCollection , class TFunctor >
void til::dyn (const TFunctor &functor)
 

Macro Definition Documentation

◆ TIL_DYNIM_BLOCK

#define TIL_DYNIM_BLOCK (   funcall,
  type 
)
Value:
else if (DynImage_typed<TImage, type > *pim = dynamic_cast<DynImage_typed<TImage, type >*>(&dynim)) \
{ \
typedef type PixelType; \
funcall \
} \

Definition at line 113 of file DynImage.h.

◆ TIL_DYNIM_BLOCKS

#define TIL_DYNIM_BLOCKS (   funcall)
Value:
TIL_DYNIM_BLOCK(funcall, char) \
TIL_DYNIM_BLOCK(funcall, ushort) \
TIL_DYNIM_BLOCK(funcall, short) \
TIL_DYNIM_BLOCK(funcall, int) \
TIL_DYNIM_BLOCK(funcall, float) \
TIL_DYNIM_BLOCK(funcall, double) \
TIL_DYNIM_BLOCKS_END \
#define TIL_DYNIM_BLOCK(funcall, type)
Definition: DynImage.h:113
unsigned short ushort
Definition: til_common.h:76
unsigned char uchar
Definition: til_common.h:75

Macro for code to do dynamic type resolution.

Definition at line 100 of file DynImage.h.

Referenced by til::Dyn< Functor, TReturn >::operator()().

◆ TIL_DYNIM_BLOCKS_BEGIN

#define TIL_DYNIM_BLOCKS_BEGIN   if(0) {}

Definition at line 111 of file DynImage.h.

◆ TIL_DYNIM_BLOCKS_END

#define TIL_DYNIM_BLOCKS_END   else { throw std::runtime_error("Unknown dynamic image type"); }

Definition at line 112 of file DynImage.h.