neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::custom_type< T > Class Template Reference

#include <custom_type.hpp>

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

Classes

struct  type_mismatch
 

Public Member Functions

 custom_type (const string &aName)
 
 custom_type (const string &aName, const string &aValue)
 
 custom_type (const string &aName, const abstract_value_type &aValue)
 
 custom_type (const i_custom_type &aOther)
 
 ~custom_type ()
 
void name (i_string &aName) const final
 
void to_string (i_string &aString) const final
 
i_custom_typeclone () const final
 
i_custom_typeassign (const i_custom_type &aRhs) final
 
bool operator== (const i_custom_type &aRhs) const final
 
bool operator< (const i_custom_type &aRhs) const final
 
const voidinstance_ptr () const final
 
voidinstance_ptr () final
 
virtual void name (i_string &aName) const=0
 
std::string name () const
 
virtual void to_string (i_string &aString) const=0
 
std::string to_string () const
 
- Public Member Functions inherited from neolib::reference_counted< i_custom_type >
 reference_counted () noexcept
 
 reference_counted (const reference_counted &aOther) noexcept
 
 ~reference_counted ()
 
reference_countedoperator= (const reference_counted &)
 
void add_ref () const noexcept override
 
void release () const override
 
int32_t use_count () const noexcept override
 
const base_typerelease_and_take_ownership () const override
 
base_typerelease_and_take_ownership () override
 
void pin () const noexcept override
 
void unpin () const override
 
i_ref_control_blockcontrol_block () override
 
- Public Member Functions inherited from neolib::i_custom_type
i_custom_typeoperator= (const i_custom_type &aRhs)
 
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 ()
 
std::string name () const
 
std::string to_string () const
 
- Public Member Functions inherited from neolib::i_reference_counted
virtual ~i_reference_counted ()=default
 

Additional Inherited Members

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

Detailed Description

template<typename T>
class neolib::custom_type< T >

Definition at line 49 of file custom_type.hpp.

Constructor & Destructor Documentation

◆ custom_type() [1/4]

template<typename T >
neolib::custom_type< T >::custom_type ( const string aName)
inline

Definition at line 58 of file custom_type.hpp.

◆ custom_type() [2/4]

template<typename T >
neolib::custom_type< T >::custom_type ( const string aName,
const string aValue 
)
inline

Definition at line 60 of file custom_type.hpp.

◆ custom_type() [3/4]

template<typename T >
neolib::custom_type< T >::custom_type ( const string aName,
const abstract_value_type &  aValue 
)
inline

Definition at line 62 of file custom_type.hpp.

◆ custom_type() [4/4]

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

Definition at line 64 of file custom_type.hpp.

◆ ~custom_type()

template<typename T >
neolib::custom_type< T >::~custom_type ( )
inline

Definition at line 66 of file custom_type.hpp.

Member Function Documentation

◆ assign()

template<typename T >
i_custom_type & neolib::custom_type< T >::assign ( const i_custom_type< T > &  aRhs)
inlinefinalvirtual

Implements neolib::i_custom_type.

Definition at line 85 of file custom_type.hpp.

◆ clone()

template<typename T >
i_custom_type * neolib::custom_type< T >::clone ( ) const
inlinefinalvirtual

Implements neolib::i_custom_type.

Definition at line 81 of file custom_type.hpp.

◆ instance_ptr() [1/2]

template<typename T >
const void * neolib::custom_type< T >::instance_ptr ( ) const
inlinefinalvirtual

Implements neolib::i_custom_type.

Definition at line 104 of file custom_type.hpp.

◆ instance_ptr() [2/2]

template<typename T >
void * neolib::custom_type< T >::instance_ptr ( )
inlinefinalvirtual

Implements neolib::i_custom_type.

Definition at line 108 of file custom_type.hpp.

◆ name() [1/3]

template<typename T >
std::string neolib::i_custom_type::name ( ) const
inline

Definition at line 87 of file i_custom_type.hpp.

◆ name() [2/3]

template<typename T >
void neolib::custom_type< T >::name ( i_string aName) const
inlinefinalvirtual

Implements neolib::i_custom_type.

Definition at line 70 of file custom_type.hpp.

◆ name() [3/3]

template<typename T >
virtual void neolib::i_custom_type::name ( i_string aName) const
virtual

Implements neolib::i_custom_type.

◆ operator<()

template<typename T >
bool neolib::custom_type< T >::operator< ( const i_custom_type< T > &  aRhs) const
inlinefinalvirtual

Implements neolib::i_custom_type.

Definition at line 99 of file custom_type.hpp.

◆ operator==()

template<typename T >
bool neolib::custom_type< T >::operator== ( const i_custom_type< T > &  aRhs) const
inlinefinalvirtual

Implements neolib::i_custom_type.

Definition at line 95 of file custom_type.hpp.

◆ to_string() [1/3]

template<typename T >
std::string neolib::i_custom_type::to_string ( ) const
inline

Definition at line 88 of file i_custom_type.hpp.

◆ to_string() [2/3]

template<typename T >
void neolib::custom_type< T >::to_string ( i_string aString) const
inlinefinalvirtual

Implements neolib::i_custom_type.

Definition at line 74 of file custom_type.hpp.

◆ to_string() [3/3]

template<typename T >
virtual void neolib::i_custom_type::to_string ( i_string aString) const
virtual

Implements neolib::i_custom_type.


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