diff --git a/alib2data/src/common/DefaultEdgeType.h b/alib2data/src/common/DefaultEdgeType.h new file mode 100644 index 0000000000000000000000000000000000000000..b3b379970d00a26065cbcd274448f6737144e02e --- /dev/null +++ b/alib2data/src/common/DefaultEdgeType.h @@ -0,0 +1,15 @@ +/* + * DefaultEdgeType.h + * + * Created on: Jan 12, 2017 + * Author: Jan Travnicek + */ + +#ifndef DEFAULT_EDGE_TYPE_H_ +#define DEFAULT_EDGE_TYPE_H_ + +#include <object/Object.h> + +typedef alib::Object DefaultEdgeType; + +#endif /* DEFAULT_EDGE_TYPE_H_ */ diff --git a/alib2data/src/common/DefaultNodeType.h b/alib2data/src/common/DefaultNodeType.h new file mode 100644 index 0000000000000000000000000000000000000000..c8dbbd01d5a3e462efc66d9e05481f4b1a897d08 --- /dev/null +++ b/alib2data/src/common/DefaultNodeType.h @@ -0,0 +1,15 @@ +/* + * DefaultNodeType.h + * + * Created on: Jan 12, 2017 + * Author: Jan Travnicek + */ + +#ifndef DEFAULT_NODE_TYPE_H_ +#define DEFAULT_NODE_TYPE_H_ + +#include <object/Object.h> + +typedef alib::Object DefaultNodeType; + +#endif /* DEFAULT_NODE_TYPE_H_ */ diff --git a/alib2data/src/indexes/SuffixArray.h b/alib2data/src/indexes/SuffixArray.h index 86a87172620a36f5900fe07435770e53d43745fb..a0e5f5a5d42e1d40c420b5b0b53688b02a730085 100644 --- a/alib2data/src/indexes/SuffixArray.h +++ b/alib2data/src/indexes/SuffixArray.h @@ -16,10 +16,11 @@ #include <algorithm> #include <sstream> +#include <common/DefaultSymbolType.h> + #include <core/components.hpp> #include <exception/CommonException.h> -#include <object/Object.h> #include <object/UniqueObject.h> #include <object/ObjectBase.h> @@ -38,7 +39,7 @@ class GeneralAlphabet; * Represents regular expression parsed from the XML. Regular expression is stored * as a tree of RegExpElement. */ -template < class SymbolType = alib::Object > +template < class SymbolType = DefaultSymbolType > class SuffixArray : public alib::ObjectBase, public std::Components < SuffixArray < SymbolType >, SymbolType, std::tuple < GeneralAlphabet >, std::tuple < > > { protected: std::vector < unsigned > m_data; diff --git a/alib2data/src/indexes/SuffixTrie.h b/alib2data/src/indexes/SuffixTrie.h index 1373da81a13accb705d242ecb94ede97476ef026..0cc29b818b145bce247ed6312e95aec0b3e7d929 100644 --- a/alib2data/src/indexes/SuffixTrie.h +++ b/alib2data/src/indexes/SuffixTrie.h @@ -16,6 +16,9 @@ #include <algorithm> #include <sstream> +#include <common/DefaultNodeType.h> +#include <common/DefaultEdgeType.h> + #include <core/components.hpp> #include <exception/CommonException.h> @@ -25,7 +28,6 @@ #include <sax/FromXMLParserHelper.h> #include <core/xmlApi.hpp> -#include <primitive/Bool.h> #include <container/ObjectsSet.h> #include <container/ObjectsTrie.h> @@ -41,7 +43,7 @@ class NodeAlphabet; * Represents regular expression parsed from the XML. Regular expression is stored * as a tree of RegExpElement. */ -template < class EdgeType = alib::Object, class NodeType = alib::Object > +template < class EdgeType = DefaultEdgeType, class NodeType = DefaultNodeType > class SuffixTrie : public alib::ObjectBase, public std::Components < SuffixTrie < EdgeType, NodeType >, EdgeType, std::tuple < EdgeAlphabet >, std::tuple < >, NodeType, std::tuple < NodeAlphabet >, std::tuple < > > { protected: std::trie < EdgeType, std::variant < void, NodeType > > m_trie;