Eliminate boost::lexical_cast usage completely #39
This commit is contained in:
parent
832df7f9e8
commit
d2aba2ef56
@ -93,27 +93,34 @@ namespace chaiscript
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* to_string function for internal use. Uses ostream operator<<
|
* to_string function for internal use. Uses ostream operator<<
|
||||||
*/
|
*/
|
||||||
template<typename Input>
|
template<typename Input>
|
||||||
std::string to_string(Input i)
|
std::string to_string(Input i)
|
||||||
{
|
{
|
||||||
return boost::lexical_cast<std::string>(i);
|
std::stringstream ss;
|
||||||
}
|
ss << i;
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Internal function for converting from a string to a value
|
* Internal function for converting from a string to a value
|
||||||
* uses ostream operator >> to perform the conversion
|
* uses ostream operator >> to perform the conversion
|
||||||
*/
|
*/
|
||||||
template<typename Input>
|
template<typename Input>
|
||||||
Input parse_string(const std::string &i)
|
Input parse_string(const std::string &i)
|
||||||
{
|
{
|
||||||
return boost::lexical_cast<Input>(i);
|
std::stringstream ss(i);
|
||||||
}
|
Input t;
|
||||||
|
ss >> t;
|
||||||
|
return t;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add all common functions for a POD type. All operators, and
|
* Add all common functions for a POD type. All operators, and
|
||||||
* common conversions
|
* common conversions
|
||||||
|
@ -12,8 +12,6 @@
|
|||||||
#include <map>
|
#include <map>
|
||||||
#include <set>
|
#include <set>
|
||||||
#include <boost/shared_ptr.hpp>
|
#include <boost/shared_ptr.hpp>
|
||||||
#include <boost/lexical_cast.hpp>
|
|
||||||
#include <boost/tuple/tuple.hpp>
|
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
@ -21,7 +21,6 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <boost/function.hpp>
|
#include <boost/function.hpp>
|
||||||
#include <boost/bind.hpp>
|
#include <boost/bind.hpp>
|
||||||
#include <boost/lexical_cast.hpp>
|
|
||||||
|
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
@ -141,7 +141,9 @@ int main(int /*argc*/, char * /*argv*/[]) {
|
|||||||
//Creating a functor on the stack and using it immediatly
|
//Creating a functor on the stack and using it immediatly
|
||||||
int x = chai.eval<boost::function<int (int, int)> >("fun (x, y) { return x + y; }")(5, 6);
|
int x = chai.eval<boost::function<int (int, int)> >("fun (x, y) { return x + y; }")(5, 6);
|
||||||
|
|
||||||
log("Functor test output", boost::lexical_cast<std::string>(x));
|
std::stringstream ss;
|
||||||
|
ss << x;
|
||||||
|
log("Functor test output", ss.str());
|
||||||
|
|
||||||
chai.add(var(boost::shared_ptr<int>()), "nullvar");
|
chai.add(var(boost::shared_ptr<int>()), "nullvar");
|
||||||
chai("print(\"This should be true.\"); print(nullvar.is_var_null())");
|
chai("print(\"This should be true.\"); print(nullvar.is_var_null())");
|
||||||
|
@ -14,8 +14,10 @@
|
|||||||
void do_work(chaiscript::ChaiScript &c)
|
void do_work(chaiscript::ChaiScript &c)
|
||||||
{
|
{
|
||||||
// c("use(\"work.chai\"); do_chai_work(num_iterations);");
|
// c("use(\"work.chai\"); do_chai_work(num_iterations);");
|
||||||
std::string name = "MyVar" + boost::lexical_cast<std::string>(rand());
|
|
||||||
c.add(chaiscript::var(5), name);
|
std::stringstream ss;
|
||||||
|
ss << "MyVar" << rand();
|
||||||
|
c.add(chaiscript::var(5), ss.str());
|
||||||
c("use(\"work.chai\"); do_chai_work(10000);");
|
c("use(\"work.chai\"); do_chai_work(10000);");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user