Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Concepts
LinearString.h
Go to the documentation of this file.
1
6#pragma once
7
8#include <string/LinearString.h>
9#include <core/xmlApi.hpp>
10
13
14namespace core {
15
16template < typename SymbolType >
17struct xmlApi < string::LinearString < SymbolType > > {
19 static bool first ( const ext::deque < sax::Token >::const_iterator & input );
20 static std::string xmlTagName ( );
21 static void compose ( ext::deque < sax::Token > & output, const string::LinearString < SymbolType > & input );
22};
23
24template < typename SymbolType >
27 ext::set<SymbolType> alphabet = string::StringFromXmlParserCommon::parseAlphabet < SymbolType > ( input );
28 ext::vector<SymbolType> content = string::StringFromXmlParserCommon::parseContent < SymbolType > ( input );
30 return string::LinearString < SymbolType > ( std::move ( alphabet ), std::move ( content ) );
31}
32
33template < typename SymbolType >
36}
37
38template < typename SymbolType >
39std::string xmlApi < string::LinearString < SymbolType > >::xmlTagName ( ) {
40 return "LinearString";
41}
42
43template < typename SymbolType >
45 output.emplace_back ( xmlTagName ( ), sax::Token::TokenType::START_ELEMENT );
48 output.emplace_back ( xmlTagName ( ), sax::Token::TokenType::END_ELEMENT );
49}
50
51} /* namespace core */
52
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
Class extending the vector class from the standard library. Original reason is to allow printing of t...
Definition: vector.hpp:45
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
Linear string.
Definition: LinearString.h:57
const ext::set< SymbolType > & getAlphabet() const &
Definition: LinearString.h:103
const ext::vector< SymbolType > & getContent() const &
Definition: LinearString.h:238
static void composeContent(ext::deque< sax::Token > &out, const ext::vector< SymbolType > &content)
Definition: StringToXmlComposerCommon.h:40
static void composeAlphabet(ext::deque< sax::Token > &out, const ext::set< SymbolType > &alphabet)
Definition: StringToXmlComposerCommon.h:30
Definition: BarSymbol.cpp:12
Definition: normalize.hpp:10
Definition: RandomStringFactory.cpp:12
Definition: xmlApi.hpp:27