From 48577a238f482d60c20e2ff88b0adedd662b7e09 Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Wed, 4 Jan 2017 21:48:50 +0100 Subject: [PATCH] callbacks for forgotten labels in toStringComposer --- alib2data/src/label/LabelFeatures.h | 3 +++ alib2str/src/label/LabelToStringComposer.cpp | 24 ++++++++++++++++++++ alib2str/src/label/LabelToStringComposer.h | 3 +++ 3 files changed, 30 insertions(+) diff --git a/alib2data/src/label/LabelFeatures.h b/alib2data/src/label/LabelFeatures.h index 33eb238f44..5d34b49012 100644 --- a/alib2data/src/label/LabelFeatures.h +++ b/alib2data/src/label/LabelFeatures.h @@ -28,6 +28,9 @@ class ObjectLabel; class LabelSetLabel; class LabelPairLabel; class UniqueLabel; +class InitialStateLabel; +class FailStateLabel; +class FinalStateLabel; } /* namespace label */ diff --git a/alib2str/src/label/LabelToStringComposer.cpp b/alib2str/src/label/LabelToStringComposer.cpp index 55d9098909..5361f9c50b 100644 --- a/alib2str/src/label/LabelToStringComposer.cpp +++ b/alib2str/src/label/LabelToStringComposer.cpp @@ -14,6 +14,9 @@ #include "label/LabelSetLabel.h" #include "label/LabelPairLabel.h" #include "label/UniqueLabel.h" +#include "label/InitialStateLabel.h" +#include "label/FinalStateLabel.h" +#include "label/FailStateLabel.h" #include "../StringApi.hpp" @@ -78,6 +81,27 @@ void LabelToStringComposer::compose(std::ostream& out, const UniqueLabel& label) auto LabelToStringComposerUniqueLabel = LabelToStringComposer::RegistratorWrapper<void, UniqueLabel>(LabelToStringComposer::compose); auto ObjectToStringComposerUniqueLabel = alib::ObjectBaseDispatcher::RegistratorWrapper<void, UniqueLabel >( LabelToStringComposer::compose); +void LabelToStringComposer::compose(std::ostream& out, const FailStateLabel& label) { + out << (std::string) label; +} + +auto LabelToStringComposerFailStateLabel = LabelToStringComposer::RegistratorWrapper<void, FailStateLabel>(LabelToStringComposer::compose); +auto ObjectToStringComposerFailStateLabel = alib::ObjectBaseDispatcher::RegistratorWrapper<void, FailStateLabel >( LabelToStringComposer::compose); + +void LabelToStringComposer::compose(std::ostream& out, const InitialStateLabel& label) { + out << (std::string) label; +} + +auto LabelToStringComposerInitialStateLabel = LabelToStringComposer::RegistratorWrapper<void, InitialStateLabel>(LabelToStringComposer::compose); +auto ObjectToStringComposerInitialStateLabel = alib::ObjectBaseDispatcher::RegistratorWrapper<void, InitialStateLabel >( LabelToStringComposer::compose); + +void LabelToStringComposer::compose(std::ostream& out, const FinalStateLabel& label) { + out << (std::string) label; +} + +auto LabelToStringComposerFinalStateLabel = LabelToStringComposer::RegistratorWrapper<void, FinalStateLabel>(LabelToStringComposer::compose); +auto ObjectToStringComposerFinalStateLabel = alib::ObjectBaseDispatcher::RegistratorWrapper<void, FinalStateLabel >( LabelToStringComposer::compose); + void LabelToStringComposer::compose(std::ostream& output, const Label& label) { dispatch(output, label.getData()); } diff --git a/alib2str/src/label/LabelToStringComposer.h b/alib2str/src/label/LabelToStringComposer.h index 4c716501b6..5decc9e98a 100644 --- a/alib2str/src/label/LabelToStringComposer.h +++ b/alib2str/src/label/LabelToStringComposer.h @@ -26,6 +26,9 @@ public: static void compose(std::ostream&, const LabelSetLabel& label); static void compose(std::ostream&, const LabelPairLabel& label); static void compose(std::ostream&, const UniqueLabel& label); + static void compose(std::ostream&, const FailStateLabel& label); + static void compose(std::ostream&, const InitialStateLabel& label); + static void compose(std::ostream&, const FinalStateLabel& label); /** * Prints text representation of Label to the output stream. -- GitLab