Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Concepts
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