OpenStructure
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions
binary_dispatch_ip< FNC > Struct Template Reference

#include <dispatch.hh>

Public Member Functions

void operator() (ImageStateBase *lhs, const ImageStateBase *rhs)
 
template<typename T1 , class D1 >
void left (ImageStateImpl< T1, D1 > *lhs, const ImageStateBase *rhs)
 
template<typename T1 , class D1 , typename T2 , class D2 >
void right (ImageStateImpl< T1, D1 > *lhs, const ImageStateImpl< T2, D2 > *rhs)
 

Detailed Description

template<template< typename T1, class D1, typename T2, class D2 > class FNC>
struct ost::img::image_state::dispatch::binary_dispatch_ip< FNC >

in-place binary dispatch

the template parameter is expected to be a class with the following specifications:

template<typename T1, class D1, typename T2, class D2> struct FNC { void operator()(ImageStateImpl<T1,D1>* lhs, const ImageStateImpl<T2,D2>* rhs); };

Note that the first parameter, lhs, is non-const; it is expected to be modified by the function object.

Note also that partial specialization is possible.

Definition at line 151 of file dispatch.hh.

Member Function Documentation

void left ( ImageStateImpl< T1, D1 > *  lhs,
const ImageStateBase rhs 
)
inline

Definition at line 175 of file dispatch.hh.

void operator() ( ImageStateBase lhs,
const ImageStateBase rhs 
)
inline

Definition at line 156 of file dispatch.hh.

void right ( ImageStateImpl< T1, D1 > *  lhs,
const ImageStateImpl< T2, D2 > *  rhs 
)
inline

Definition at line 191 of file dispatch.hh.


The documentation for this struct was generated from the following file: