More usage cleansups

This commit is contained in:
Jason Turner
2009-07-18 23:34:08 +00:00
parent 4d4c26bf73
commit 82bd46bb1a
6 changed files with 113 additions and 61 deletions

View File

@@ -489,7 +489,7 @@ namespace chaiscript
template<typename T>
void bootstrap_pod_type(Dispatch_Engine &s, const std::string &name)
{
s.add(type_<T>(), name);
s.add(user_type<T>(), name);
add_basic_constructors<T>(s, name);
add_oper_assign<T>(s);
add_oper_assign_pod<T>(s);
@@ -590,10 +590,10 @@ namespace chaiscript
/**
* return true if the Boxed_Value matches the registered type by name
*/
static bool is_type(const Dispatch_Engine &e, const std::string &type_name, Boxed_Value r)
static bool is_type(const Dispatch_Engine &e, const std::string &user_typename, Boxed_Value r)
{
try {
return e.get_type(type_name) == r.get_type_info();
return e.get_type(user_typename) == r.get_type_info();
} catch (const std::range_error &) {
return false;
}
@@ -638,11 +638,11 @@ namespace chaiscript
*/
static void bootstrap(Dispatch_Engine &s)
{
s.add(type_<void>(), "void");
s.add(type_<bool>(), "bool");
s.add(type_<Boxed_Value>(), "Object");
s.add(type_<Boxed_POD_Value>(), "PODObject");
s.add(type_<Proxy_Function>(), "function");
s.add(user_type<void>(), "void");
s.add(user_type<bool>(), "bool");
s.add(user_type<Boxed_Value>(), "Object");
s.add(user_type<Boxed_POD_Value>(), "PODObject");
s.add(user_type<Proxy_Function>(), "function");
add_basic_constructors<bool>(s, "bool");
add_oper_assign<std::string>(s);

View File

@@ -22,7 +22,7 @@ namespace chaiscript
/**
* Input_Range, based on the D concept of ranges.
* \todo Update the Range code to base its capabilities on
* the type_traits of the iterator passed in
* the user_typetraits of the iterator passed in
*/
template<typename Container>
struct Input_Range
@@ -76,8 +76,8 @@ namespace chaiscript
template<typename ContainerType>
void bootstrap_input_range(Dispatch_Engine &system, const std::string &type)
{
system.add(type_<Input_Range<ContainerType> >(), type + "_Range");
system.add(type_<typename ContainerType::iterator>(), type+"_Iterator");
system.add(user_type<Input_Range<ContainerType> >(), type + "_Range");
system.add(user_type<typename ContainerType::iterator>(), type+"_Iterator");
system.add(constructor<Input_Range<ContainerType> (ContainerType &)>(), "range");
system.add(constructor<Input_Range<ContainerType> (typename ContainerType::iterator)>(), "range");
@@ -86,7 +86,7 @@ namespace chaiscript
system.add(constructor<Input_Range<ContainerType> (const ItrPair &)>(), "range");
system.add(type_<ItrPair>(), type+"_Iterator_Pair");
system.add(user_type<ItrPair>(), type+"_Iterator_Pair");
system.add(fun(&Input_Range<ContainerType>::empty), "empty");
system.add(fun(&Input_Range<ContainerType>::pop_front), "pop_front");
@@ -259,7 +259,7 @@ namespace chaiscript
template<typename VectorType>
void bootstrap_vector(Dispatch_Engine &system, const std::string &type)
{
system.add(type_<VectorType>(), type);
system.add(user_type<VectorType>(), type);
bootstrap_random_access_container<VectorType>(system, type);
bootstrap_back_insertion_sequence<VectorType>(system, type);
}
@@ -282,7 +282,7 @@ namespace chaiscript
template<typename PairType>
void bootstrap_pair(Dispatch_Engine &system, const std::string &type)
{
system.add(type_<PairType>(), type);
system.add(user_type<PairType>(), type);
system.add(fun(&PairType::first), "first");
system.add(fun(&PairType::second), "second");
@@ -349,7 +349,7 @@ namespace chaiscript
template<typename MapType>
void bootstrap_map(Dispatch_Engine &system, const std::string &type)
{
system.add(type_<MapType>(), type);
system.add(user_type<MapType>(), type);
system.add(fun(&MapType::operator[]), "[]");
bootstrap_unique_sorted_associative_container<MapType>(system, type);
bootstrap_pair_associative_container<MapType>(system, type);
@@ -362,7 +362,7 @@ namespace chaiscript
template<typename String>
void bootstrap_string(Dispatch_Engine &system, const std::string &type)
{
system.add(type_<String>(), type);
system.add(user_type<String>(), type);
add_oper_add<String>(system);
add_oper_add_equals<String>(system);
add_opers_comparison<String>(system);

View File

@@ -118,14 +118,14 @@ namespace chaiscript
template<typename T>
Type_Info type_(T)
Type_Info user_type(T)
{
return Get_Type_Info<T>::get();
}
template<typename T>
Type_Info type_()
Type_Info user_type()
{
return Get_Type_Info<T>::get();
}