Erro no analisador SWIG

Eu tenho o seguinte arquivo de cabeçalho.

#include <string>

namespace A {
namespace B {

    struct Msg {
        std::string id;
        std::string msg;

        Msg(std::string new_id, std::string new_msg)
        : id(new_id), msg(new_msg)
        {
        }
    };

    template<bool HAS_ID>
    class ID {
    public:
        template<typename TOBJ>
        auto get(TOBJ parent) -> decltype(parent.id()) {
            return parent.id();
        }
    };   
} // namespace B
} // namespace A

Quando eu giro, isso me dá um erro

Error: Syntax error in input(3). na linha 20 apontando para a linha

auto get(TOBJ parent) -> decltype(parent.id())

O idioma de destino é Java

Como posso resolver este problema? Eu só quero criar wrapper para struct Msg e nada mais no cabeçalho. Como isso parece um erro do analisador Swig, o uso da diretiva% ignore parece não funcionar.

Obrigado

questionAnswers(1)

yourAnswerToTheQuestion