ChaiScript
Classes | Public Member Functions | Static Public Member Functions | List of all members
chaiscript::Type_Conversions Class Reference

Classes

struct  Conversion_Saves
 
struct  Less_Than
 

Public Member Functions

 Type_Conversions (const Type_Conversions &t_other)=delete
 
 Type_Conversions (Type_Conversions &&)=default
 
Type_Conversionsoperator= (const Type_Conversions &)=delete
 
Type_Conversionsoperator= (Type_Conversions &&)=default
 
const std::set< const std::type_info *, Less_Than > & thread_cache () const
 
void add_conversion (const std::shared_ptr< detail::Type_Conversion_Base > &conversion)
 
template<typename T >
bool convertable_type () const noexcept
 
template<typename To , typename From >
bool converts () const noexcept
 
bool converts (const Type_Info &to, const Type_Info &from) const noexcept
 
template<typename To >
Boxed_Value boxed_type_conversion (Conversion_Saves &t_saves, const Boxed_Value &from) const
 
template<typename From >
Boxed_Value boxed_type_down_conversion (Conversion_Saves &t_saves, const Boxed_Value &to) const
 
Boxed_Value boxed_type_conversion (const Type_Info &to, Conversion_Saves &t_saves, const Boxed_Value &from) const
 
Boxed_Value boxed_type_down_conversion (const Type_Info &from, Conversion_Saves &t_saves, const Boxed_Value &to) const
 
std::vector< Boxed_Valuetake_saves (Conversion_Saves &t_saves)
 
bool has_conversion (const Type_Info &to, const Type_Info &from) const
 
std::shared_ptr< detail::Type_Conversion_Baseget_conversion (const Type_Info &to, const Type_Info &from) const
 
Conversion_Savesconversion_saves () const noexcept
 

Static Public Member Functions

static void enable_conversion_saves (Conversion_Saves &t_saves, bool t_val)
 

Member Function Documentation

§ add_conversion()

void chaiscript::Type_Conversions::add_conversion ( const std::shared_ptr< detail::Type_Conversion_Base > &  conversion)
inline
Todo:
error if a conversion already exists

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