%module naturalvar_more // The instantiation of a template using an enum in the template parameter was not picking up %naturalvar. // These typemaps will be used if %naturalvar is not working %typemap(out) T<Space::E> *te, T<Space::E> *const_te "_should_not_use_this_out_typemap_" %typemap(varout) T<Space::E> *te, T<Space::E> *const_te "_should_not_use_this_varout_typemap_" %typemap(out) Hidden *hidden "_should_not_use_this_out_typemap_" %typemap(varout) Hidden *hidden "_should_not_use_this_varout_typemap_" %naturalvar T<Space::E>; %naturalvar Hidden; %inline %{ template <typename X> struct T {}; struct K {}; struct Hidden; namespace Ace { int glob; } %} %{ struct Hidden {}; namespace Ace { template<typename> struct NoIdea {}; } %} %inline %{ namespace Space { enum E { E1, E2, E3 }; } %} %template(TE) T<Space::E>; %include <std_string.i> %include <std_vector.i> %template(VectorString) std::vector<std::string>; %inline { using namespace Space; struct S { T<E> te; const T<E> const_te; const std::vector<std::string>::value_type const_string_member; // check this resolves to std::string which has a naturalvar std::vector<std::string>::value_type string_member; // check this resolves to std::string which has a naturalvar Hidden hidden; Ace::NoIdea<Hidden> noidea; S() : const_te(), const_string_member("initial string value") {} }; }
Generated by dwww version 1.15 on Tue Jul 2 00:27:35 CEST 2024.