From c286f77f97a3c2711907f81516160f917204dac0 Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Thu, 13 Jul 2017 11:07:07 +0200 Subject: [PATCH] add binding for to string composing DFA --- alib2str/src/automaton/AutomatonToStringComposer.cpp | 8 ++++++++ alib2str/src/automaton/AutomatonToStringComposer.h | 2 ++ 2 files changed, 10 insertions(+) diff --git a/alib2str/src/automaton/AutomatonToStringComposer.cpp b/alib2str/src/automaton/AutomatonToStringComposer.cpp index ed609149b9..5d6750640f 100644 --- a/alib2str/src/automaton/AutomatonToStringComposer.cpp +++ b/alib2str/src/automaton/AutomatonToStringComposer.cpp @@ -40,7 +40,15 @@ void AutomatonToStringComposer::compose(std::ostream& out, const DFA < SymbolTyp } } +template < class SymbolType, class StateType > +std::string AutomatonToStringComposer::compose ( const DFA < SymbolType, StateType > & automaton ) { + std::stringstream ss; + compose ( ss, automaton ); + return ss.str ( ); +} + auto AutomatonToStringComposerDFA = registration::OverloadRegister < AutomatonToStringComposer, void, DFA < > >(AutomatonToStringComposer::compose); +auto AutomatonToStringComposerDFA2 = registration::AbstractRegister < AutomatonToStringComposer, std::string, const DFA < > & > ( AutomatonToStringComposer::compose ); auto ObjectToStringComposerDFA = registration::OverloadRegister < alib::ObjectBaseDispatcher, void, DFA < > >( AutomatonToStringComposer::compose); template < class SymbolType, class StateType > diff --git a/alib2str/src/automaton/AutomatonToStringComposer.h b/alib2str/src/automaton/AutomatonToStringComposer.h index cbcd4582a7..3c949f8012 100644 --- a/alib2str/src/automaton/AutomatonToStringComposer.h +++ b/alib2str/src/automaton/AutomatonToStringComposer.h @@ -40,6 +40,8 @@ public: template < class SymbolType, class StateType > static void compose(std::ostream& output, const DFA < SymbolType, StateType > & automaton); template < class SymbolType, class StateType > + static std::string compose(const DFA < SymbolType, StateType > & automaton); + template < class SymbolType, class StateType > static void compose(std::ostream& output, const NFA < SymbolType, StateType > & automaton); template < class SymbolType, class StateType > static void compose(std::ostream& output, const MultiInitialStateNFA < SymbolType, StateType > & automaton); -- GitLab