neoGFX
Cross-platform C++ app/game engine
|
#include <i_variant.hpp>
Public Types | |
typedef self_type | abstract_type |
Public Member Functions | |
virtual | ~i_variant ()=default |
virtual std::size_t | index () const =0 |
template<typename T > | |
bool | holds_alternative () const |
template<typename T > | |
T const * | get_if () const |
template<typename T > | |
T * | get_if () |
template<typename T > | |
T const & | get () const |
template<typename T > | |
T & | get () |
Public Member Functions inherited from neolib::i_reference_counted | |
virtual | ~i_reference_counted ()=default |
virtual void | add_ref () const noexcept=0 |
virtual void | release () const =0 |
virtual int32_t | use_count () const noexcept=0 |
virtual const i_reference_counted * | release_and_take_ownership () const =0 |
virtual i_reference_counted * | release_and_take_ownership ()=0 |
virtual void | pin () const noexcept=0 |
virtual void | unpin () const =0 |
virtual i_ref_control_block & | control_block ()=0 |
Definition at line 48 of file i_variant.hpp.
typedef self_type neolib::i_variant< Types >::abstract_type |
Definition at line 52 of file i_variant.hpp.
|
virtualdefault |
Definition at line 88 of file i_variant.hpp.
|
inline |
Definition at line 81 of file i_variant.hpp.
Definition at line 74 of file i_variant.hpp.
|
inline |
Definition at line 67 of file i_variant.hpp.
|
inline |
Definition at line 62 of file i_variant.hpp.
|
pure virtual |
Implemented in neolib::variant< Types >, neolib::variant< color, gradient >, neolib::variant< color, gradient, texture, std::pair< texture, rect >, sub_texture, std::pair< sub_texture, rect > >, neolib::variant< mouse_system_cursor >, neolib::variant< neogfx::color_widget, neogfx::gradient_widget >, neolib::variant< neogfx::point, neogfx::delta, neogfx::mouse_button, neogfx::mouse_wheel, neogfx::key_modifiers_e >, neolib::variant< neogfx::scan_code_e, neogfx::key_code_e, neogfx::key_modifiers_e, string >, and neolib::variant< neogfx::size, neogfx::point >.