|
|
Go to the documentation of this file. 1 #ifndef PhysicsTools_Utilities_SimplifyProduct_h
2 #define PhysicsTools_Utilities_SimplifyProduct_h
8 #include <boost/mpl/if.hpp>
148 template <
typename Prod,
bool simplify = Prod::value>
154 template <
typename Prod>
160 template <
typename F,
typename G,
typename H>
167 inline static const A&
a(
const F&
f,
const G&
g,
const H&
h) {
return f; }
168 inline static const B&
b(
const F&
f,
const G&
g,
const H&
h) {
return g; }
169 inline static const C&
c(
const F&
f,
const G&
g,
const H&
h) {
return h; }
178 inline static const A&
a(
const F&
f,
const G&
g,
const H&
h) {
return f; }
179 inline static const B&
b(
const F&
f,
const G&
g,
const H&
h) {
return h; }
180 inline static const C&
c(
const F&
f,
const G&
g,
const H&
h) {
return g; }
189 inline static const A&
a(
const F&
f,
const G&
g,
const H&
h) {
return g; }
190 inline static const B&
b(
const F&
f,
const G&
g,
const H&
h) {
return h; }
191 inline static const C&
c(
const F&
f,
const G&
g,
const H&
h) {
return f; }
static const B & b(const F &f, const G &g, const H &h)
static type combine(const ProductStruct< F, G > &fg, const H &h)
TEMPL(T2) struct Divides B
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
static const C & c(const F &f, const G &g, const H &h)
static const B & b(const F &f, const G &g, const H &h)
static const A & a(const F &f, const G &g, const H &h)
typedef POWER(A, NUM(n)) arg
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)
ProductStruct< A, B > base
ProductStruct< typename Prod::AB, typename Prod::C > type
static type combine(const arg1 &_1, const arg2 &_2)
ProductStruct< A, B > base
static const C & c(const F &f, const G &g, const H &h)
static const A & a(const F &f, const G &g, const H &h)
::boost::mpl::if_< prod1, prod1, typename ::boost::mpl::if_< prod2, prod2, prod0 >::type >::type prod
#define PROD_RULE(TMPL, T1, T2, RES, COMB)
TEMPL(T1) struct Divides0
static type combine(const typename Prod::AB &_1, const typename Prod::C &_2)
AuxProduct< prod >::type type
Power< A, typename Sum< B, C >::type >::type type
static const std::string B
static const A & a(const F &f, const G &g, const H &h)
#define COMBINE(A, B, RES)
Product< typename Prod::AB, typename Prod::C >::type type
static const C & c(const F &f, const G &g, const H &h)
Power< A, B >::type pow(const A &a, const B &b)
typedef PROD(F, SUM(RATIO(A, F), RATIO(B, F))) type
ProductStruct< arg1, arg2 > type
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
static const B & b(const F &f, const G &g, const H &h)