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

Common methods for the arc of a graph. More...

#include <graph-dry.H>

Inheritance diagram for GTArcCommon< ArcInfo >:
[legend]

Public Types

using Item_Type = ArcInfo
 
using Arc_Type = ArcInfo
 

Public Member Functions

 GTArcCommon () noexcept=default
 data contained in arc
 
 GTArcCommon (const ArcInfo &info)
 Construct from info value (copy)
 
 GTArcCommon (ArcInfo &&info)
 Construct from info value (move)
 
 GTArcCommon (void *src, void *tgt, const ArcInfo &data)
 Construct with endpoints and info (copy)
 
 GTArcCommon (void *src, void *tgt, ArcInfo &&data=ArcInfo())
 Construct with endpoints and info (move)
 
 GTArcCommon (const GTArcCommon &other)
 Copy constructor.
 
 GTArcCommon (GTArcCommon &&other) noexcept
 Move constructor.
 
GTArcCommonoperator= (const GTArcCommon &other)
 Copy assignment operator.
 
GTArcCommonoperator= (GTArcCommon &&other) noexcept
 Move assignment operator.
 
unsigned int state () const noexcept
 Return the state of arc.
 
void set_state (unsigned int s) noexcept
 Set the state of arc to value s
 
ArcInfoget_info () noexcept
 Return a modifiable reference to the arc data.
 
const ArcInfoget_info () const noexcept
 Return a constant reference to the arc data.
 
void * get_connected_node (void *node) noexcept
 
void * get_img_node (void *node) noexcept
 

Public Attributes

void * src_node = nullptr
 
void * tgt_node = nullptr
 Please don't use.
 
Graph_Attr attrs
 Please don't use.
 
ArcInfo arc_info
 

Detailed Description

template<typename ArcInfo>
class GTArcCommon< ArcInfo >

Common methods for the arc of a graph.

This class defines common attributes and methods for arcs graphs. All graph arcs inherit the data and function members of this class. Although this class exports data members, it is not recommended to directly access them. Instead use the macros ARC_BITS, ARC_COUNTER and ARC_COOKIE, which define access to the three attributes.

See also
ARC_BITS ARC_COUNTER ARC_COOKIE IS_ARC_VISITED ARC_COLOR
Warning
This class is not intended to be used explicitly by the user. Its use is internal to the graphs implementations.

Definition at line 527 of file graph-dry.H.

Member Typedef Documentation

◆ Arc_Type

template<typename ArcInfo >
using GTArcCommon< ArcInfo >::Arc_Type = ArcInfo

Definition at line 531 of file graph-dry.H.

◆ Item_Type

template<typename ArcInfo >
using GTArcCommon< ArcInfo >::Item_Type = ArcInfo

Definition at line 530 of file graph-dry.H.

Constructor & Destructor Documentation

◆ GTArcCommon() [1/7]

template<typename ArcInfo >
GTArcCommon< ArcInfo >::GTArcCommon ( )
defaultnoexcept

data contained in arc

Default constructor

◆ GTArcCommon() [2/7]

template<typename ArcInfo >
GTArcCommon< ArcInfo >::GTArcCommon ( const ArcInfo info)
inline

Construct from info value (copy)

Definition at line 548 of file graph-dry.H.

◆ GTArcCommon() [3/7]

template<typename ArcInfo >
GTArcCommon< ArcInfo >::GTArcCommon ( ArcInfo &&  info)
inline

Construct from info value (move)

Definition at line 551 of file graph-dry.H.

◆ GTArcCommon() [4/7]

template<typename ArcInfo >
GTArcCommon< ArcInfo >::GTArcCommon ( void *  src,
void *  tgt,
const ArcInfo data 
)
inline

Construct with endpoints and info (copy)

Definition at line 554 of file graph-dry.H.

◆ GTArcCommon() [5/7]

template<typename ArcInfo >
GTArcCommon< ArcInfo >::GTArcCommon ( void *  src,
void *  tgt,
ArcInfo &&  data = ArcInfo() 
)
inline

Construct with endpoints and info (move)

Definition at line 558 of file graph-dry.H.

◆ GTArcCommon() [6/7]

template<typename ArcInfo >
GTArcCommon< ArcInfo >::GTArcCommon ( const GTArcCommon< ArcInfo > &  other)
inline

Copy constructor.

Definition at line 562 of file graph-dry.H.

◆ GTArcCommon() [7/7]

template<typename ArcInfo >
GTArcCommon< ArcInfo >::GTArcCommon ( GTArcCommon< ArcInfo > &&  other)
inlinenoexcept

Move constructor.

Definition at line 566 of file graph-dry.H.

Member Function Documentation

◆ get_connected_node()

template<typename ArcInfo >
void * GTArcCommon< ArcInfo >::get_connected_node ( void *  node)
inlinenoexcept

◆ get_img_node()

template<typename ArcInfo >
void * GTArcCommon< ArcInfo >::get_img_node ( void *  node)
inlinenoexcept

◆ get_info() [1/2]

template<typename ArcInfo >
const ArcInfo & GTArcCommon< ArcInfo >::get_info ( ) const
inlinenoexcept

Return a constant reference to the arc data.

Definition at line 598 of file graph-dry.H.

References GTArcCommon< ArcInfo >::arc_info.

◆ get_info() [2/2]

◆ operator=() [1/2]

template<typename ArcInfo >
GTArcCommon & GTArcCommon< ArcInfo >::operator= ( const GTArcCommon< ArcInfo > &  other)
inline

Copy assignment operator.

Definition at line 570 of file graph-dry.H.

References GTArcCommon< ArcInfo >::arc_info.

◆ operator=() [2/2]

template<typename ArcInfo >
GTArcCommon & GTArcCommon< ArcInfo >::operator= ( GTArcCommon< ArcInfo > &&  other)
inlinenoexcept

Move assignment operator.

Definition at line 578 of file graph-dry.H.

References GTArcCommon< ArcInfo >::arc_info.

◆ set_state()

template<typename ArcInfo >
void GTArcCommon< ArcInfo >::set_state ( unsigned int  s)
inlinenoexcept

◆ state()

template<typename ArcInfo >
unsigned int GTArcCommon< ArcInfo >::state ( ) const
inlinenoexcept

Member Data Documentation

◆ arc_info

◆ attrs

template<typename ArcInfo >
Graph_Attr GTArcCommon< ArcInfo >::attrs

Please don't use.

Arc control attributes.

See also
Graph_Attr

Definition at line 540 of file graph-dry.H.

◆ src_node

◆ tgt_node


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