Is it possible to call repr from C++ on a C++ object that can be converted to
python? Let me explain.
I have an enum that I converted to python using boost::python::enum_(). That
class already provides a good repr() to python (thanks to the boost::python
developers for that). However that enum is used as a type on a member in
another C++ class that I have where boost::python does not provide a good
repr(). So I'm trying to provide one and thought, it sure would be nice if I
could just call repr() on the member. I assume I have to convert the value on
that member to python first, some kind of way then call repr? Is that
possible? Or is there a better way?
Example:
Typedef enum
{
V1 = 0,
V2 = 5,
V3 = 6
} values;
Class ValueExample
{
Public:
ValueExample(const values& v) {m_value = v};
Values getValue() const { return m_value };
Private:
Values m_value;
}
Std::string
ValueExampleRepr(const ValueExample& object)
{
Std::stringstream ss;
// What do I put here?
// Ss << repr(object.getValue());
Return ss::str();
}
Boost::python::enum_<values> values("values");
Values.value("V1", V1);
Values.value("V2", V2);
Values.value("V3", V3);
Boost::python::class_<ValueExample> ValueExample("ValueExample");
ValueExample("__repr__", ValueExampleRepr);
_______________________________________________
Cplusplus-sig mailing list
[email protected]
https://mail.python.org/mailman/listinfo/cplusplus-sig