The Gaudi Framework  v31r0 (aeb156f0)
Gaudi::Functional::details::details2 Namespace Reference

Classes

struct  get_from_handle
 
struct  remove_optional
 
struct  remove_optional< T, std::enable_if_t< is_optional< T >::value > >
 

Typedefs

template<typename T >
using is_optional_ = decltype(bool(std::declval< T >()), std::declval< T >().value())
 

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)
 

Typedef Documentation

template<typename T >
using Gaudi::Functional::details::details2::is_optional_ = typedef decltype( bool( std::declval<T>() ), std::declval<T>().value() )

Definition at line 121 of file FunctionalDetails.h.

Function Documentation

template<typename T >
T* Gaudi::Functional::details::details2::deref_if ( T *const  t,
std::false_type   
)

Definition at line 247 of file FunctionalDetails.h.

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

Definition at line 251 of file FunctionalDetails.h.

251  {
252  return *t;
253  }
template<typename Container , typename Value >
void Gaudi::Functional::details::details2::push_back ( Container &  c,
const Value &  v,
std::true_type   
)

Definition at line 224 of file FunctionalDetails.h.

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

Definition at line 228 of file FunctionalDetails.h.

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