Skip to content
Snippets Groups Projects
Commit f179e720 authored by Jan Trávníček's avatar Jan Trávníček
Browse files

casting within tree types

parent 40ad032e
No related branches found
No related tags found
No related merge requests found
...@@ -20,6 +20,10 @@ ...@@ -20,6 +20,10 @@
#include "../Tree.h" #include "../Tree.h"
#include "../../object/Object.h" #include "../../object/Object.h"
#include "../../XmlApi.hpp" #include "../../XmlApi.hpp"
#include "../../CastApi.hpp"
#include "../../alphabet/BarSymbol.h"
#include "../../alphabet/VariablesBarSymbol.h"
   
namespace tree { namespace tree {
   
...@@ -40,6 +44,9 @@ PrefixRankedBarPattern::PrefixRankedBarPattern ( alphabet::Symbol bar, alphabet: ...@@ -40,6 +44,9 @@ PrefixRankedBarPattern::PrefixRankedBarPattern ( alphabet::Symbol bar, alphabet:
alphabet = std::set < alphabet::RankedSymbol > ( m_Data.begin ( ), m_Data.end ( ) ); alphabet = std::set < alphabet::RankedSymbol > ( m_Data.begin ( ), m_Data.end ( ) );
} }
   
PrefixRankedBarPattern::PrefixRankedBarPattern ( const RankedPattern & tree ) : PrefixRankedBarPattern ( alphabet::Symbol ( alphabet::BarSymbol::BAR ), alphabet::Symbol ( alphabet::VariablesBarSymbol::BAR ), tree ) {
}
void PrefixRankedBarPattern::toPrefixRankedBar ( const RankedNode & node ) { void PrefixRankedBarPattern::toPrefixRankedBar ( const RankedNode & node ) {
if ( node.getSymbol ( ) == subtreeWildcard ) { if ( node.getSymbol ( ) == subtreeWildcard ) {
m_Data.push_back ( node.getSymbol ( ) ); m_Data.push_back ( node.getSymbol ( ) );
...@@ -197,4 +204,7 @@ namespace alib { ...@@ -197,4 +204,7 @@ namespace alib {
xmlApi < tree::Tree >::ParserRegister < tree::PrefixRankedBarPattern > prefixRankedBarPatternParserRegister = xmlApi < tree::Tree >::ParserRegister < tree::PrefixRankedBarPattern > ( tree::PrefixRankedBarPattern::XML_TAG_NAME, tree::PrefixRankedBarPattern::parse ); xmlApi < tree::Tree >::ParserRegister < tree::PrefixRankedBarPattern > prefixRankedBarPatternParserRegister = xmlApi < tree::Tree >::ParserRegister < tree::PrefixRankedBarPattern > ( tree::PrefixRankedBarPattern::XML_TAG_NAME, tree::PrefixRankedBarPattern::parse );
xmlApi < alib::Object >::ParserRegister < tree::PrefixRankedBarPattern > prefixRankedBarPatternParserRegister2 = xmlApi < alib::Object >::ParserRegister < tree::PrefixRankedBarPattern > ( tree::PrefixRankedBarPattern::XML_TAG_NAME, tree::PrefixRankedBarPattern::parse ); xmlApi < alib::Object >::ParserRegister < tree::PrefixRankedBarPattern > prefixRankedBarPatternParserRegister2 = xmlApi < alib::Object >::ParserRegister < tree::PrefixRankedBarPattern > ( tree::PrefixRankedBarPattern::XML_TAG_NAME, tree::PrefixRankedBarPattern::parse );
   
auto PrefixRankedBarPatternFromRankedPattern = castApi::CastRegister < tree::PrefixRankedBarPattern, tree::RankedPattern > ( );
auto PrefixRankedBarPatternCastBinder = castApi::CastPoolStringBinder < tree::PrefixRankedBarPattern > ( tree::PrefixRankedBarPattern::XML_TAG_NAME );
} /* namespace alib */ } /* namespace alib */
...@@ -34,6 +34,7 @@ public: ...@@ -34,6 +34,7 @@ public:
explicit PrefixRankedBarPattern ( alphabet::Symbol bar, alphabet::Symbol variablesBar, alphabet::RankedSymbol subtreeWildcard, std::set < alphabet::RankedSymbol > alphabet, std::vector < alphabet::RankedSymbol > data ); explicit PrefixRankedBarPattern ( alphabet::Symbol bar, alphabet::Symbol variablesBar, alphabet::RankedSymbol subtreeWildcard, std::set < alphabet::RankedSymbol > alphabet, std::vector < alphabet::RankedSymbol > data );
explicit PrefixRankedBarPattern ( alphabet::Symbol bar, alphabet::Symbol variablesBar, alphabet::RankedSymbol subtreeWildcard, std::vector < alphabet::RankedSymbol > data ); explicit PrefixRankedBarPattern ( alphabet::Symbol bar, alphabet::Symbol variablesBar, alphabet::RankedSymbol subtreeWildcard, std::vector < alphabet::RankedSymbol > data );
explicit PrefixRankedBarPattern ( alphabet::Symbol bar, alphabet::Symbol variablesBar, const RankedPattern & tree ); explicit PrefixRankedBarPattern ( alphabet::Symbol bar, alphabet::Symbol variablesBar, const RankedPattern & tree );
explicit PrefixRankedBarPattern ( const RankedPattern & tree );
   
void toPrefixRankedBar ( const RankedNode & node ); void toPrefixRankedBar ( const RankedNode & node );
   
......
...@@ -20,6 +20,9 @@ ...@@ -20,6 +20,9 @@
#include "../Tree.h" #include "../Tree.h"
#include "../../object/Object.h" #include "../../object/Object.h"
#include "../../XmlApi.hpp" #include "../../XmlApi.hpp"
#include "../../CastApi.hpp"
#include "../../alphabet/BarSymbol.h"
   
namespace tree { namespace tree {
   
...@@ -40,6 +43,9 @@ PrefixRankedBarTree::PrefixRankedBarTree ( alphabet::Symbol bar, const RankedTre ...@@ -40,6 +43,9 @@ PrefixRankedBarTree::PrefixRankedBarTree ( alphabet::Symbol bar, const RankedTre
alphabet = std::set < alphabet::RankedSymbol > ( m_Data.begin ( ), m_Data.end ( ) ); alphabet = std::set < alphabet::RankedSymbol > ( m_Data.begin ( ), m_Data.end ( ) );
} }
   
PrefixRankedBarTree::PrefixRankedBarTree ( const RankedTree & tree ) : PrefixRankedBarTree ( alphabet::Symbol ( alphabet::BarSymbol::BAR ), tree ) {
}
void PrefixRankedBarTree::toPrefixRankedBar ( const RankedNode & node ) { void PrefixRankedBarTree::toPrefixRankedBar ( const RankedNode & node ) {
m_Data.push_back ( node.getSymbol ( ) ); m_Data.push_back ( node.getSymbol ( ) );
   
...@@ -177,4 +183,7 @@ namespace alib { ...@@ -177,4 +183,7 @@ namespace alib {
xmlApi < tree::Tree >::ParserRegister < tree::PrefixRankedBarTree > prefixRankedBarTreeParserRegister = xmlApi < tree::Tree >::ParserRegister < tree::PrefixRankedBarTree > ( tree::PrefixRankedBarTree::XML_TAG_NAME, tree::PrefixRankedBarTree::parse ); xmlApi < tree::Tree >::ParserRegister < tree::PrefixRankedBarTree > prefixRankedBarTreeParserRegister = xmlApi < tree::Tree >::ParserRegister < tree::PrefixRankedBarTree > ( tree::PrefixRankedBarTree::XML_TAG_NAME, tree::PrefixRankedBarTree::parse );
xmlApi < alib::Object >::ParserRegister < tree::PrefixRankedBarTree > prefixRankedBarTreeParserRegister2 = xmlApi < alib::Object >::ParserRegister < tree::PrefixRankedBarTree > ( tree::PrefixRankedBarTree::XML_TAG_NAME, tree::PrefixRankedBarTree::parse ); xmlApi < alib::Object >::ParserRegister < tree::PrefixRankedBarTree > prefixRankedBarTreeParserRegister2 = xmlApi < alib::Object >::ParserRegister < tree::PrefixRankedBarTree > ( tree::PrefixRankedBarTree::XML_TAG_NAME, tree::PrefixRankedBarTree::parse );
   
auto PrefixRankedBarTreeFromRankedTree = castApi::CastRegister < tree::PrefixRankedBarTree, tree::RankedTree > ( );
auto PrefixRankedBarTreeCastBinder = castApi::CastPoolStringBinder < tree::PrefixRankedBarTree > ( tree::PrefixRankedBarTree::XML_TAG_NAME );
} /* namespace alib */ } /* namespace alib */
...@@ -33,6 +33,7 @@ public: ...@@ -33,6 +33,7 @@ public:
explicit PrefixRankedBarTree ( alphabet::Symbol bar, std::set < alphabet::RankedSymbol > alphabet, std::vector < alphabet::RankedSymbol > data ); explicit PrefixRankedBarTree ( alphabet::Symbol bar, std::set < alphabet::RankedSymbol > alphabet, std::vector < alphabet::RankedSymbol > data );
explicit PrefixRankedBarTree ( alphabet::Symbol bar, std::vector < alphabet::RankedSymbol > data ); explicit PrefixRankedBarTree ( alphabet::Symbol bar, std::vector < alphabet::RankedSymbol > data );
explicit PrefixRankedBarTree ( alphabet::Symbol bar, const RankedTree & tree ); explicit PrefixRankedBarTree ( alphabet::Symbol bar, const RankedTree & tree );
explicit PrefixRankedBarTree ( const RankedTree & tree );
   
void toPrefixRankedBar ( const RankedNode & node ); void toPrefixRankedBar ( const RankedNode & node );
   
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include "../Tree.h" #include "../Tree.h"
#include "../../object/Object.h" #include "../../object/Object.h"
#include "../../XmlApi.hpp" #include "../../XmlApi.hpp"
#include "../../CastApi.hpp"
   
namespace tree { namespace tree {
   
...@@ -168,4 +169,7 @@ namespace alib { ...@@ -168,4 +169,7 @@ namespace alib {
xmlApi < tree::Tree >::ParserRegister < tree::RankedPattern > rankedPatternParserRegister = xmlApi < tree::Tree >::ParserRegister < tree::RankedPattern > ( tree::RankedPattern::XML_TAG_NAME, tree::RankedPattern::parse ); xmlApi < tree::Tree >::ParserRegister < tree::RankedPattern > rankedPatternParserRegister = xmlApi < tree::Tree >::ParserRegister < tree::RankedPattern > ( tree::RankedPattern::XML_TAG_NAME, tree::RankedPattern::parse );
xmlApi < alib::Object >::ParserRegister < tree::RankedPattern > rankedPatternParserRegister2 = xmlApi < alib::Object >::ParserRegister < tree::RankedPattern > ( tree::RankedPattern::XML_TAG_NAME, tree::RankedPattern::parse ); xmlApi < alib::Object >::ParserRegister < tree::RankedPattern > rankedPatternParserRegister2 = xmlApi < alib::Object >::ParserRegister < tree::RankedPattern > ( tree::RankedPattern::XML_TAG_NAME, tree::RankedPattern::parse );
   
auto RankedPatternFromUnrankedPattern = castApi::CastRegister < tree::RankedPattern, tree::UnrankedPattern > ( );
auto RankedPatternCastBinder = castApi::CastPoolStringBinder < tree::RankedPattern > ( tree::RankedPattern::XML_TAG_NAME );
} /* namespace alib */ } /* namespace alib */
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include "../Tree.h" #include "../Tree.h"
#include "../../object/Object.h" #include "../../object/Object.h"
#include "../../XmlApi.hpp" #include "../../XmlApi.hpp"
#include "../../CastApi.hpp"
   
namespace tree { namespace tree {
   
...@@ -159,4 +160,7 @@ namespace alib { ...@@ -159,4 +160,7 @@ namespace alib {
xmlApi < tree::Tree >::ParserRegister < tree::RankedTree > rankedTreeParserRegister = xmlApi < tree::Tree >::ParserRegister < tree::RankedTree > ( tree::RankedTree::XML_TAG_NAME, tree::RankedTree::parse ); xmlApi < tree::Tree >::ParserRegister < tree::RankedTree > rankedTreeParserRegister = xmlApi < tree::Tree >::ParserRegister < tree::RankedTree > ( tree::RankedTree::XML_TAG_NAME, tree::RankedTree::parse );
xmlApi < alib::Object >::ParserRegister < tree::RankedTree > rankedTreeParserRegister2 = xmlApi < alib::Object >::ParserRegister < tree::RankedTree > ( tree::RankedTree::XML_TAG_NAME, tree::RankedTree::parse ); xmlApi < alib::Object >::ParserRegister < tree::RankedTree > rankedTreeParserRegister2 = xmlApi < alib::Object >::ParserRegister < tree::RankedTree > ( tree::RankedTree::XML_TAG_NAME, tree::RankedTree::parse );
   
auto RankedTreeFromUnrankedTree = castApi::CastRegister < tree::RankedTree, tree::UnrankedTree > ( );
auto RankedTreeCastBinder = castApi::CastPoolStringBinder < tree::RankedTree > ( tree::RankedTree::XML_TAG_NAME );
} /* namespace alib */ } /* namespace alib */
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include "../Tree.h" #include "../Tree.h"
#include "../../object/Object.h" #include "../../object/Object.h"
#include "../../XmlApi.hpp" #include "../../XmlApi.hpp"
#include "../../CastApi.hpp"
   
namespace tree { namespace tree {
   
...@@ -168,4 +169,7 @@ namespace alib { ...@@ -168,4 +169,7 @@ namespace alib {
xmlApi < tree::Tree >::ParserRegister < tree::UnrankedPattern > unrankedPatternParserRegister = xmlApi < tree::Tree >::ParserRegister < tree::UnrankedPattern > ( tree::UnrankedPattern::XML_TAG_NAME, tree::UnrankedPattern::parse ); xmlApi < tree::Tree >::ParserRegister < tree::UnrankedPattern > unrankedPatternParserRegister = xmlApi < tree::Tree >::ParserRegister < tree::UnrankedPattern > ( tree::UnrankedPattern::XML_TAG_NAME, tree::UnrankedPattern::parse );
xmlApi < alib::Object >::ParserRegister < tree::UnrankedPattern > unrankedPatternParserRegister2 = xmlApi < alib::Object >::ParserRegister < tree::UnrankedPattern > ( tree::UnrankedPattern::XML_TAG_NAME, tree::UnrankedPattern::parse ); xmlApi < alib::Object >::ParserRegister < tree::UnrankedPattern > unrankedPatternParserRegister2 = xmlApi < alib::Object >::ParserRegister < tree::UnrankedPattern > ( tree::UnrankedPattern::XML_TAG_NAME, tree::UnrankedPattern::parse );
   
auto UnrankedPatternFromRankedPattern = castApi::CastRegister < tree::UnrankedPattern, tree::RankedPattern > ( );
auto UnrankedPatternCastBinder = castApi::CastPoolStringBinder < tree::UnrankedPattern > ( tree::UnrankedPattern::XML_TAG_NAME );
} /* namespace alib */ } /* namespace alib */
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include "../Tree.h" #include "../Tree.h"
#include "../../object/Object.h" #include "../../object/Object.h"
#include "../../XmlApi.hpp" #include "../../XmlApi.hpp"
#include "../../CastApi.hpp"
   
namespace tree { namespace tree {
   
...@@ -159,4 +160,7 @@ namespace alib { ...@@ -159,4 +160,7 @@ namespace alib {
xmlApi < tree::Tree >::ParserRegister < tree::UnrankedTree > unrankedTreeParserRegister = xmlApi < tree::Tree >::ParserRegister < tree::UnrankedTree > ( tree::UnrankedTree::XML_TAG_NAME, tree::UnrankedTree::parse ); xmlApi < tree::Tree >::ParserRegister < tree::UnrankedTree > unrankedTreeParserRegister = xmlApi < tree::Tree >::ParserRegister < tree::UnrankedTree > ( tree::UnrankedTree::XML_TAG_NAME, tree::UnrankedTree::parse );
xmlApi < alib::Object >::ParserRegister < tree::UnrankedTree > unrankedTreeParserRegister2 = xmlApi < alib::Object >::ParserRegister < tree::UnrankedTree > ( tree::UnrankedTree::XML_TAG_NAME, tree::UnrankedTree::parse ); xmlApi < alib::Object >::ParserRegister < tree::UnrankedTree > unrankedTreeParserRegister2 = xmlApi < alib::Object >::ParserRegister < tree::UnrankedTree > ( tree::UnrankedTree::XML_TAG_NAME, tree::UnrankedTree::parse );
   
auto UnrankedTreeFromRankedTree = castApi::CastRegister < tree::UnrankedTree, tree::RankedTree > ( );
auto UnrankedTreeCastBinder = castApi::CastPoolStringBinder < tree::UnrankedTree > ( tree::UnrankedTree::XML_TAG_NAME );
} /* namespace alib */ } /* namespace alib */
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment