CPPX 2.1.0
A Modern C++ Utility Library
Loading...
Searching...
No Matches
stl_ext::BST< T > Class Template Reference

#include <cppx.h>

Inheritance diagram for stl_ext::BST< T >:
Collaboration diagram for stl_ext::BST< T >:

Public Member Functions

virtual void insert (const T &val)
 
bool contains (const T &val) const
 
virtual void remove (const T &val)
 
T get_min () const
 
T get_max () const
 
T get_successor (const T &val) const
 
T get_predecessor (const T &val) const
 
- Public Member Functions inherited from stl_ext::BinaryTree< T >
 BinaryTree ()=default
 
 BinaryTree (const BinaryTree &other)
 
BinaryTreeoperator= (const BinaryTree &other)
 
 BinaryTree (BinaryTree &&other) noexcept
 
BinaryTreeoperator= (BinaryTree &&other) noexcept
 
virtual ~BinaryTree ()
 
Node< T > * get_root () const
 
void set_root (Node< T > *root)
 
bool is_empty () const
 
int size () const
 
void print_preorder () const
 
void print_inorder () const
 
void print_postorder () const
 
void print_levelorder () const
 
void print_tree () const
 
void dump_to_dot (const std::string &filename) const
 
Node< T > * make_node (const T &val)
 
Node< T > * make_node (const T &val, Node< T > *left, Node< T > *right)
 
void set_left (Node< T > *parent, Node< T > *left_child)
 
void set_right (Node< T > *parent, Node< T > *right_child)
 

Additional Inherited Members

- Protected Member Functions inherited from stl_ext::BinaryTree< T >
void preorder (const Node< T > *node) const
 
void inorder (const Node< T > *node) const
 
void postorder (const Node< T > *node) const
 
void levelorder (const Node< T > *node) const
 
int compute_size (const Node< T > *node) const
 
void print_tree_helper (const Node< T > *node, const std::string &prefix, bool is_left) const
 
void dot_helper (const Node< T > *node, std::ostream &out, int &null_count) const
 
void destroy_subtree (Node< T > *node)
 
Node< T > * clone_subtree (const Node< T > *node)
 
- Protected Attributes inherited from stl_ext::BinaryTree< T >
Node< T > * p_head = nullptr
 
NodePool< Tm_pool
 

Detailed Description

template<typename T>
class stl_ext::BST< T >

Definition at line 143 of file cppx.h.

Member Function Documentation

◆ contains()

template<typename T >
bool stl_ext::BST< T >::contains ( const T val) const

Definition at line 97 of file bst.tpp.

◆ get_max()

template<typename T >
T stl_ext::BST< T >::get_max ( ) const

Definition at line 124 of file bst.tpp.

◆ get_min()

template<typename T >
T stl_ext::BST< T >::get_min ( ) const

Definition at line 114 of file bst.tpp.

◆ get_predecessor()

template<typename T >
T stl_ext::BST< T >::get_predecessor ( const T val) const

Definition at line 170 of file bst.tpp.

◆ get_successor()

template<typename T >
T stl_ext::BST< T >::get_successor ( const T val) const

Definition at line 134 of file bst.tpp.

◆ insert()

template<typename T >
void stl_ext::BST< T >::insert ( const T val)
virtual

Reimplemented in stl_ext::AVLTree< T >, and stl_ext::RBTree< T >.

Definition at line 6 of file bst.tpp.

◆ remove()

template<typename T >
void stl_ext::BST< T >::remove ( const T val)
virtual

Reimplemented in stl_ext::AVLTree< T >, and stl_ext::RBTree< T >.

Definition at line 109 of file bst.tpp.


The documentation for this class was generated from the following files: