CMS 3D CMS Logo

Classes | Public Types | Static Public Member Functions

funct::SimplSumOrd< F, G, H > Struct Template Reference

#include <SimplifySum.h>

List of all members.

Classes

struct  prod0
struct  prod1
struct  prod2

Public Types

typedef ::boost::mpl::if_
< prod1, prod1,
typename::boost::mpl::if_
< prod2, prod2, prod0 >::type >
::type 
prod
typedef AuxSum< prod >::type type

Static Public Member Functions

static type combine (const SUM_S(F, G)&fg, const H &h)

Detailed Description

template<typename F, typename G, typename H>
struct funct::SimplSumOrd< F, G, H >

Definition at line 136 of file SimplifySum.h.


Member Typedef Documentation

template<typename F, typename G, typename H>
typedef ::boost::mpl::if_<prod1, prod1, typename ::boost::mpl::if_ <prod2, prod2, prod0 >::type >::type funct::SimplSumOrd< F, G, H >::prod

Definition at line 173 of file SimplifySum.h.

template<typename F, typename G, typename H>
typedef AuxSum< prod >::type funct::SimplSumOrd< F, G, H >::type

Definition at line 174 of file SimplifySum.h.


Member Function Documentation

template<typename F, typename G, typename H>
static type funct::SimplSumOrd< F, G, H >::combine ( const SUM_S(F, G)&  fg,
const H &  h 
) [inline, static]

Definition at line 175 of file SimplifySum.h.

Referenced by funct::SimplSumOrd< A, B, PROD_S(C, D) >::combine().

                                                                  {
      const F& f = fg._1;
      const G& g = fg._2;
      const typename prod::A & a = prod::a(f, g, h);
      const typename prod::B & b = prod::b(f, g, h);
      const typename prod::C & c = prod::c(f, g, h);
      return AuxSum< prod >::combine(a + b, c); 
    }