OpenStructure
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Data Structures | Namespaces | Macros
dispatch.hh File Reference
#include <ost/message.hh>
#include <string>
#include "image_state_impl.hh"
#include "image_state_def.hh"

Go to the source code of this file.

Data Structures

class  DispatchException
struct  unary_dispatch_ip< FNC >
 In-place unary dispatch. More...
struct  unary_dispatch_op< FNC >
 Out-of-place unary dispatch. More...
struct  binary_dispatch_ip< FNC >
 in-place binary dispatch More...
struct  binary_dispatch_op< FNC >
 out-of-place binary dispatch More...

Namespaces

namespace  ost
namespace  ost::img
namespace  ost::img::image_state
namespace  ost::img::image_state::dispatch

Macros

#define ISI_UNARY_DISPATCH_IP_CALL(TYPE, fnc, isb)   else if(TYPE * is = dynamic_cast<TYPE *>(isb)) fnc(is)
#define ISI_UNARY_DISPATCH_OP_CALL(TYPE, fnc, isb)   else if(const TYPE * is = dynamic_cast<const TYPE *>(isb)) return fnc(is)
#define ISI_BINARY_DISPATCH_IP_CALL_LEFT(TYPE, fnc, lhs, rhs)   else if(TYPE * is = dynamic_cast<TYPE *>(lhs)) fnc(is,rhs)
#define ISI_BINARY_DISPATCH_IP_CALL_RIGHT(TYPE, fnc, lhs, rhs)   else if(const TYPE * is = dynamic_cast<const TYPE *>(rhs)) fnc(lhs,is)
#define ISI_BINARY_DISPATCH_OP_CALL_LEFT(TYPE, fnc, lhs, rhs)   else if(const TYPE * is = dynamic_cast<const TYPE *>(lhs)) return fnc(is,rhs)
#define ISI_BINARY_DISPATCH_OP_CALL_RIGHT(TYPE, fnc, lhs, rhs)   else if(const TYPE * is = dynamic_cast<const TYPE *>(rhs)) return fnc(lhs,is)

Macro Definition Documentation

#define ISI_BINARY_DISPATCH_IP_CALL_LEFT (   TYPE,
  fnc,
  lhs,
  rhs 
)    else if(TYPE * is = dynamic_cast<TYPE *>(lhs)) fnc(is,rhs)

Definition at line 153 of file dispatch.hh.

#define ISI_BINARY_DISPATCH_IP_CALL_RIGHT (   TYPE,
  fnc,
  lhs,
  rhs 
)    else if(const TYPE * is = dynamic_cast<const TYPE *>(rhs)) fnc(lhs,is)

Definition at line 171 of file dispatch.hh.

#define ISI_BINARY_DISPATCH_OP_CALL_LEFT (   TYPE,
  fnc,
  lhs,
  rhs 
)    else if(const TYPE * is = dynamic_cast<const TYPE *>(lhs)) return fnc(is,rhs)

Definition at line 216 of file dispatch.hh.

#define ISI_BINARY_DISPATCH_OP_CALL_RIGHT (   TYPE,
  fnc,
  lhs,
  rhs 
)    else if(const TYPE * is = dynamic_cast<const TYPE *>(rhs)) return fnc(lhs,is)

Definition at line 232 of file dispatch.hh.

#define ISI_UNARY_DISPATCH_IP_CALL (   TYPE,
  fnc,
  isb 
)    else if(TYPE * is = dynamic_cast<TYPE *>(isb)) fnc(is)

Definition at line 69 of file dispatch.hh.

#define ISI_UNARY_DISPATCH_OP_CALL (   TYPE,
  fnc,
  isb 
)    else if(const TYPE * is = dynamic_cast<const TYPE *>(isb)) return fnc(is)

Definition at line 109 of file dispatch.hh.