Developer documentation

texp_operators.hpp File Reference

Go to the source code of this file.

Namespaces

 mmx
 

Macros

#define define_binary_operator_structure(opname, function, call)
 
#define define_binary_operator(opname, function, call)
 
#define define_unary_operator(opname, function, call)
 
#define declare_binary_operator(tp_arg_list, parm0, parm1, opname, function)
 
#define declare_unary_operator(tp_arg_list, parm, opname, function)
 

Macro Definition Documentation

#define declare_binary_operator (   tp_arg_list,
  parm0,
  parm1,
  opname,
  function 
)
Value:
tp_arg_list inline \
texp::template_expression< texp::binary_operator< opname,\
texp::template_expression< parm0 >, \
texp::template_expression< parm1 > > > \
function( const parm0 & x, const parm1 & y )\
{ return \
texp::template_expression< \
texp::binary_operator< \
opname, texp::template_expression< parm0 >, texp::template_expression< parm1 > > >\
(texp::template_expression< parm0 >(x),texp::template_expression< parm1 >(y));\
};\
tp_arg_list inline \
texp::template_expression< texp::binary_operator< opname , \
texp::template_expression< parm0 >,\
texp::template_expression< parm1 > > >\
function( const texp::template_expression<parm0> & x, const parm1 & y )\
{ return texp::template_expression< texp::binary_operator< opname, texp::template_expression< parm0 >, texp::template_expression< parm1 > > >\
(x,texp::template_expression<parm1>(y)); };\
tp_arg_list inline \
texp::template_expression< texp::binary_operator< opname , \
texp::template_expression< parm0 >, \
texp::template_expression< parm1 > > >\
function( const parm0 & x, const texp::template_expression<parm1> & y )\
{ return texp::template_expression< texp::binary_operator< opname, texp::template_expression< parm0 >, texp::template_expression< parm1 > > >\
(texp::template_expression< parm0 >(x),y); }
#define declare_unary_operator (   tp_arg_list,
  parm,
  opname,
  function 
)
Value:
tp_arg_list inline \
texp::template_expression< texp::unary_operator< opname, \
texp::template_expression<parm> > >\
function( const parm& x ) \
{ \
return texp::template_expression<\
texp::unary_operator< opname, \
texp::template_expression<parm> > >( texp::template_expression<parm>(x) ); \
};\
#define define_binary_operator (   opname,
  function,
  call 
)
#define define_binary_operator_structure (   opname,
  function,
  call 
)
Value:
\
struct opname \
{ \
inline static const char * name() { return #call; }; \
template < class A, class B, class C > inline \
void operator()( A & a, const B & b, const C & c) const \
{ \
call (a, b, c); \
}; \
template < class A, class B > inline \
void operator()( A & a, const B & b ) const \
{ \
call (a, b); \
}; \
}; \
const C & b
Definition: Interval_glue.hpp:25
const char * name()
Definition: texp_demangle.hpp:9
const C & c
Definition: Interval_glue.hpp:45
double C
Definition: solver_mv_fatarcs.cpp:16
#define define_unary_operator (   opname,
  function,
  call 
)
Home