Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::Graph_Anode< Node_Info > Class Template Reference

Node of Array_Graph More...

#include <tpl_agraph.H>

Inheritance diagram for Aleph::Graph_Anode< Node_Info >:
[legend]
Collaboration diagram for Aleph::Graph_Anode< Node_Info >:
[legend]

Public Member Functions

 Graph_Anode ()
 
 Graph_Anode (const Node_Info &info)
 
 Graph_Anode (Node_Info &&info)
 
 Graph_Anode (const Graph_Anode &node)
 
Graph_Anodeoperator= (const Graph_Anode &node)
 
 Graph_Anode (Graph_Anode *p)
 
virtual ~Graph_Anode ()
 
void allocate_more (size_t new_size)
 
voidinsert_arc (void *arc)
 
void remove_arc_ne (const void *arc) noexcept
 
void remove_arc (const void *arc)
 
bool compress () noexcept
 
- Public Member Functions inherited from GTNodeCommon< NodeInfo >
 GTNodeCommon () noexcept=default
 another alias for set type
 
 GTNodeCommon (const NodeInfo &info)
 Copy constructor from info value.
 
 GTNodeCommon (NodeInfo &&info)
 Move constructor from info value.
 
 GTNodeCommon (const GTNodeCommon &other)
 Copy constructor.
 
 GTNodeCommon (GTNodeCommon &&other) noexcept
 Move constructor.
 
GTNodeCommonoperator= (const GTNodeCommon &other)
 Copy assignment operator.
 
GTNodeCommonoperator= (GTNodeCommon &&other) noexcept
 Move assignment operator.
 
NodeInfoget_info () noexcept
 Return a modifiable reference to the data contained in the node.
 
const NodeInfoget_info () const noexcept
 Return a constant reference to the data contained in the node.
 
unsigned int state () const noexcept
 Return the state's value.
 
void set_state (unsigned int s) noexcept
 Set the state to value s
 

Public Attributes

void ** arc_array = nullptr
 
size_t arcs_dim = 0
 
size_t contract_threshold = 0
 
- Public Attributes inherited from GTNodeCommon< NodeInfo >
Graph_Attr attrs
 Attributes of node.
 
NodeInfo node_info
 
size_t num_arcs = 0
 data associated to the node. Access it with get_info()
 

Private Types

using Base = GTNodeCommon< Node_Info >
 

Private Member Functions

void init (const size_t dim)
 

Static Private Attributes

static constexpr size_t Contract_Factor = 4
 
static constexpr size_t Default_Cap = 4
 

Friends

class GTNodeCommon< Node_Info >
 

Additional Inherited Members

- Public Types inherited from GTNodeCommon< NodeInfo >
using Item_Type = NodeInfo
 
using Node = GTNodeCommon
 Common alias for set types.
 
using Node_Type = NodeInfo
 The node.
 

Detailed Description

template<typename Node_Info = Empty_Class>
class Aleph::Graph_Anode< Node_Info >

Node of Array_Graph

Definition at line 61 of file tpl_agraph.H.

Member Typedef Documentation

◆ Base

template<typename Node_Info = Empty_Class>
using Aleph::Graph_Anode< Node_Info >::Base = GTNodeCommon<Node_Info>
private

Definition at line 65 of file tpl_agraph.H.

Constructor & Destructor Documentation

◆ Graph_Anode() [1/5]

template<typename Node_Info = Empty_Class>
Aleph::Graph_Anode< Node_Info >::Graph_Anode ( )
inline

Definition at line 89 of file tpl_agraph.H.

References Aleph::Dlink::init().

◆ Graph_Anode() [2/5]

template<typename Node_Info = Empty_Class>
Aleph::Graph_Anode< Node_Info >::Graph_Anode ( const Node_Info &  info)
inline

◆ Graph_Anode() [3/5]

template<typename Node_Info = Empty_Class>
Aleph::Graph_Anode< Node_Info >::Graph_Anode ( Node_Info &&  info)
inline

◆ Graph_Anode() [4/5]

template<typename Node_Info = Empty_Class>
Aleph::Graph_Anode< Node_Info >::Graph_Anode ( const Graph_Anode< Node_Info > &  node)
inline

Definition at line 104 of file tpl_agraph.H.

References Aleph::Dlink::init().

◆ Graph_Anode() [5/5]

template<typename Node_Info = Empty_Class>
Aleph::Graph_Anode< Node_Info >::Graph_Anode ( Graph_Anode< Node_Info > *  p)
inline

Definition at line 117 of file tpl_agraph.H.

References Aleph::Dlink::init().

◆ ~Graph_Anode()

template<typename Node_Info = Empty_Class>
virtual Aleph::Graph_Anode< Node_Info >::~Graph_Anode ( )
inlinevirtual

Definition at line 122 of file tpl_agraph.H.

References Aleph::Graph_Anode< Node_Info >::arc_array, and Aleph::maps().

Member Function Documentation

◆ allocate_more()

◆ compress()

◆ init()

◆ insert_arc()

◆ operator=()

template<typename Node_Info = Empty_Class>
Graph_Anode & Aleph::Graph_Anode< Node_Info >::operator= ( const Graph_Anode< Node_Info > &  node)
inline

Definition at line 109 of file tpl_agraph.H.

References GTNodeCommon< NodeInfo >::node_info.

◆ remove_arc()

◆ remove_arc_ne()

Friends And Related Symbol Documentation

◆ GTNodeCommon< Node_Info >

template<typename Node_Info = Empty_Class>
friend class GTNodeCommon< Node_Info >
friend

Definition at line 1 of file tpl_agraph.H.

Member Data Documentation

◆ arc_array

◆ arcs_dim

◆ Contract_Factor

◆ contract_threshold

◆ Default_Cap

template<typename Node_Info = Empty_Class>
constexpr size_t Aleph::Graph_Anode< Node_Info >::Default_Cap = 4
staticconstexprprivate

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