neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::any Class Reference

#include <any.hpp>

Inheritance diagram for neolib::any:
neolib::i_any

Public Member Functions

 any ()
 
 any (const i_any &aOther)
 
 any (i_any &&aOther)
 
 any (const any &aOther)
 
 any (any &&aOther)
 
template<typename ValueType >
 any (ValueType &&aValue, std::enable_if_t<!is_variant_v< std::decay_t< ValueType > >, sfinae >={})
 
template<typename ValueType >
 any (ValueType &&aVariant, std::enable_if_t< is_variant_v< std::decay_t< ValueType > >, sfinae >={})
 
anyoperator= (const i_any &aRhs)
 
anyoperator= (i_any &&aRhs)
 
anyoperator= (const any &aRhs)
 
anyoperator= (any &&aRhs)
 
template<typename ValueType >
anyoperator= (ValueType &&aRhs)
 
template<class ValueType , class... Args>
std::decay_t< ValueType > & emplace (Args &&... args)
 
template<class ValueType , class U , class... Args>
std::decay_t< ValueType > & emplace (std::initializer_list< U > il, Args &&... args)
 
void reset () override
 
void swap (any &aOther)
 
bool has_value () const override
 
std::type_info consttype () const override
 
bool operator== (const i_any &aOther) const override
 
bool operator!= (const i_any &aOther) const override
 
bool operator< (const i_any &aOther) const override
 
bool operator== (const any &aOther) const
 
bool operator!= (const any &aOther) const
 
bool operator< (const any &aOther) const
 
- Public Member Functions inherited from neolib::i_any
virtual ~i_any ()=default
 

Friends

template<class T >
T any_cast (const any &operand)
 
template<class T >
T any_cast (any &operand)
 
template<class T >
T any_cast (any &&operand)
 
template<class T >
const Tany_cast (const any *operand) noexcept
 
template<class T >
Tany_cast (any *operand) noexcept
 
template<class T >
T unsafe_any_cast (const any &operand) noexcept
 
template<class T >
T unsafe_any_cast (any &operand) noexcept
 

Additional Inherited Members

- Public Types inherited from neolib::i_any
typedef i_any abstract_type
 

Detailed Description

Definition at line 57 of file any.hpp.

Constructor & Destructor Documentation

◆ any() [1/7]

neolib::any::any ( )
inline

Definition at line 75 of file any.hpp.

◆ any() [2/7]

neolib::any::any ( const i_any aOther)
inline

Definition at line 80 of file any.hpp.

◆ any() [3/7]

neolib::any::any ( i_any &&  aOther)
inline

Definition at line 84 of file any.hpp.

◆ any() [4/7]

neolib::any::any ( const any aOther)
inline

Definition at line 88 of file any.hpp.

◆ any() [5/7]

neolib::any::any ( any &&  aOther)
inline

Definition at line 94 of file any.hpp.

◆ any() [6/7]

template<typename ValueType >
neolib::any::any ( ValueType &&  aValue,
std::enable_if_t<!is_variant_v< std::decay_t< ValueType > >, sfinae = {} 
)
inline

Definition at line 103 of file any.hpp.

◆ any() [7/7]

template<typename ValueType >
neolib::any::any ( ValueType &&  aVariant,
std::enable_if_t< is_variant_v< std::decay_t< ValueType > >, sfinae = {} 
)
inlineexplicit

Definition at line 110 of file any.hpp.

Member Function Documentation

◆ emplace() [1/2]

template<class ValueType , class... Args>
std::decay_t< ValueType > & neolib::any::emplace ( Args &&...  args)
inline

Definition at line 153 of file any.hpp.

◆ emplace() [2/2]

template<class ValueType , class U , class... Args>
std::decay_t< ValueType > & neolib::any::emplace ( std::initializer_list< U il,
Args &&...  args 
)
inline

Definition at line 161 of file any.hpp.

◆ has_value()

bool neolib::any::has_value ( ) const
inlineoverridevirtual

Implements neolib::i_any.

Definition at line 181 of file any.hpp.

◆ operator!=() [1/2]

bool neolib::any::operator!= ( const any aOther) const
inline

Definition at line 209 of file any.hpp.

◆ operator!=() [2/2]

bool neolib::any::operator!= ( const i_any aOther) const
inlineoverridevirtual

Implements neolib::i_any.

Definition at line 194 of file any.hpp.

◆ operator<() [1/2]

bool neolib::any::operator< ( const any aOther) const
inline

Definition at line 216 of file any.hpp.

◆ operator<() [2/2]

bool neolib::any::operator< ( const i_any aOther) const
inlineoverridevirtual

Implements neolib::i_any.

Definition at line 198 of file any.hpp.

◆ operator=() [1/5]

any & neolib::any::operator= ( any &&  aRhs)
inline

Definition at line 134 of file any.hpp.

◆ operator=() [2/5]

any & neolib::any::operator= ( const any aRhs)
inline

Definition at line 127 of file any.hpp.

◆ operator=() [3/5]

any & neolib::any::operator= ( const i_any aRhs)
inline

Definition at line 117 of file any.hpp.

◆ operator=() [4/5]

any & neolib::any::operator= ( i_any &&  aRhs)
inline

Definition at line 122 of file any.hpp.

◆ operator=() [5/5]

template<typename ValueType >
any & neolib::any::operator= ( ValueType &&  aRhs)
inline

Definition at line 144 of file any.hpp.

◆ operator==() [1/2]

bool neolib::any::operator== ( const any aOther) const
inline

Definition at line 202 of file any.hpp.

◆ operator==() [2/2]

bool neolib::any::operator== ( const i_any aOther) const
inlineoverridevirtual

Implements neolib::i_any.

Definition at line 190 of file any.hpp.

◆ reset()

void neolib::any::reset ( )
inlineoverridevirtual

Implements neolib::i_any.

Definition at line 168 of file any.hpp.

◆ swap()

void neolib::any::swap ( any aOther)
inline

Definition at line 174 of file any.hpp.

◆ type()

std::type_info const & neolib::any::type ( ) const
inlineoverridevirtual

Implements neolib::i_any.

Definition at line 185 of file any.hpp.

Friends And Related Symbol Documentation

◆ any_cast [1/5]

template<class T >
T any_cast ( any &&  operand)
friend

Definition at line 277 of file any.hpp.

◆ any_cast [2/5]

template<class T >
T any_cast ( any operand)
friend

Definition at line 272 of file any.hpp.

◆ any_cast [3/5]

template<class T >
T * any_cast ( any operand)
friend

Definition at line 287 of file any.hpp.

◆ any_cast [4/5]

template<class T >
T any_cast ( const any operand)
friend

Definition at line 267 of file any.hpp.

◆ any_cast [5/5]

template<class T >
const T * any_cast ( const any operand)
friend

Definition at line 282 of file any.hpp.

◆ unsafe_any_cast [1/2]

template<class T >
T unsafe_any_cast ( any operand)
friend

Definition at line 297 of file any.hpp.

◆ unsafe_any_cast [2/2]

template<class T >
T unsafe_any_cast ( const any operand)
friend

Definition at line 292 of file any.hpp.


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