/* * StringApi.cpp * * Created on: Apr 1, 2013 * Author: Jan Travnicek */ #include "StringApi.hpp" #include "exception/AlibException.h" namespace alib { const label::LabelFromStringParser FromStringParsers::labelParser; const alphabet::SymbolFromStringParser FromStringParsers::symbolParser; const regexp::RegExpFromStringParser FromStringParsers::regexpParser; const string::StringFromStringParser FromStringParsers::stringParser; const automaton::AutomatonFromStringParser FromStringParsers::automatonParser; const grammar::GrammarFromStringParser FromStringParsers::grammarParser; const graph::GraphFromStringParser FromStringParsers::graphParser; const primitive::PrimitiveFromStringParser FromStringParsers::primitiveParser; const tree::TreeFromStringParser FromStringParsers::treeParser; alphabet::Symbol stringApi < alphabet::Symbol >::parse ( std::istream & input ) { return FromStringParsers::symbolParser.parseSymbol ( input ); } void stringApi < alphabet::Symbol >::compose ( std::ostream & output, const alphabet::Symbol & data ) { return alphabet::SymbolToStringComposer::compose ( output, data ); } automaton::Automaton stringApi < automaton::Automaton >::parse ( std::istream & input ) { return FromStringParsers::automatonParser.parseAutomaton ( input ); } void stringApi < automaton::Automaton >::compose ( std::ostream & output, const automaton::Automaton & data ) { return automaton::AutomatonToStringComposer::compose ( output, data ); } grammar::Grammar stringApi < grammar::Grammar >::parse ( std::istream & input ) { return FromStringParsers::grammarParser.parseGrammar ( input ); } void stringApi < grammar::Grammar >::compose ( std::ostream & output, const grammar::Grammar & data ) { return grammar::GrammarToStringComposer::compose ( output, data ); } graph::Graph stringApi < graph::Graph >::parse ( std::istream & input ) { return FromStringParsers::graphParser.parseGraph ( input ); } void stringApi < graph::Graph >::compose ( std::ostream & output, const graph::Graph & data ) { return graph::GraphToStringComposer::compose ( output, data ); } label::Label stringApi < label::Label >::parse ( std::istream & input ) { return FromStringParsers::labelParser.parseLabel ( input ); } void stringApi < label::Label >::compose ( std::ostream & output, const label::Label & data ) { return label::LabelToStringComposer::compose ( output, data ); } regexp::RegExp stringApi < regexp::RegExp >::parse ( std::istream & input ) { return FromStringParsers::regexpParser.parseRegExp ( input ); } void stringApi < regexp::RegExp >::compose ( std::ostream & output, const regexp::RegExp & data ) { return regexp::RegExpToStringComposer::compose ( output, data ); } string::String stringApi < string::String >::parse ( std::istream & input ) { return FromStringParsers::stringParser.parseString ( input ); } void stringApi < string::String >::compose ( std::ostream & output, const string::String & data ) { return string::StringToStringComposer::compose ( output, data ); } primitive::Primitive stringApi < primitive::Primitive >::parse ( std::istream & input ) { return FromStringParsers::primitiveParser.parsePrimitive ( input ); } void stringApi < primitive::Primitive >::compose ( std::ostream & output, const primitive::Primitive & data ) { return primitive::PrimitiveToStringComposer::compose ( output, data ); } tree::Tree stringApi < tree::Tree >::parse ( std::istream & input ) { return FromStringParsers::treeParser.parseTree ( input ); } void stringApi < tree::Tree >::compose ( std::ostream & output, const tree::Tree & data ) { return tree::TreeToStringComposer::compose ( output, data ); } } /* namespace alib */