From 4f28d84de76c9e84bdd749cfd7df4321f319da5e Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Wed, 20 Jul 2016 22:59:51 +0200 Subject: [PATCH] casting of new tree structures to linear string --- alib2data/src/string/LinearString.cpp | 12 +++++++++++- alib2data/src/string/LinearString.h | 4 ++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/alib2data/src/string/LinearString.cpp b/alib2data/src/string/LinearString.cpp index 785d32b2ae..5b5fbc2e5d 100644 --- a/alib2data/src/string/LinearString.cpp +++ b/alib2data/src/string/LinearString.cpp @@ -9,8 +9,10 @@ #include "Epsilon.h" #include "../tree/ranked/PrefixRankedTree.h" #include "../tree/ranked/PrefixRankedPattern.h" +#include "../tree/ranked/PrefixRankedNonlinearPattern.h" #include "../tree/ranked/PrefixRankedBarTree.h" #include "../tree/ranked/PrefixRankedBarPattern.h" +#include "../tree/ranked/PrefixRankedBarNonlinearPattern.h" #include "../tree/unranked/PrefixBarTree.h" #include "../tree/common/TreeAuxiliary.h" #include <exception/CommonException.h> @@ -54,12 +56,18 @@ LinearString::LinearString ( const tree::PrefixRankedTree & tree ) : LinearStrin LinearString::LinearString ( const tree::PrefixRankedPattern & tree ) : LinearString ( StringAuxiliary::wrapSymbols ( tree.getAlphabet ( ) ), StringAuxiliary::wrapSymbols ( tree.getContent ( ) ) ) { } +LinearString::LinearString ( const tree::PrefixRankedNonlinearPattern & tree ) : LinearString ( StringAuxiliary::wrapSymbols ( tree.getAlphabet ( ) ), StringAuxiliary::wrapSymbols ( tree.getContent ( ) ) ) { +} + LinearString::LinearString ( const tree::PrefixRankedBarTree & tree ) : LinearString ( StringAuxiliary::wrapSymbols ( tree.getAlphabet ( ) ), StringAuxiliary::wrapSymbols ( tree.getContent ( ) ) ) { } LinearString::LinearString ( const tree::PrefixRankedBarPattern & tree ) : LinearString ( StringAuxiliary::wrapSymbols ( tree.getAlphabet ( ) ), StringAuxiliary::wrapSymbols ( tree.getContent ( ) ) ) { } +LinearString::LinearString ( const tree::PrefixRankedBarNonlinearPattern & tree ) : LinearString ( StringAuxiliary::wrapSymbols ( tree.getAlphabet ( ) ), StringAuxiliary::wrapSymbols ( tree.getContent ( ) ) ) { +} + LinearString::LinearString ( const tree::PrefixBarTree & tree ) : LinearString ( tree.getAlphabet ( ), tree.getContent ( ) ) { } @@ -166,13 +174,15 @@ void ::string::LinearString::Component < ::string::LinearString, alphabet::Symbo namespace alib { auto linearStringParserRegister = xmlApi < string::String >::ParserRegister < string::LinearString > (); -auto linearStringParserRegister2 = xmlApi < alib::Object >::ParserRegister < string::LinearString > (); +auto linearStringParserRegister2 = xmlApi < alib::Object >::ParserRegister < string::LinearString > (); auto LinearStringFromEpsilon = castApi::CastRegister < string::LinearString, string::Epsilon > ( ); auto LinearStringFromPrefixRankedTree = castApi::CastRegister < string::LinearString, tree::PrefixRankedTree > ( ); auto LinearStringFromPrefixRankedPattern = castApi::CastRegister < string::LinearString, tree::PrefixRankedPattern > ( ); +auto LinearStringFromPrefixRankedNonlinearPattern = castApi::CastRegister < string::LinearString, tree::PrefixRankedNonlinearPattern > ( ); auto LinearStringFromPrefixRankedBarTree = castApi::CastRegister < string::LinearString, tree::PrefixRankedBarTree > ( ); auto LinearStringFromPrefixRankedBarPattern = castApi::CastRegister < string::LinearString, tree::PrefixRankedBarPattern > ( ); +auto LinearStringFromPrefixRankedBarNonlinearPattern = castApi::CastRegister < string::LinearString, tree::PrefixRankedBarNonlinearPattern > ( ); auto LinearStringFromPrefixBarTree = castApi::CastRegister < string::LinearString, tree::PrefixBarTree > ( ); auto LinearStringCastBinder = castApi::CastPoolStringBinder < string::LinearString > ( string::LinearString::getXmlTagName() ); diff --git a/alib2data/src/string/LinearString.h b/alib2data/src/string/LinearString.h index e3d4cdfb0b..13bd6c5d09 100644 --- a/alib2data/src/string/LinearString.h +++ b/alib2data/src/string/LinearString.h @@ -19,8 +19,10 @@ namespace tree { class PrefixRankedTree; class PrefixRankedPattern; +class PrefixRankedNonlinearPattern; class PrefixRankedBarTree; class PrefixRankedBarPattern; +class PrefixRankedBarNonlinearPattern; class PrefixBarTree; } @@ -41,8 +43,10 @@ public: explicit LinearString ( ); explicit LinearString ( const tree::PrefixRankedTree & tree ); explicit LinearString ( const tree::PrefixRankedPattern & tree ); + explicit LinearString ( const tree::PrefixRankedNonlinearPattern & tree ); explicit LinearString ( const tree::PrefixRankedBarTree & tree ); explicit LinearString ( const tree::PrefixRankedBarPattern & tree ); + explicit LinearString ( const tree::PrefixRankedBarNonlinearPattern & tree ); explicit LinearString ( const tree::PrefixBarTree & tree ); explicit LinearString ( std::set < alphabet::Symbol > alphabet, std::vector < alphabet::Symbol > data ); explicit LinearString ( std::vector < alphabet::Symbol > data ); -- GitLab