4 #ifndef CPPQEDELEMENTS_UTILS_DETAILS_BINARYINTERACTIONGENERATOR_H_INCLUDED
5 #define CPPQEDELEMENTS_UTILS_DETAILS_BINARYINTERACTIONGENERATOR_H_INCLUDED
11 #endif // CPPQEDELEMENTS_UTILS_DETAILS_BINARYINTERACTIONGENERATOR_H_INCLUDED
14 #ifndef BIG_ADDITIONAL_TEMPLATE_PARAMETERS
15 #define BIG_ADDITIONAL_TEMPLATE_PARAMETERS
16 #endif // BIG_ADDITIONAL_TEMPLATE_PARAMETERS
18 #ifndef BIG_ADDITIONAL_TEMPLATE_PARAMETERS_PASS
19 #define BIG_ADDITIONAL_TEMPLATE_PARAMETERS_PASS
20 #endif // BIG_ADDITIONAL_TEMPLATE_PARAMETERS_PASS
22 #ifndef BIG_ADDITIONAL_PARAMETERS
23 #define BIG_ADDITIONAL_PARAMETERS
24 #endif // BIG_ADDITIONAL_PARAMETERS
26 #ifndef BIG_ADDITIONAL_PARAMETERS_PASS
27 #define BIG_ADDITIONAL_PARAMETERS_PASS
28 #endif // BIG_ADDITIONAL_PARAMETERS_PASS
31 #define BASE_class BIG_NAMESPACE_NAME::Base BIG_ADDITIONAL_TEMPLATE_PARAMETERS_PASS
34 template<BIG_ADDITIONAL_TEMPLATE_PARAMETERS
typename AveragingType=EmptyAveragingBaseForInteractions>
39 template<
typename F1,
typename F2,
typename... AveragingConstructorParameters>
40 BIG_CLASS_NAME(
const F1& f1,
const F2& f2 BIG_ADDITIONAL_PARAMETERS , AveragingConstructorParameters&&... a)
42 AveragingType(std::forward<AveragingConstructorParameters>(a)...)
50 #undef BIG_ADDITIONAL_TEMPLATE_PARAMETERS_PASS
51 #undef BIG_ADDITIONAL_TEMPLATE_PARAMETERS
52 #undef BIG_ADDITIONAL_PARAMETERS_PASS
53 #undef BIG_ADDITIONAL_PARAMETERS
54 #undef BIG_NAMESPACE_NAME
const boost::shared_ptr< T > sharedPointerize(boost::shared_ptr< T > t)