neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::index_array_tree< ForeignIndex, Alloc > Class Template Reference

#include <index_array_tree.hpp>

Classes

class  node
 

Public Types

typedef ForeignIndex foreign_index_type
 
typedef std::size_t size_type
 
typedef std::ptrdiff_t difference_type
 
typedef Alloc allocator_type
 

Public Member Functions

 index_array_tree (const Alloc &aAllocator=Alloc())
 
 ~index_array_tree ()
 
nodenil_node () const
 
noderoot_node () const
 
void set_root_node (node *aRoot)
 
nodefront_node () const
 
void set_front_node (node *aFront)
 
nodeback_node () const
 
void set_back_node (node *aBack)
 
nodefind_node (size_type aPosition) const
 
template<typename Pred = std::less<foreign_index_type>>
nodefind_node_by_foreign_index (foreign_index_type aForeignIndex, size_type &aNodeIndex, foreign_index_type &aNodeForeignIndex, Pred aPred=Pred{}) const
 
void insert_node (node *aNode, size_type aPosition)
 
void delete_node (node *aNode)
 
void swap (index_array_tree &aOther)
 

Static Public Member Functions

static size_type size (node *aNode)
 
static size_type size_parent (node *aNode)
 
static size_type size_left (node *aNode)
 
static size_type size_right (node *aNode)
 
static foreign_index_type foreign_index (node *aNode)
 
static foreign_index_type foreign_index_parent (node *aNode)
 
static foreign_index_type foreign_index_left (node *aNode)
 
static foreign_index_type foreign_index_right (node *aNode)
 

Detailed Description

template<typename ForeignIndex, typename Alloc>
class neolib::index_array_tree< ForeignIndex, Alloc >

Definition at line 44 of file index_array_tree.hpp.

Member Typedef Documentation

◆ allocator_type

Definition at line 50 of file index_array_tree.hpp.

◆ difference_type

typedef std::ptrdiff_t neolib::index_array_tree< ForeignIndex, Alloc >::difference_type

Definition at line 49 of file index_array_tree.hpp.

◆ foreign_index_type

Definition at line 47 of file index_array_tree.hpp.

◆ size_type

Definition at line 48 of file index_array_tree.hpp.

Constructor & Destructor Documentation

◆ index_array_tree()

neolib::index_array_tree< ForeignIndex, Alloc >::index_array_tree ( const Alloc aAllocator = Alloc())
inline

Definition at line 236 of file index_array_tree.hpp.

◆ ~index_array_tree()

Member Function Documentation

◆ back_node()

node * neolib::index_array_tree< ForeignIndex, Alloc >::back_node ( ) const
inline

Definition at line 282 of file index_array_tree.hpp.

◆ delete_node()

void neolib::index_array_tree< ForeignIndex, Alloc >::delete_node ( node aNode)
inline

Definition at line 407 of file index_array_tree.hpp.

◆ find_node()

node * neolib::index_array_tree< ForeignIndex, Alloc >::find_node ( size_type  aPosition) const
inline

Definition at line 322 of file index_array_tree.hpp.

◆ find_node_by_foreign_index()

template<typename Pred = std::less<foreign_index_type>>
node * neolib::index_array_tree< ForeignIndex, Alloc >::find_node_by_foreign_index ( foreign_index_type  aForeignIndex,
size_type aNodeIndex,
foreign_index_type aNodeForeignIndex,
Pred  aPred = Pred{} 
) const
inline

Definition at line 342 of file index_array_tree.hpp.

◆ foreign_index()

static foreign_index_type neolib::index_array_tree< ForeignIndex, Alloc >::foreign_index ( node aNode)
inlinestatic

Definition at line 306 of file index_array_tree.hpp.

◆ foreign_index_left()

static foreign_index_type neolib::index_array_tree< ForeignIndex, Alloc >::foreign_index_left ( node aNode)
inlinestatic

Definition at line 314 of file index_array_tree.hpp.

◆ foreign_index_parent()

static foreign_index_type neolib::index_array_tree< ForeignIndex, Alloc >::foreign_index_parent ( node aNode)
inlinestatic

Definition at line 310 of file index_array_tree.hpp.

◆ foreign_index_right()

static foreign_index_type neolib::index_array_tree< ForeignIndex, Alloc >::foreign_index_right ( node aNode)
inlinestatic

Definition at line 318 of file index_array_tree.hpp.

◆ front_node()

node * neolib::index_array_tree< ForeignIndex, Alloc >::front_node ( ) const
inline

Definition at line 274 of file index_array_tree.hpp.

◆ insert_node()

void neolib::index_array_tree< ForeignIndex, Alloc >::insert_node ( node aNode,
size_type  aPosition 
)
inline

Definition at line 366 of file index_array_tree.hpp.

◆ nil_node()

node * neolib::index_array_tree< ForeignIndex, Alloc >::nil_node ( ) const
inline

Definition at line 262 of file index_array_tree.hpp.

◆ root_node()

node * neolib::index_array_tree< ForeignIndex, Alloc >::root_node ( ) const
inline

Definition at line 266 of file index_array_tree.hpp.

◆ set_back_node()

void neolib::index_array_tree< ForeignIndex, Alloc >::set_back_node ( node aBack)
inline

Definition at line 286 of file index_array_tree.hpp.

◆ set_front_node()

void neolib::index_array_tree< ForeignIndex, Alloc >::set_front_node ( node aFront)
inline

Definition at line 278 of file index_array_tree.hpp.

◆ set_root_node()

void neolib::index_array_tree< ForeignIndex, Alloc >::set_root_node ( node aRoot)
inline

Definition at line 270 of file index_array_tree.hpp.

◆ size()

Definition at line 290 of file index_array_tree.hpp.

◆ size_left()

static size_type neolib::index_array_tree< ForeignIndex, Alloc >::size_left ( node aNode)
inlinestatic

Definition at line 298 of file index_array_tree.hpp.

◆ size_parent()

static size_type neolib::index_array_tree< ForeignIndex, Alloc >::size_parent ( node aNode)
inlinestatic

Definition at line 294 of file index_array_tree.hpp.

◆ size_right()

static size_type neolib::index_array_tree< ForeignIndex, Alloc >::size_right ( node aNode)
inlinestatic

Definition at line 302 of file index_array_tree.hpp.

◆ swap()

Definition at line 461 of file index_array_tree.hpp.


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