CMS 3D CMS Logo

List of all members | Public Types | Static Public Member Functions
enroller_helper::EnrollerHelper< T, TVector > Struct Template Reference

#include <SimActivityRegistryEnroller.h>

Public Types

typedef boost::mpl::pop_back< TVector >::type RemainingVector
 

Static Public Member Functions

static void enroll (SimActivityRegistry &iReg, T *iT)
 

Detailed Description

template<class T, class TVector>
struct enroller_helper::EnrollerHelper< T, TVector >

Definition at line 53 of file SimActivityRegistryEnroller.h.

Member Typedef Documentation

template<class T , class TVector >
typedef boost::mpl::pop_back<TVector>::type enroller_helper::EnrollerHelper< T, TVector >::RemainingVector

Definition at line 54 of file SimActivityRegistryEnroller.h.

Member Function Documentation

template<class T , class TVector >
static void enroller_helper::EnrollerHelper< T, TVector >::enroll ( SimActivityRegistry iReg,
T iT 
)
inlinestatic

Definition at line 55 of file SimActivityRegistryEnroller.h.

References enroller_helper::Enrollment< T >::enroll().

Referenced by SimActivityRegistryEnroller::enroll().

55  {
56  //Try to enroll the object if it inherits from the class at the
57  // end of TVector
59 
60  //If TVector is not at its end, call EnrollerHelper with a vector
61  // that had our last type 'popped off' the end
62  typedef typename boost::mpl::eval_if<boost::mpl::empty<TVector>,
63  boost::mpl::identity<LastEnrollerHelper<T> >,
65  >::type NextEnroller;
66  NextEnroller::enroll(iReg,iT);
67  }
type
Definition: HCALResponse.h:21
static void enroll(SimActivityRegistry &iReg, T *iT)