From 6e06f84e704531fda00fa9b0d00096ec3617ebde Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Tue, 4 Apr 2017 17:01:12 +0200 Subject: [PATCH] fix parsing tuples --- alib2common/src/container/ObjectsTuple.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/alib2common/src/container/ObjectsTuple.h b/alib2common/src/container/ObjectsTuple.h index ef9289e1dc..7118b7a958 100644 --- a/alib2common/src/container/ObjectsTuple.h +++ b/alib2common/src/container/ObjectsTuple.h @@ -38,13 +38,17 @@ public: static void compose ( std::deque < sax::Token > & out, const std::tuple < Ts ... > & input ); }; + + template < typename ... Ts > std::tuple < Ts ... > ObjectsTuple::parseRaw ( std::deque < sax::Token >::iterator & input ) { sax::FromXMLParserHelper::popToken ( input, sax::Token::TokenType::START_ELEMENT, ObjectsTuple::getXmlTagName() ); - return std::tuple < Ts ... > { alib::xmlApi < Ts >::parse ( input ) ... }; // NOTE buggy in gcc < 4.9.1 + std::tuple < Ts ... > res { alib::xmlApi < Ts >::parse ( input ) ... }; // NOTE buggy in gcc < 4.9.1 sax::FromXMLParserHelper::popToken ( input, sax::Token::TokenType::END_ELEMENT, ObjectsTuple::getXmlTagName() ); + + return res; } template < class ... Ts, size_t ... I > -- GitLab