![]() |
Fleet
0.0.9
Inference in the LOT
|
#include <SExpression.h>
Public Member Functions | |
SExpNode () | |
SExpNode (const std::string &s) | |
SExpNode (const SExpNode &s) | |
SExpNode & | operator= (const SExpNode &n) |
SExpNode & | operator= (const SExpNode &&n) |
virtual bool | operator== (const SExpNode &n) const override |
std::string | get_label () |
virtual std::string | string () const |
![]() | |
BaseNode (size_t n=0, SExpNode *p=nullptr, size_t i=0) | |
Constructor of basenode – sizes children to n. More... | |
BaseNode (const SExpNode &n) | |
BaseNode (SExpNode &&n) | |
void | operator= (const SExpNode &t) |
void | operator= (const SExpNode &&t) |
void | make_root () |
Make a node root – just nulls the parent. More... | |
virtual | ~BaseNode () |
virtual std::string | string (bool usedot=true) const |
virtual std::string | my_string () const |
virtual bool | operator== (const SExpNode &n) const |
NodeIterator | begin () const |
NodeIterator | end () const |
virtual bool | operator!= (const SExpNode &n) const |
void | reserve_children (const size_t n) |
decltype(children) & | get_children () |
decltype(children) const & | get_children () const |
SExpNode & | child (const size_t i) |
const SExpNode & | child (const size_t i) const |
void | fill (size_t n, Args... args) |
size_t | nchildren () const |
SExpNode * | left_descend () const |
size_t | depth () const |
void | fix_child_info () |
void | check_child_info () const |
SExpNode & | operator[] (const size_t i) |
const SExpNode & | operator[] (const size_t i) const |
void | set_child (const size_t i, SExpNode &n) |
void | set_child (const size_t i, SExpNode &&n) |
void | push_back (SExpNode &n) |
void | push_back (SExpNode &&n) |
virtual bool | is_root () const |
Am I a root node? I am if my parent is nullptr. More... | |
SExpNode * | root () |
Find the root of this node by walking up the tree. More... | |
SExpNode * | get_via (std::function< bool(SExpNode &)> &f) |
Return a pointer to the first node satisfying predicate f, in standard traversal; nullptr otherwise. More... | |
virtual size_t | count () const |
How many nodes total are below me? More... | |
virtual size_t | count (const SExpNode &n) const |
How many nodes below me are equal to n? More... | |
virtual bool | is_terminal () const |
Am I a terminal? I am if I have no children. More... | |
virtual size_t | count_terminals () const |
virtual SExpNode * | get_nth (int n, std::function< int(const SExpNode &)> &f) |
virtual SExpNode * | get_nth (int n) |
T | sum (std::function< T(const SExpNode &)> &f) const |
T | sum (T(*f)(const SExpNode &)) const |
bool | all (std::function< bool(const SExpNode &)> &f) const |
void | map (const std::function< void(SExpNode &)> &f) |
void | show (size_t t=0) const |
Public Attributes | |
std::optional< std::string > | label |
![]() | |
SExpNode * | parent |
size_t | pi |
Additional Inherited Members | |
![]() | |
static NodeIterator | EndNodeIterator |
![]() | |
std::vector< SExpNode > | children |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineoverridevirtual |
|
inlinevirtual |
std::optional<std::string> SExpression::SExpNode::label |