QtRocket
 
Loading...
Searching...
No Matches
Catch::Benchmark::Detail::ObjectStorage< T, Destruct > Struct Template Reference

#include <catch_amalgamated.hpp>

Public Member Functions

 ObjectStorage ()=default
 
 ObjectStorage (const ObjectStorage &other)
 
 ObjectStorage (ObjectStorage &&other)
 
 ~ObjectStorage ()
 
template<typename... Args>
void construct (Args &&... args)
 
template<bool AllowManualDestruction = !Destruct>
std::enable_if_t< AllowManualDestruction > destruct ()
 

Private Member Functions

template<typename U>
void destruct_on_exit (std::enable_if_t< Destruct, U > *=nullptr)
 
template<typename U>
void destruct_on_exit (std::enable_if_t<!Destruct, U > *=nullptr)
 
T & stored_object ()
 
T const & stored_object () const
 

Private Attributes

unsigned char data [sizeof(T)] {}
 

Constructor & Destructor Documentation

◆ ObjectStorage() [1/3]

template<typename T, bool Destruct>
Catch::Benchmark::Detail::ObjectStorage< T, Destruct >::ObjectStorage ( )
default

◆ ObjectStorage() [2/3]

template<typename T, bool Destruct>
Catch::Benchmark::Detail::ObjectStorage< T, Destruct >::ObjectStorage ( const ObjectStorage< T, Destruct > & other)
inline

◆ ObjectStorage() [3/3]

template<typename T, bool Destruct>
Catch::Benchmark::Detail::ObjectStorage< T, Destruct >::ObjectStorage ( ObjectStorage< T, Destruct > && other)
inline

◆ ~ObjectStorage()

template<typename T, bool Destruct>
Catch::Benchmark::Detail::ObjectStorage< T, Destruct >::~ObjectStorage ( )
inline

Member Function Documentation

◆ construct()

template<typename T, bool Destruct>
template<typename... Args>
void Catch::Benchmark::Detail::ObjectStorage< T, Destruct >::construct ( Args &&... args)
inline

◆ destruct()

template<typename T, bool Destruct>
template<bool AllowManualDestruction = !Destruct>
std::enable_if_t< AllowManualDestruction > Catch::Benchmark::Detail::ObjectStorage< T, Destruct >::destruct ( )
inline

◆ destruct_on_exit() [1/2]

template<typename T, bool Destruct>
template<typename U>
void Catch::Benchmark::Detail::ObjectStorage< T, Destruct >::destruct_on_exit ( std::enable_if_t< Destruct, U > * = nullptr)
inlineprivate

◆ destruct_on_exit() [2/2]

template<typename T, bool Destruct>
template<typename U>
void Catch::Benchmark::Detail::ObjectStorage< T, Destruct >::destruct_on_exit ( std::enable_if_t<!Destruct, U > * = nullptr)
inlineprivate

◆ stored_object() [1/2]

template<typename T, bool Destruct>
T & Catch::Benchmark::Detail::ObjectStorage< T, Destruct >::stored_object ( )
inlineprivate
Here is the caller graph for this function:

◆ stored_object() [2/2]

template<typename T, bool Destruct>
T const & Catch::Benchmark::Detail::ObjectStorage< T, Destruct >::stored_object ( ) const
inlineprivate

Member Data Documentation

◆ data

template<typename T, bool Destruct>
unsigned char Catch::Benchmark::Detail::ObjectStorage< T, Destruct >::data[sizeof(T)] {}
private

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