The Gaudi Framework  v30r4 (9b837755)
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 138 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 279 of file FunctionalDetails.h.

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

Definition at line 284 of file FunctionalDetails.h.

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

Definition at line 252 of file FunctionalDetails.h.

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

Definition at line 257 of file FunctionalDetails.h.

258  {
259  c.push_back( &v );
260  }