Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v29r5 (37229091)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Gaudi::Functional::details::details2 Namespace Reference

Classes

struct  get_from_handle
 
struct  remove_optional
 
struct  remove_optional< boost::optional< T > >
 

Typedefs

template<std::size_t N, typename Tuple >
using element_t = typename std::tuple_element< N, Tuple >::type
 

Functions

template<typename Container , typename Value >
void push_back (Container &c, const Value &v, std::true_type)
 
template<typename Container , typename Value >
void push_back (Container &c, const Value &v, std::false_type)
 
template<typename T >
T * deref_if (T *const t, std::false_type)
 
template<typename T >
T & deref_if (T *const t, std::true_type)
 
template<typename Tuple , typename KeyValues , std::size_t... I>
Tuple make_tuple_of_handles_helper (IDataHandleHolder *o, const KeyValues &initvalue, Gaudi::DataHandle::Mode m, std::index_sequence< I... >)
 
template<typename KeyValues , typename Properties , std::size_t... I>
void declare_tuple_of_properties_helper (Algorithm &owner, const KeyValues &inputs, Properties &props, std::index_sequence< I... >)
 

Typedef Documentation

template<std::size_t N, typename Tuple >
using Gaudi::Functional::details::details2::element_t = typedef typename std::tuple_element<N, Tuple>::type

Definition at line 395 of file FunctionalDetails.h.

Function Documentation

template<typename KeyValues , typename Properties , std::size_t... I>
void Gaudi::Functional::details::details2::declare_tuple_of_properties_helper ( Algorithm owner,
const KeyValues inputs,
Properties props,
std::index_sequence< I... >   
)

Definition at line 404 of file FunctionalDetails.h.

406  {
408  ( owner.declareProperty( std::get<I>( inputs ).first, std::get<I>( props ) ), 0 )...};
409  }
class MergingTransformer< Out(const vector_of_const_< In > void
Gaudi::Details::PropertyBase * declareProperty(const std::string &name, ToolHandle< T > &hndl, const std::string &doc="none")
Definition: Algorithm.h:372
template<typename T >
T* Gaudi::Functional::details::details2::deref_if ( T *const  t,
std::false_type   
)

Definition at line 249 of file FunctionalDetails.h.

250  {
251  return t;
252  }
template<typename T >
T& Gaudi::Functional::details::details2::deref_if ( T *const  t,
std::true_type   
)

Definition at line 254 of file FunctionalDetails.h.

255  {
256  return *t;
257  }
template<typename Tuple , typename KeyValues , std::size_t... I>
Tuple Gaudi::Functional::details::details2::make_tuple_of_handles_helper ( IDataHandleHolder o,
const KeyValues initvalue,
Gaudi::DataHandle::Mode  m,
std::index_sequence< I... >   
)

Definition at line 398 of file FunctionalDetails.h.

400  {
401  return std::make_tuple( element_t<I, Tuple>{std::get<I>( initvalue ).second, m, o}... );
402  }
T make_tuple(T...args)
constexpr double second
constexpr double m
Definition: SystemOfUnits.h:94
template<typename Container , typename Value >
void Gaudi::Functional::details::details2::push_back ( Container &  c,
const Value &  v,
std::true_type   
)

Definition at line 222 of file FunctionalDetails.h.

223  {
224  c.push_back( v );
225  }
template<typename Container , typename Value >
void Gaudi::Functional::details::details2::push_back ( Container &  c,
const Value &  v,
std::false_type   
)

Definition at line 227 of file FunctionalDetails.h.

228  {
229  c.push_back( &v );
230  }