CMS 3D CMS Logo

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

Classes

class  CacheFiller
 
class  InputProcessBlockCacheImpl
 
class  InvalidCacheType
 
struct  LogDebugAdapter
 
struct  subscript_type
 
struct  subscript_type< T >
 
struct  subscript_type< T[]>
 
struct  subscript_type< T[N]>
 
struct  TokenInfo
 
class  WaitingThread
 

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 >
concept ArrayAddressable = requires(T& a) { a[0]; } or std::is_array_v<T>
 
requires ArrayAddressable< T >
 
template<typename T >
requires requires
 

Typedef Documentation

◆ subscript_type_t

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

Definition at line 52 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 220 of file OutputModuleCommunicatorT.cc.

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

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

◆ createCommunicatorIfNeeded() [2/4]

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

Definition at line 226 of file OutputModuleCommunicatorT.cc.

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

◆ createCommunicatorIfNeeded() [3/4]

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

Definition at line 223 of file OutputModuleCommunicatorT.cc.

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

◆ createCommunicatorIfNeeded() [4/4]

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

Definition at line 229 of file OutputModuleCommunicatorT.cc.

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

◆ 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 ALPAKA_ACCELERATOR_NAMESPACE::brokenline::constexpr(), and relativeConstraints::value.

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

50  {
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

◆ ArrayAddressable

template<typename T >
concept edm::impl::ArrayAddressable = requires(T& a) { a[0]; } or std::is_array_v<T>

Definition at line 24 of file propagate_const_array.h.

◆ ArrayAddressable< T >

Definition at line 45 of file propagate_const_array.h.

◆ requires

template<typename T >
requires edm::impl::requires
Initial value:
{
requires not std::is_array_v<T>

Definition at line 43 of file propagate_const_array.h.