Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::AnyBase< SIZE > Class Template Reference

Small opaque cache type which uses small buffer optimization. More...

#include <acts/blob/sPHENIX/Core/include/Acts/Utilities/Any.hpp>

+ Inheritance diagram for Acts::AnyBase< SIZE >:
+ Collaboration diagram for Acts::AnyBase< SIZE >:

Public Member Functions

template<typename T , typename... Args>
 AnyBase (std::in_place_type_t< T >, Args &&...args)
 
 AnyBase ()=default
 
template<typename T , typename = std::enable_if_t< !std::is_same_v<std::decay_t<T>, AnyBase<SIZE>>>>
 AnyBase (T &&value)
 
void destroy ()
 
void moveConstruct (AnyBase &&fromAny)
 
void move (AnyBase &&fromAny)
 
void copyConstruct (const AnyBase &fromAny)
 
void copy (const AnyBase &fromAny)
 
 alignas (kMaxAlignment) std
 

Static Public Member Functions

template<typename T >
static const Handler * makeHandler ()
 
template<typename T >
static constexpr bool heapAllocated ()
 
template<typename T >
static void destroyImpl (void *ptr)
 
template<typename T >
static void moveConstructImpl (void *from, void *to)
 
template<typename T >
static void moveImpl (void *from, void *to)
 
template<typename T >
static void * copyConstructImpl (const void *from, void *to)
 
template<typename T >
static void copyImpl (const void *from, void *to)
 

Public Attributes

const Handler * m_handler {nullptr}
 

Static Public Attributes

static constexpr size_t kMaxAlignment
 

Detailed Description

template<size_t SIZE>
class Acts::AnyBase< SIZE >

Small opaque cache type which uses small buffer optimization.

Definition at line 110 of file Any.hpp.

View newest version in sPHENIX GitHub at line 110 of file Any.hpp

Constructor & Destructor Documentation

template<size_t SIZE>
template<typename T , typename... Args>
Acts::AnyBase< SIZE >::AnyBase ( std::in_place_type_t< T ,
Args &&...  args 
)
inlineexplicit

Definition at line 115 of file Any.hpp.

View newest version in sPHENIX GitHub at line 115 of file Any.hpp

template<size_t SIZE>
Acts::AnyBase< SIZE >::AnyBase ( )
default

Referenced by Acts::AnyBase< ACTS_SOURCELINK_SBO_SIZE >::AnyBase().

+ Here is the caller graph for this function:

template<size_t SIZE>
template<typename T , typename = std::enable_if_t< !std::is_same_v<std::decay_t<T>, AnyBase<SIZE>>>>
Acts::AnyBase< SIZE >::AnyBase ( T &&  value)
inlineexplicit

Definition at line 148 of file Any.hpp.

View newest version in sPHENIX GitHub at line 148 of file Any.hpp

Member Function Documentation

template<size_t SIZE>
Acts::AnyBase< SIZE >::alignas ( kMaxAlignment  )
inline

Definition at line 503 of file Any.hpp.

View newest version in sPHENIX GitHub at line 503 of file Any.hpp

template<size_t SIZE>
void Acts::AnyBase< SIZE >::copy ( const AnyBase< SIZE > &  fromAny)
inline

Definition at line 407 of file Any.hpp.

View newest version in sPHENIX GitHub at line 407 of file Any.hpp

Referenced by Acts::AnyBase< ACTS_SOURCELINK_SBO_SIZE >::AnyBase().

+ Here is the caller graph for this function:

template<size_t SIZE>
void Acts::AnyBase< SIZE >::copyConstruct ( const AnyBase< SIZE > &  fromAny)
inline

Definition at line 386 of file Any.hpp.

View newest version in sPHENIX GitHub at line 386 of file Any.hpp

Referenced by Acts::AnyBase< ACTS_SOURCELINK_SBO_SIZE >::AnyBase().

+ Here is the caller graph for this function:

template<size_t SIZE>
template<typename T >
static void* Acts::AnyBase< SIZE >::copyConstructImpl ( const void *  from,
void *  to 
)
inlinestatic

Definition at line 462 of file Any.hpp.

View newest version in sPHENIX GitHub at line 462 of file Any.hpp

template<size_t SIZE>
template<typename T >
static void Acts::AnyBase< SIZE >::copyImpl ( const void *  from,
void *  to 
)
inlinestatic

Definition at line 479 of file Any.hpp.

View newest version in sPHENIX GitHub at line 479 of file Any.hpp

template<size_t SIZE>
void Acts::AnyBase< SIZE >::destroy ( )
inline

Definition at line 330 of file Any.hpp.

View newest version in sPHENIX GitHub at line 330 of file Any.hpp

Referenced by Acts::AnyBase< ACTS_SOURCELINK_SBO_SIZE >::AnyBase().

+ Here is the caller graph for this function:

template<size_t SIZE>
template<typename T >
static void Acts::AnyBase< SIZE >::destroyImpl ( void *  ptr)
inlinestatic

Definition at line 424 of file Any.hpp.

View newest version in sPHENIX GitHub at line 424 of file Any.hpp

template<size_t SIZE>
template<typename T >
static constexpr bool Acts::AnyBase< SIZE >::heapAllocated ( )
inlinestatic

Definition at line 326 of file Any.hpp.

View newest version in sPHENIX GitHub at line 326 of file Any.hpp

Referenced by Acts::AnyBase< ACTS_SOURCELINK_SBO_SIZE >::AnyBase().

+ Here is the caller graph for this function:

template<size_t SIZE>
template<typename T >
static const Handler* Acts::AnyBase< SIZE >::makeHandler ( )
inlinestatic

Definition at line 285 of file Any.hpp.

View newest version in sPHENIX GitHub at line 285 of file Any.hpp

template<size_t SIZE>
void Acts::AnyBase< SIZE >::move ( AnyBase< SIZE > &&  fromAny)
inline

Definition at line 361 of file Any.hpp.

View newest version in sPHENIX GitHub at line 361 of file Any.hpp

Referenced by Acts::AnyBase< ACTS_SOURCELINK_SBO_SIZE >::AnyBase().

+ Here is the caller graph for this function:

template<size_t SIZE>
void Acts::AnyBase< SIZE >::moveConstruct ( AnyBase< SIZE > &&  fromAny)
inline

Definition at line 338 of file Any.hpp.

View newest version in sPHENIX GitHub at line 338 of file Any.hpp

Referenced by Acts::AnyBase< ACTS_SOURCELINK_SBO_SIZE >::AnyBase().

+ Here is the caller graph for this function:

template<size_t SIZE>
template<typename T >
static void Acts::AnyBase< SIZE >::moveConstructImpl ( void *  from,
void *  to 
)
inlinestatic

Definition at line 441 of file Any.hpp.

View newest version in sPHENIX GitHub at line 441 of file Any.hpp

template<size_t SIZE>
template<typename T >
static void Acts::AnyBase< SIZE >::moveImpl ( void *  from,
void *  to 
)
inlinestatic

Definition at line 450 of file Any.hpp.

View newest version in sPHENIX GitHub at line 450 of file Any.hpp

Member Data Documentation

template<size_t SIZE>
constexpr size_t Acts::AnyBase< SIZE >::kMaxAlignment
static
Initial value:
= std::max(alignof(std::max_align_t),
size_t(0)
)

Definition at line 490 of file Any.hpp.

View newest version in sPHENIX GitHub at line 490 of file Any.hpp


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