You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

40 lines
887 B

/*
* helpers.h
*
* Created on: 16 Apr 2016
* Author: harold
*/
#ifndef PYTHON_HELPERS_H_
#define PYTHON_HELPERS_H_
#include <sstream>
#include <string>
/**
* Helper function to get a string out of the stream operator.
* Used for __str__ functions.
*/
template<typename T>
std::string streamToString(T const& t) {
std::stringstream ss;
ss << t;
return ss.str();
}
template<typename T>
std::string containerToString(T& t) {
// is there a way to make ^this const&?
// I guess not all containers have const iterators
std::stringstream ss;
for (auto const& e : t) {
ss << e << ", ";
}
return ss.str();
}
// Be warned: Enabling something like this will break everything about Monomial,
// as to Python the shared_ptr (Arg) IS the Monomial
// //PYBIND11_DECLARE_HOLDER_TYPE(T, std::shared_ptr<T>);
#endif /* PYTHON_HELPERS_H_ */