OpenStructure
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 >
 
struct  unary_dispatch_op< FNC >
 
struct  binary_dispatch_ip< FNC >
 
struct  binary_dispatch_op< FNC >
 

Namespaces

 ost
 
 ost::img
 
 ost::img::image_state
 
 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

◆ ISI_BINARY_DISPATCH_IP_CALL_LEFT

#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.

◆ ISI_BINARY_DISPATCH_IP_CALL_RIGHT

#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.

◆ ISI_BINARY_DISPATCH_OP_CALL_LEFT

#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.

◆ ISI_BINARY_DISPATCH_OP_CALL_RIGHT

#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.

◆ ISI_UNARY_DISPATCH_IP_CALL

#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.

◆ ISI_UNARY_DISPATCH_OP_CALL

#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.