xentara-utils v2.0.3
The Xentara Utility Library
Loading...
Searching...
No Matches
xentara::utils::tools::PolymorphicVariant< Base, ValueHints >::ValuelessByExceptionSupervisor Class Referencefinal

A dummy supervisor for variants that are valueleass by exception. More...

#include <xentara/utils/tools/PolymorphicVariant.hpp>

+ Inheritance diagram for xentara::utils::tools::PolymorphicVariant< Base, ValueHints >::ValuelessByExceptionSupervisor:

Public Member Functions

auto destroy (void *self) const -> void final
 Copies an object from a base storage to a destination storage.
 
auto copyConstruct (void *self, const void *other) const -> void final
 Copies an object from a base storage to a destination storage.
 
auto moveConstruct (void *self, void *other) const -> void final
 Moves an object from a base storage to a destination storage.
 
auto copyAssign (void *self, const void *rhs) const -> void final
 Performs a move assignment.
 
auto moveAssign (void *self, void *rhs) const -> void final
 Performs a move assignment.
 
auto get (const void *self) const noexcept -> const Base *final
 
auto get (void *self) const noexcept -> Base *final
 
auto equalityCompare (const void *self, const void *rhs) const -> bool final
 Compare two objects using operator==.
 
auto swap (void *self, void *other) const -> void final
 Swaps two objects.
 
- Public Member Functions inherited from xentara::utils::tools::PolymorphicVariant< Base, ValueHints >::AbstractSupervisor
virtual ~AbstractSupervisor ()=0
 virtual destructor
 

Static Public Attributes

static const ValuelessByExceptionSupervisor kInstance
 The global instance.
 

Detailed Description

template<typename Base, typename... ValueHints>
class xentara::utils::tools::PolymorphicVariant< Base, ValueHints >::ValuelessByExceptionSupervisor

A dummy supervisor for variants that are valueleass by exception.

Member Function Documentation

◆ copyAssign()

template<typename Base , typename... ValueHints>
auto xentara::utils::tools::PolymorphicVariant< Base, ValueHints >::ValuelessByExceptionSupervisor::copyAssign ( void *  self,
const void *  rhs 
) const -> void
finalvirtual

◆ copyConstruct()

template<typename Base , typename... ValueHints>
auto xentara::utils::tools::PolymorphicVariant< Base, ValueHints >::ValuelessByExceptionSupervisor::copyConstruct ( void *  self,
const void *  other 
) const -> void
finalvirtual

Copies an object from a base storage to a destination storage.

Implements xentara::utils::tools::PolymorphicVariant< Base, ValueHints >::AbstractSupervisor.

◆ destroy()

template<typename Base , typename... ValueHints>
auto xentara::utils::tools::PolymorphicVariant< Base, ValueHints >::ValuelessByExceptionSupervisor::destroy ( void *  self) const -> void
finalvirtual

Copies an object from a base storage to a destination storage.

Implements xentara::utils::tools::PolymorphicVariant< Base, ValueHints >::AbstractSupervisor.

◆ equalityCompare()

template<typename Base , typename... ValueHints>
auto xentara::utils::tools::PolymorphicVariant< Base, ValueHints >::ValuelessByExceptionSupervisor::equalityCompare ( const void *  self,
const void *  rhs 
) const -> bool
finalvirtual

◆ get() [1/2]

template<typename Base , typename... ValueHints>
auto xentara::utils::tools::PolymorphicVariant< Base, ValueHints >::ValuelessByExceptionSupervisor::get ( const void *  self) const -> const Base *final
finalvirtualnoexcept

◆ get() [2/2]

template<typename Base , typename... ValueHints>
auto xentara::utils::tools::PolymorphicVariant< Base, ValueHints >::ValuelessByExceptionSupervisor::get ( void *  self) const -> Base *final
finalvirtualnoexcept

◆ moveAssign()

template<typename Base , typename... ValueHints>
auto xentara::utils::tools::PolymorphicVariant< Base, ValueHints >::ValuelessByExceptionSupervisor::moveAssign ( void *  self,
void *  rhs 
) const -> void
finalvirtual

◆ moveConstruct()

template<typename Base , typename... ValueHints>
auto xentara::utils::tools::PolymorphicVariant< Base, ValueHints >::ValuelessByExceptionSupervisor::moveConstruct ( void *  self,
void *  other 
) const -> void
finalvirtual

Moves an object from a base storage to a destination storage.

Implements xentara::utils::tools::PolymorphicVariant< Base, ValueHints >::AbstractSupervisor.

◆ swap()

template<typename Base , typename... ValueHints>
auto xentara::utils::tools::PolymorphicVariant< Base, ValueHints >::ValuelessByExceptionSupervisor::swap ( void *  self,
void *  other 
) const -> void
finalvirtual

Member Data Documentation

◆ kInstance

template<typename Base , typename... ValueHints>
const PolymorphicVariant< Base, ValueHints... >::ValuelessByExceptionSupervisor xentara::utils::tools::PolymorphicVariant< Base, ValueHints >::ValuelessByExceptionSupervisor::kInstance
static

The global instance.