Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
SuffixTrieNodeTerminatingSymbol.h
Go to the documentation of this file.
1
6#pragma once
7
9#include <alib/map>
10#include <alib/set>
11#include <core/xmlApi.hpp>
12
13namespace indexes {
14
15class SuffixTrieTerminatingSymbol;
16
21protected:
23
25
30
35
36public:
38
44
49
54
59
63 void computeMinimalAlphabet ( ext::set < DefaultSymbolType > & alphabet ) const;
64
68 const ext::map < const DefaultSymbolType, const SuffixTrieNodeTerminatingSymbol * > & getChildren ( ) const;
69
74
76
77 const SuffixTrieNodeTerminatingSymbol & getChild ( const DefaultSymbolType & symbol ) const;
78
79 bool hasChild ( const DefaultSymbolType & symbol ) const;
80
82
84
86
88
89 auto operator <=> ( const SuffixTrieNodeTerminatingSymbol & other ) const {
90 return std::tie ( m_children ) <=> std::tie ( other.m_children );
91 }
92
93 bool operator == ( const SuffixTrieNodeTerminatingSymbol & other ) const {
94 return std::tie ( m_children ) == std::tie ( other.m_children );
95 }
96
100 bool testSymbol ( const DefaultSymbolType & symbol ) const;
101
105 void operator >>( ext::ostream & out ) const;
106
108
110};
111
112} /* namespace indexes */
113
Class extending the map class from the standard library. Original reason is to allow printing of the ...
Definition: map.hpp:48
Definition: ostream.h:14
Definition: SuffixTrieNodeTerminatingSymbol.h:20
bool testSymbol(const DefaultSymbolType &symbol) const
Definition: SuffixTrieNodeTerminatingSymbol.cpp:146
SuffixTrieNodeTerminatingSymbol(ext::map< DefaultSymbolType, SuffixTrieNodeTerminatingSymbol * > children)
Definition: SuffixTrieNodeTerminatingSymbol.cpp:13
SuffixTrieNodeTerminatingSymbol * clone() const &
( ) const & ( ) const &
Definition: SuffixTrieNodeTerminatingSymbol.cpp:129
SuffixTrieNodeTerminatingSymbol * parent
Definition: SuffixTrieNodeTerminatingSymbol.h:24
SuffixTrieNodeTerminatingSymbol & getChild(const DefaultSymbolType &symbol)
Definition: SuffixTrieNodeTerminatingSymbol.cpp:78
const SuffixTrieTerminatingSymbol * parentTree
Definition: SuffixTrieNodeTerminatingSymbol.h:29
~SuffixTrieNodeTerminatingSymbol() noexcept
Definition: SuffixTrieNodeTerminatingSymbol.cpp:63
bool operator==(const SuffixTrieNodeTerminatingSymbol &other) const
Definition: SuffixTrieNodeTerminatingSymbol.h:93
void swap(SuffixTrieNodeTerminatingSymbol &other)
Definition: SuffixTrieNodeTerminatingSymbol.cpp:116
SuffixTrieNodeTerminatingSymbol & addChild(DefaultSymbolType symbol, SuffixTrieNodeTerminatingSymbol node)
Definition: SuffixTrieNodeTerminatingSymbol.cpp:98
SuffixTrieNodeTerminatingSymbol * getParent()
Definition: SuffixTrieNodeTerminatingSymbol.cpp:108
ext::set< DefaultSymbolType > computeMinimalAlphabet() const
Definition: SuffixTrieNodeTerminatingSymbol.cpp:170
bool attachTree(const SuffixTrieTerminatingSymbol *tree)
Definition: SuffixTrieNodeTerminatingSymbol.cpp:156
bool hasChild(const DefaultSymbolType &symbol) const
Definition: SuffixTrieNodeTerminatingSymbol.cpp:94
SuffixTrieNodeTerminatingSymbol & operator=(const SuffixTrieNodeTerminatingSymbol &other)
Definition: SuffixTrieNodeTerminatingSymbol.cpp:42
ext::map< DefaultSymbolType, SuffixTrieNodeTerminatingSymbol * > m_children
Definition: SuffixTrieNodeTerminatingSymbol.h:22
friend ext::ostream & operator<<(ext::ostream &, const SuffixTrieNodeTerminatingSymbol &node)
Definition: SuffixTrieNodeTerminatingSymbol.cpp:141
const ext::map< const DefaultSymbolType, const SuffixTrieNodeTerminatingSymbol * > & getChildren() const
Definition: SuffixTrieNodeTerminatingSymbol.cpp:70
void operator>>(ext::ostream &out) const
Definition: SuffixTrieNodeTerminatingSymbol.cpp:137
Definition: SuffixTrieTerminatingSymbol.h:24
Definition: Object.h:16
Definition: BarSymbol.cpp:12
Definition: sigHandler.cpp:20
constexpr tuple< Elements &... > tie(Elements &... args) noexcept
Helper of extended tuple of references construction. The tuple is constructed to reffer to values in ...
Definition: tuple.hpp:218
Definition: CompressedBitParallelTreeIndex.h:40
Definition: Node.cpp:11
Definition: BackwardOccurrenceTest.h:17