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

#include <i_custom_type.hpp>

Inheritance diagram for neolib::i_custom_type:
neolib::i_reference_counted neolib::reference_counted< i_custom_type > neolib::custom_type< T >

Classes

struct  no_instance
 

Public Types

typedef i_custom_type abstract_type
 

Public Member Functions

virtual i_custom_typeclone () const =0
 
virtual i_custom_typeassign (const i_custom_type &aRhs)=0
 
i_custom_typeoperator= (const i_custom_type &aRhs)
 
virtual bool operator== (const i_custom_type &) const =0
 
virtual bool operator< (const i_custom_type &) const =0
 
std::strong_ordering operator<=> (const i_custom_type &that) const
 
bool has_instance () const
 
template<typename T >
const Tinstance_as () const
 
template<typename T >
Tinstance_as ()
 
virtual const voidinstance_ptr () const =0
 
virtual voidinstance_ptr ()=0
 
virtual void name (i_string &aName) const =0
 
virtual void to_string (i_string &aString) const =0
 
std::string name () const
 
std::string to_string () const
 
- 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_countedrelease_and_take_ownership () const =0
 
virtual i_reference_countedrelease_and_take_ownership ()=0
 
virtual void pin () const noexcept=0
 
virtual void unpin () const =0
 
virtual i_ref_control_blockcontrol_block ()=0
 

Detailed Description

Definition at line 45 of file i_custom_type.hpp.

Member Typedef Documentation

◆ abstract_type

Member Function Documentation

◆ assign()

virtual i_custom_type & neolib::i_custom_type::assign ( const i_custom_type aRhs)
pure virtual

Implemented in neolib::custom_type< T >.

◆ clone()

virtual i_custom_type * neolib::i_custom_type::clone ( ) const
pure virtual

Implemented in neolib::custom_type< T >.

◆ has_instance()

bool neolib::i_custom_type::has_instance ( ) const
inline

Definition at line 76 of file i_custom_type.hpp.

◆ instance_as() [1/2]

template<typename T >
T & neolib::i_custom_type::instance_as ( )
inline

Definition at line 80 of file i_custom_type.hpp.

◆ instance_as() [2/2]

template<typename T >
const T & neolib::i_custom_type::instance_as ( ) const
inline

Definition at line 78 of file i_custom_type.hpp.

◆ instance_ptr() [1/2]

virtual const void * neolib::i_custom_type::instance_ptr ( ) const
pure virtual

Implemented in neolib::custom_type< T >.

◆ instance_ptr() [2/2]

virtual void * neolib::i_custom_type::instance_ptr ( )
pure virtual

Implemented in neolib::custom_type< T >.

◆ name() [1/2]

std::string neolib::i_custom_type::name ( ) const
inline

Definition at line 87 of file i_custom_type.hpp.

◆ name() [2/2]

virtual void neolib::i_custom_type::name ( i_string aName) const
pure virtual

◆ operator<()

virtual bool neolib::i_custom_type::operator< ( const i_custom_type ) const
pure virtual

Implemented in neolib::custom_type< T >.

◆ operator<=>()

std::strong_ordering neolib::i_custom_type::operator<=> ( const i_custom_type that) const
inline

Definition at line 65 of file i_custom_type.hpp.

◆ operator=()

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

Definition at line 56 of file i_custom_type.hpp.

◆ operator==()

virtual bool neolib::i_custom_type::operator== ( const i_custom_type ) const
pure virtual

Implemented in neolib::custom_type< T >.

◆ to_string() [1/2]

std::string neolib::i_custom_type::to_string ( ) const
inline

Definition at line 88 of file i_custom_type.hpp.

◆ to_string() [2/2]

virtual void neolib::i_custom_type::to_string ( i_string aString) const
pure virtual

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