MarlinMT  0.1.0
marlinmt::book::details::Entry::EntryHelper Struct Reference

class which helps to access entry from the different EntryTypes More...

Classes

struct  Conclusion
 
struct  need_index
 
struct  need_void
 

Public Types

enum  Need { Need::Void, Need::Index, Need::VoidIndex }
 

Static Public Member Functions

static void ThrowIfOutOfBound (const EntryKey &key, std::size_t idx)
 
template<typename T , std::size_t I = 0>
static Handle< T > handle (std::shared_ptr< EntryBase > entry, const EntryKey &key, std::size_t idx)
 

Static Public Attributes

template<typename T , typename ET >
static constexpr Need handle_need_v
 

Detailed Description

class which helps to access entry from the different EntryTypes

Definition at line 139 of file Entry.h.

Member Enumeration Documentation

◆ Need

Enumerator
Void 
Index 
VoidIndex 

Definition at line 152 of file Entry.h.

Member Function Documentation

◆ handle()

template<typename T , std::size_t I = 0>
static Handle<T> marlinmt::book::details::Entry::EntryHelper::handle ( std::shared_ptr< EntryBase entry,
const EntryKey key,
std::size_t  idx 
)
inlinestatic

Definition at line 202 of file Entry.h.

References marlinmt::book::EntryKey::flags, and MARLIN_BOOK_THROW.

◆ ThrowIfOutOfBound()

static void marlinmt::book::details::Entry::EntryHelper::ThrowIfOutOfBound ( const EntryKey key,
std::size_t  idx 
)
inlinestatic

Definition at line 140 of file Entry.h.

References MARLIN_BOOK_THROW, and marlinmt::book::EntryKey::mInstances.

Member Data Documentation

◆ handle_need_v

template<typename T , typename ET >
constexpr Need marlinmt::book::details::Entry::EntryHelper::handle_need_v
static
Initial value:
=
Conclusion<Handle<T>,ET>::needs()

Definition at line 197 of file Entry.h.


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