Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
WildcardLinearString.h
Go to the documentation of this file.
1
6#pragma once
7
9#include <core/xmlApi.hpp>
10
13
14namespace core {
15
16template < typename SymbolType >
17struct xmlApi < string::WildcardLinearString < 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::WildcardLinearString < 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 );
29 SymbolType wildcard = string::StringFromXmlParserCommon::parseWildcard < SymbolType > ( input );
31 return string::WildcardLinearString < SymbolType > ( std::move ( alphabet ), std::move ( content ), std::move ( wildcard ) );
32}
33
34template < typename SymbolType >
37}
38
39template < typename SymbolType >
41 return "WildcardLinearString";
42}
43
44template < typename SymbolType >
46 output.emplace_back ( xmlTagName ( ), sax::Token::TokenType::START_ELEMENT );
50 output.emplace_back ( xmlTagName ( ), sax::Token::TokenType::END_ELEMENT );
51}
52
53} /* namespace core */
54
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
static void composeContent(ext::deque< sax::Token > &out, const ext::vector< SymbolType > &content)
Definition: StringToXmlComposerCommon.h:40
static void composeWildcard(ext::deque< sax::Token > &out, const SymbolType &wildcard)
Definition: StringToXmlComposerCommon.h:50
static void composeAlphabet(ext::deque< sax::Token > &out, const ext::set< SymbolType > &alphabet)
Definition: StringToXmlComposerCommon.h:30
Linear wildcard string.
Definition: WildcardLinearString.h:44
const ext::vector< SymbolType > & getContent() const &
Definition: WildcardLinearString.h:279
const SymbolType & getWildcardSymbol() const &
Definition: WildcardLinearString.h:139
const ext::set< SymbolType > & getAlphabet() const &
Definition: WildcardLinearString.h:112
Definition: BarSymbol.cpp:12
typename T::SymbolType SymbolType
Definition: ReachableStates.h:176
Definition: normalize.hpp:10
Definition: RandomStringFactory.cpp:12
Definition: xmlApi.hpp:27