Reorg some of the bootstrapping that was occuring in wesley
This commit is contained in:
@@ -460,6 +460,11 @@ void bootstrap_pod_type(BoxedCPP_System &s, const std::string &name)
|
||||
register_function(s, &to_string<T>, "to_string");
|
||||
}
|
||||
|
||||
void print(const std::string &s)
|
||||
{
|
||||
std::cout << s << std::endl;
|
||||
}
|
||||
|
||||
void bootstrap(BoxedCPP_System &s)
|
||||
{
|
||||
s.register_type<void>("void");
|
||||
@@ -488,6 +493,11 @@ void bootstrap(BoxedCPP_System &s)
|
||||
add_oper_add<std::string>(s);
|
||||
add_oper_add_equals <std::string>(s);
|
||||
|
||||
register_function(s, &print, "print");
|
||||
|
||||
s.register_function(boost::function<void ()>(boost::bind(&dump_system, boost::ref(s))), "dump_system");
|
||||
s.register_function(boost::function<void (Boxed_Value)>(boost::bind(&dump_object, _1)), "dump_object");
|
||||
|
||||
|
||||
register_function(s, &bool_and<bool, bool>, "&&");
|
||||
register_function(s, &bool_or<bool, bool>, "||");
|
||||
|
@@ -30,11 +30,6 @@ struct Test
|
||||
};
|
||||
|
||||
|
||||
//A function that prints any string passed to it
|
||||
void print(const std::string &s)
|
||||
{
|
||||
std::cout << "Printed: " << s << std::endl;
|
||||
}
|
||||
|
||||
Boxed_Value named_func_call(BoxedCPP_System &ss,
|
||||
const std::string &nametocall, const std::vector<Boxed_Value> ¶ms)
|
||||
@@ -108,7 +103,6 @@ int main()
|
||||
|
||||
//Register a new function, this one with typing for us, so we don't have to ubox anything
|
||||
//right here
|
||||
register_function(ss, &print, "print");
|
||||
|
||||
//Now we have a print method, let's try to print out the earlier example:
|
||||
//so, we dispatch the to_string and pass its result as a param to "print"
|
||||
|
@@ -8,22 +8,6 @@
|
||||
|
||||
//A function that prints any string passed to it
|
||||
|
||||
template <typename T>
|
||||
void print(const T &t)
|
||||
{
|
||||
std::cout << t << std::endl;
|
||||
}
|
||||
|
||||
template<> void print<bool>(const bool &t)
|
||||
{
|
||||
if (t) {
|
||||
std::cout << "true" << std::endl;
|
||||
}
|
||||
else {
|
||||
std::cout << "false" << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
template <typename Eval_Engine>
|
||||
class Wesley_System {
|
||||
Lexer lexer;
|
||||
@@ -203,17 +187,6 @@ public:
|
||||
bootstrap_vector<std::vector<Boxed_Value> >(ss, "Vector");
|
||||
//dump_system(ss);
|
||||
|
||||
//Register a new function, this one with typing for us, so we don't have to ubox anything
|
||||
//right here
|
||||
register_function(ss, &print<bool>, "print");
|
||||
register_function(ss, &print<std::string>, "print");
|
||||
register_function(ss, &print<double>, "print");
|
||||
register_function(ss, &print<size_t>, "print");
|
||||
register_function(ss, &print<int>, "print");
|
||||
|
||||
ss.register_function(boost::function<void ()>(boost::bind(&dump_system, boost::ref(ss))), "dump_system");
|
||||
ss.register_function(boost::function<void (Boxed_Value)>(boost::bind(&dump_object, _1)), "dump_object");
|
||||
|
||||
ss.register_function(boost::shared_ptr<Proxy_Function>(
|
||||
new Dynamic_Proxy_Function(boost::bind(&Wesley_System<Eval_Engine>::eval, boost::ref(*this), _1), 1)), "eval");
|
||||
|
||||
|
Reference in New Issue
Block a user