minor enum_ improvement (use __repr__ instead of __str__)

This commit is contained in:
Wenzel Jakob 2015-10-13 02:42:20 +02:00
parent bcd3182f3d
commit 8456a4dca2

View File

@ -813,7 +813,7 @@ public:
enum_(object &scope, const char *name, const char *doc = nullptr) enum_(object &scope, const char *name, const char *doc = nullptr)
: class_<Type>(scope, name, doc), m_parent(scope) { : class_<Type>(scope, name, doc), m_parent(scope) {
auto entries = new std::unordered_map<int, const char *>(); auto entries = new std::unordered_map<int, const char *>();
this->def("__str__", [name, entries](Type value) -> std::string { this->def("__repr__", [name, entries](Type value) -> std::string {
auto it = entries->find((int) value); auto it = entries->find((int) value);
return std::string(name) + "." + return std::string(name) + "." +
((it == entries->end()) ? std::string("???") ((it == entries->end()) ? std::string("???")