ATLAS Offline Software
Public Types | Private Types | List of all members
Athena::get_thinning_handler< Container > Struct Template Reference

metafunction to automagically dispatch on the type of a container and fetch the right thinning handler More...

#include <IThinningHdlr.h>

Collaboration diagram for Athena::get_thinning_handler< Container >:

Public Types

typedef if_c< derives_from_dataobject::value, ::Athena::IdcThinningHdlr< Container >, typename if_c< derives_from_std_vector::value, ::Athena::StdThinningHdlr< Container >, ::Athena::DvThinningHdlr< Container > >::type >::type type
 

Private Types

typedef Container::value_type value_type
 
typedef std::remove_pointer< value_type >::type base_value_type
 
typedef std::is_base_of< std::vector< value_type >, Containerderives_from_std_vector
 
typedef std::is_base_of< DataObject, Containerderives_from_dataobject
 

Detailed Description

template<class Container>
struct Athena::get_thinning_handler< Container >

metafunction to automagically dispatch on the type of a container and fetch the right thinning handler

Definition at line 227 of file IThinningHdlr.h.

Member Typedef Documentation

◆ base_value_type

template<class Container >
typedef std::remove_pointer<value_type>::type Athena::get_thinning_handler< Container >::base_value_type
private

Definition at line 231 of file IThinningHdlr.h.

◆ derives_from_dataobject

template<class Container >
typedef std::is_base_of<DataObject, Container> Athena::get_thinning_handler< Container >::derives_from_dataobject
private

Definition at line 239 of file IThinningHdlr.h.

◆ derives_from_std_vector

template<class Container >
typedef std::is_base_of<std::vector<value_type>, Container> Athena::get_thinning_handler< Container >::derives_from_std_vector
private

Definition at line 234 of file IThinningHdlr.h.

◆ type

template<class Container >
typedef if_c<derives_from_dataobject::value, ::Athena::IdcThinningHdlr<Container>, typename if_c<derives_from_std_vector::value, ::Athena::StdThinningHdlr<Container>, ::Athena::DvThinningHdlr<Container> >::type >::type Athena::get_thinning_handler< Container >::type

Definition at line 251 of file IThinningHdlr.h.

◆ value_type

template<class Container >
typedef Container::value_type Athena::get_thinning_handler< Container >::value_type
private

Definition at line 230 of file IThinningHdlr.h.


The documentation for this struct was generated from the following file: