GameApi 28
Library used by GameApi Builder tool
Loading...
Searching...
No Matches
type_conversions.hpp File Reference
#include <atomic>
#include <memory>
#include <set>
#include <stdexcept>
#include <string>
#include <type_traits>
#include <typeinfo>
#include "../chaiscript_threading.hpp"
#include "bad_boxed_cast.hpp"
#include "boxed_cast_helper.hpp"
#include "boxed_value.hpp"
#include "type_info.hpp"
Include dependency graph for type_conversions.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  chaiscript::exception::bad_boxed_dynamic_cast
class  chaiscript::exception::bad_boxed_type_cast
class  chaiscript::detail::Type_Conversion_Base
class  chaiscript::detail::Static_Caster< From, To >
class  chaiscript::detail::Dynamic_Caster< From, To >
class  chaiscript::detail::Dynamic_Conversion_Impl< Base, Derived >
class  chaiscript::detail::Static_Conversion_Impl< Base, Derived >
class  chaiscript::detail::Type_Conversion_Impl< Callable >
class  chaiscript::Type_Conversions
struct  chaiscript::Type_Conversions::Conversion_Saves
struct  chaiscript::Type_Conversions::Less_Than
class  chaiscript::Type_Conversions_State

Namespaces

namespace  chaiscript
 Namespace chaiscript contains every API call that the average user will be concerned with.
namespace  chaiscript::exception
 Classes which may be thrown during error cases when ChaiScript is executing.
namespace  chaiscript::detail
 Classes and functions reserved for internal use. Items in this namespace are not supported.

Typedefs

typedef std::shared_ptr< chaiscript::detail::Type_Conversion_Base > chaiscript::Type_Conversion

Functions

template<typename Base, typename Derived>
Type_Conversion chaiscript::base_class (typename std::enable_if< std::is_polymorphic< Base >::value &&std::is_polymorphic< Derived >::value >::type *=nullptr)
 Used to register a to / parent class relationship with ChaiScript. Necessary if you want automatic conversions up your inheritance hierarchy.
template<typename Base, typename Derived>
Type_Conversion chaiscript::base_class (typename std::enable_if<!std::is_polymorphic< Base >::value||!std::is_polymorphic< Derived >::value >::type *=nullptr)
template<typename Callable>
Type_Conversion chaiscript::type_conversion (const Type_Info &t_from, const Type_Info &t_to, const Callable &t_func)
template<typename From, typename To, typename Callable>
Type_Conversion chaiscript::type_conversion (const Callable &t_function)
template<typename From, typename To>
Type_Conversion chaiscript::type_conversion ()
template<typename To>
Type_Conversion chaiscript::vector_conversion ()
template<typename To>
Type_Conversion chaiscript::map_conversion ()