| %module template_ns_enum2 | |
| %inline %{ | |
| namespace hi | |
| { | |
| enum Hello { Hi, Hola }; | |
| template <Hello> | |
| struct traits | |
| { | |
| }; | |
| template <> | |
| struct traits<Hi> | |
| { | |
| typedef int value_type; | |
| }; | |
| template <> | |
| struct traits<Hola> | |
| { | |
| typedef double value_type; | |
| }; | |
| struct B | |
| { | |
| const traits<Hola>::value_type& | |
| evaluate(const traits<Hola>::value_type& e) const; | |
| }; | |
| const traits<Hola>::value_type& | |
| B::evaluate(const traits<Hola>::value_type& e) const { | |
| return e; | |
| } | |
| } | |
| %} |