Error de analizador SWIG

Tengo el siguiente archivo de encabezado.

#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

Cuando lo trago, me da un error

Error: Syntax error in input(3). en la línea 20 apuntando a la línea

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

El idioma de destino es Java

¿Como puedo solucionar este problema? Solo quiero crear un contenedor para la estructura Msg y para nada más en el encabezado. Como esto parece un error del analizador Swig, el uso de la directiva% ignore no parece funcionar.

Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta