CMS 3D CMS Logo

Classes | Typedefs | Functions | Variables
edm::impl Namespace Reference

Classes

class  CacheFiller
 
struct  has_subscript_operator
 
struct  has_subscript_operator< T, std::void_t< decltype(std::declval< T & >()[0])> >
 
class  InputProcessBlockCacheImpl
 
class  InvalidCacheType
 
struct  LogDebugAdapter
 
struct  subscript_type
 
struct  subscript_type< T, std::enable_if_t< not std::is_array_v< T > >, std::enable_if_t< has_subscript_operator_v< T > > >
 
struct  subscript_type< T[]>
 
struct  subscript_type< T[N]>
 
struct  TokenInfo
 

Typedefs

template<typename T >
using subscript_type_t = typename subscript_type< T >::type
 

Functions

template<typename M >
constexpr std::size_t countTypeInParameterPack ()
 
template<typename M , typename V1 , typename... Vs>
constexpr std::size_t countTypeInParameterPack ()
 
std::unique_ptr< edm::OutputModuleCommunicatorcreateCommunicatorIfNeeded (void *)
 
std::unique_ptr< edm::OutputModuleCommunicatorcreateCommunicatorIfNeeded (::edm::one::OutputModuleBase *)
 
std::unique_ptr< edm::OutputModuleCommunicatorcreateCommunicatorIfNeeded (::edm::global::OutputModuleBase *)
 
std::unique_ptr< edm::OutputModuleCommunicatorcreateCommunicatorIfNeeded (::edm::limited::OutputModuleBase *)
 
template<typename W , typename U = InvalidCacheType, typename... Types>
constexpr std::size_t indexInputProcessBlockCache ()
 

Variables

template<typename T >
constexpr auto has_subscript_operator_v = has_subscript_operator<T>::value
 

Typedef Documentation

◆ subscript_type_t

template<typename T >
using edm::impl::subscript_type_t = typedef typename subscript_type<T>::type

Definition at line 56 of file propagate_const_array.h.

Function Documentation

◆ countTypeInParameterPack() [1/2]

template<typename M >
constexpr std::size_t edm::impl::countTypeInParameterPack ( )

Definition at line 37 of file InputProcessBlockCacheImpl.h.

Referenced by countTypeInParameterPack().

37  {
38  return 0;
39  }

◆ countTypeInParameterPack() [2/2]

template<typename M , typename V1 , typename... Vs>
constexpr std::size_t edm::impl::countTypeInParameterPack ( )

Definition at line 42 of file InputProcessBlockCacheImpl.h.

References countTypeInParameterPack(), and relativeConstraints::value.

42  {
44  : countTypeInParameterPack<M, Vs...>();
45  }
constexpr std::size_t countTypeInParameterPack()

◆ createCommunicatorIfNeeded() [1/4]

std::unique_ptr< edm::OutputModuleCommunicator > edm::impl::createCommunicatorIfNeeded ( void *  )

Definition at line 219 of file OutputModuleCommunicatorT.cc.

Referenced by edm::OutputModuleCommunicatorT< T >::createIfNeeded().

219  {
220  return std::unique_ptr<edm::OutputModuleCommunicator>{};
221  }

◆ createCommunicatorIfNeeded() [2/4]

std::unique_ptr< edm::OutputModuleCommunicator > edm::impl::createCommunicatorIfNeeded ( ::edm::one::OutputModuleBase iMod)

Definition at line 225 of file OutputModuleCommunicatorT.cc.

225  {
226  return std::make_unique<OutputModuleCommunicatorT<edm::one::OutputModuleBase>>(iMod);
227  }

◆ createCommunicatorIfNeeded() [3/4]

std::unique_ptr< edm::OutputModuleCommunicator > edm::impl::createCommunicatorIfNeeded ( ::edm::global::OutputModuleBase iMod)

Definition at line 222 of file OutputModuleCommunicatorT.cc.

222  {
223  return std::make_unique<OutputModuleCommunicatorT<edm::global::OutputModuleBase>>(iMod);
224  }

◆ createCommunicatorIfNeeded() [4/4]

std::unique_ptr< edm::OutputModuleCommunicator > edm::impl::createCommunicatorIfNeeded ( ::edm::limited::OutputModuleBase iMod)

Definition at line 228 of file OutputModuleCommunicatorT.cc.

228  {
229  return std::make_unique<OutputModuleCommunicatorT<edm::limited::OutputModuleBase>>(iMod);
230  }

◆ indexInputProcessBlockCache()

template<typename W , typename U = InvalidCacheType, typename... Types>
constexpr std::size_t edm::impl::indexInputProcessBlockCache ( )

Definition at line 50 of file InputProcessBlockCacheImpl.h.

References relativeConstraints::value.

Referenced by edm::stream::impl::InputProcessBlockCacheHolder< CacheTypes >::registerProcessBlockCacheFiller().

50  {
51  if constexpr (std::is_same<W, U>::value) {
52  return 0;
53  } else {
54  if constexpr (sizeof...(Types) > 0) {
55  return 1 + indexInputProcessBlockCache<W, Types...>();
56  } else {
57  static_assert(sizeof...(Types) > 0,
58  "CacheType used with registerProcessBlockCacheFiller does not match any template parameters of "
59  "InputProcessBlockCache");
60  return 0;
61  }
62  }
63  }
constexpr std::size_t indexInputProcessBlockCache()
Definition: Types.py:1

Variable Documentation

◆ has_subscript_operator_v

template<typename T >
constexpr auto edm::impl::has_subscript_operator_v = has_subscript_operator<T>::value

Definition at line 32 of file propagate_const_array.h.