Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
ObjectsSet.h
Go to the documentation of this file.
1
6#pragma once
7
8#include <alib/set>
9#include <core/xmlApi.hpp>
10
11namespace core {
12
13template < typename T >
14struct xmlApi < ext::set < T > > {
16 static bool first ( const ext::deque < sax::Token >::const_iterator & input );
17 static std::string xmlTagName ( );
18 static void compose ( ext::deque < sax::Token > & output, const ext::set < T > & input );
19};
20
21template < typename T >
24
26
28 set.insert ( core::xmlApi < T >::parse ( input ) );
29
31 return set;
32}
33
34template < typename T >
37}
38
39template < typename T >
40std::string xmlApi < ext::set < T > >::xmlTagName ( ) {
41 return "Set";
42}
43
44template < typename T >
45void xmlApi < ext::set < T > >::compose ( ext::deque < sax::Token > & output, const ext::set < T > & input ) {
46 output.emplace_back ( xmlTagName ( ), sax::Token::TokenType::START_ELEMENT );
47
48 for ( const T & item : input )
49 core::xmlApi < T >::compose ( output, item );
50
51 output.emplace_back ( xmlTagName ( ), sax::Token::TokenType::END_ELEMENT );
52}
53
54} /* namespace core */
55
Class extending the deque class from the standard library. Original reason is to allow printing of th...
Definition: deque.hpp:44
Definition: set.hpp:44
static void popToken(ext::deque< Token >::iterator &input, Token::TokenType type, const std::string &data)
Definition: FromXMLParserHelper.cpp:39
static bool isToken(ext::deque< Token >::const_iterator input, Token::TokenType type, const std::string &data)
Definition: FromXMLParserHelper.cpp:29
static bool isTokenType(ext::deque< Token >::const_iterator input, Token::TokenType type)
Definition: FromXMLParserHelper.cpp:34
Definition: normalize.hpp:10
Definition: sigHandler.cpp:20
Definition: xmlApi.hpp:27