From 9edd84946da5c4d710689ccad8f4a95c62090395 Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Fri, 1 Dec 2017 08:11:31 +0100 Subject: [PATCH] tiny improvement in xml api --- alib2xml/src/common/xml/AlgorithmCategories.cpp | 6 ++++-- alib2xml/src/common/xml/AlgorithmCategories.hpp | 2 +- alib2xml/src/common/xml/ParamQualifiers.cpp | 6 ++++-- alib2xml/src/common/xml/ParamQualifiers.hpp | 2 +- alib2xml/src/container/xml/ObjectsVariant.h | 6 +++--- 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/alib2xml/src/common/xml/AlgorithmCategories.cpp b/alib2xml/src/common/xml/AlgorithmCategories.cpp index 2c61564019..5e35582629 100644 --- a/alib2xml/src/common/xml/AlgorithmCategories.cpp +++ b/alib2xml/src/common/xml/AlgorithmCategories.cpp @@ -16,8 +16,10 @@ bool xmlApi < abstraction::AlgorithmCategories::AlgorithmCategory >::first ( con return sax::FromXMLParserHelper::isToken(input, sax::Token::TokenType::START_ELEMENT, xmlTagName ( ) ); } -std::string xmlApi < abstraction::AlgorithmCategories::AlgorithmCategory >::xmlTagName ( ) { - return "AlgorithmCategory"; +const std::string & xmlApi < abstraction::AlgorithmCategories::AlgorithmCategory >::xmlTagName ( ) { + static std::string xmlTagName = "AlgorithmCategory"; + + return xmlTagName; } void xmlApi < abstraction::AlgorithmCategories::AlgorithmCategory >::compose ( ext::deque < sax::Token > & out, abstraction::AlgorithmCategories::AlgorithmCategory category ) { diff --git a/alib2xml/src/common/xml/AlgorithmCategories.hpp b/alib2xml/src/common/xml/AlgorithmCategories.hpp index 977a7c70cc..7e5a963526 100644 --- a/alib2xml/src/common/xml/AlgorithmCategories.hpp +++ b/alib2xml/src/common/xml/AlgorithmCategories.hpp @@ -10,7 +10,7 @@ template < > struct xmlApi < abstraction::AlgorithmCategories::AlgorithmCategory > { static abstraction::AlgorithmCategories::AlgorithmCategory parse ( ext::deque < sax::Token >::iterator & input ); static bool first ( const ext::deque < sax::Token >::const_iterator & input ); - static std::string xmlTagName ( ); + static const std::string & xmlTagName ( ); static void compose ( ext::deque < sax::Token > & output, abstraction::AlgorithmCategories::AlgorithmCategory category ); }; diff --git a/alib2xml/src/common/xml/ParamQualifiers.cpp b/alib2xml/src/common/xml/ParamQualifiers.cpp index 7f98f132da..9b9abb699e 100644 --- a/alib2xml/src/common/xml/ParamQualifiers.cpp +++ b/alib2xml/src/common/xml/ParamQualifiers.cpp @@ -25,8 +25,10 @@ bool xmlApi < abstraction::ParamQualifiers::ParamQualifier >::first ( const ext: return sax::FromXMLParserHelper::isToken(input, sax::Token::TokenType::START_ELEMENT, xmlTagName ( ) ); } -std::string xmlApi < abstraction::ParamQualifiers::ParamQualifier >::xmlTagName ( ) { - return "ParamQualifier"; +const std::string & xmlApi < abstraction::ParamQualifiers::ParamQualifier >::xmlTagName ( ) { + static std::string xmlTagName = "ParamQualifier"; + + return xmlTagName; } void xmlApi < abstraction::ParamQualifiers::ParamQualifier >::compose ( ext::deque < sax::Token > & out, abstraction::ParamQualifiers::ParamQualifier paramQualifier ) { diff --git a/alib2xml/src/common/xml/ParamQualifiers.hpp b/alib2xml/src/common/xml/ParamQualifiers.hpp index 16416ae02a..88047d619a 100644 --- a/alib2xml/src/common/xml/ParamQualifiers.hpp +++ b/alib2xml/src/common/xml/ParamQualifiers.hpp @@ -10,7 +10,7 @@ template < > struct xmlApi < abstraction::ParamQualifiers::ParamQualifier > { static abstraction::ParamQualifiers::ParamQualifier parse ( ext::deque < sax::Token >::iterator & input ); static bool first ( const ext::deque < sax::Token >::const_iterator & input ); - static std::string xmlTagName ( ); + static const std::string & xmlTagName ( ); static void compose ( ext::deque < sax::Token > & output, abstraction::ParamQualifiers::ParamQualifier ); }; diff --git a/alib2xml/src/container/xml/ObjectsVariant.h b/alib2xml/src/container/xml/ObjectsVariant.h index cee05d7ffe..835dc4fd27 100644 --- a/alib2xml/src/container/xml/ObjectsVariant.h +++ b/alib2xml/src/container/xml/ObjectsVariant.h @@ -74,7 +74,7 @@ template < typename ... Ts > struct xmlApi < ext::variant < Ts ... > > { static ext::variant < Ts ... > parse ( ext::deque < sax::Token >::iterator & input ); static bool first ( const ext::deque < sax::Token >::const_iterator & input ); - static std::string xmlTagName ( ); + static const std::string & xmlTagName ( ); static void compose ( ext::deque < sax::Token > & output, const ext::variant < Ts ... > & data ); }; @@ -89,8 +89,8 @@ bool xmlApi < ext::variant < Ts ... > >::first ( const ext::deque < sax::Token > } template < typename ... Ts > -std::string xmlApi < ext::variant < Ts ... > >::xmlTagName ( ) { - throw ::exception::CommonException ( "Variant does not have xmlTagName." ); +const std::string & xmlApi < ext::variant < Ts ... > >::xmlTagName ( ) { + throw exception::CommonException ( "Variant does not have xmlTagName." ); } template < typename ... Ts > -- GitLab