OpenEnroth 73e68f7
|
#include <FileSystemTrie.h>
Public Member Functions | |
FileSystemTrieNode (FileSystemTrieNode *parent, std::string_view key) | |
bool | hasValue () const |
T & | value () |
const T & | value () const |
const auto & | children () const |
FileSystemTrieNode * | child (std::string_view name) const |
FileSystemTrieNode * | parent () const |
Private Attributes | |
FileSystemTrieNode * | _parent = nullptr |
std::string | _key |
std::optional< T > | _value |
std::unordered_map< TransparentString, std::unique_ptr< FileSystemTrieNode >, TransparentStringHash, TransparentStringEquals > | _children |
Friends | |
class | FileSystemTrie< T > |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |
|
private |
Children map. It's possible to jump through hoops here and use std::unordered_set
of std::unique_ptr<FileSystemTrieNode>
since the key is stored in the FileSystemTrieNode
anyway. But it's just not worth it.
|
private |
Key in the parent node. It's only used for node removal, and is not exposed through getters.
|
private |
Parent of this node.
|
private |
Value, if any.