Ardour  8.12
DataNode< T > Class Template Reference

A graph node that contains data. More...

#include <export_multiplication.h>

Inheritance diagram for DataNode< T >:
[legend]

Public Member Functions

DataPtr data ()
 
SelfPtr self_ptr ()
 
template<typename P >
void sort_parents (list< std::shared_ptr< DataNode< P > > > const &sort_list)
 
- Public Member Functions inherited from GraphNode
 GraphNode ()
 
virtual ~GraphNode ()
 
uint32_t id () const
 
list< GraphNode * > const & get_parents () const
 
void add_child (GraphNode *child, GraphNode *left_sibling)
 
void remove_child (GraphNode *child)
 
GraphNodefirst_child () const
 
GraphNodelast_child () const
 
list< GraphNode * > const & get_children () const
 
bool is_ancestor_of (GraphNode const *node) const
 
bool is_descendant_of (GraphNode const *node) const
 
bool equals (GraphNode const *node) const
 
bool selected () const
 
void select (bool value)
 

Static Public Member Functions

static SelfPtr create (T *data)
 
static SelfPtr create (DataPtr data)
 

Private Types

typedef std::shared_ptr< T > DataPtr
 
typedef std::shared_ptr< DataNode< T > > SelfPtr
 
typedef std::weak_ptr< DataNode< T > > WeakSelfPtr
 

Private Member Functions

 DataNode (DataPtr data)
 
void set_self_ptr (std::shared_ptr< DataNode< T > > ptr)
 

Private Attributes

DataPtr _data
 
WeakSelfPtr _self_ptr
 

Additional Inherited Members

- Public Attributes inherited from GraphNode
PBD::Signal1< void, bool > SelectChanged
 
- Protected Member Functions inherited from GraphNode
void add_parent (GraphNode *parent)
 
void remove_parent (GraphNode *parent)
 
- Protected Attributes inherited from GraphNode
list< GraphNode * > parents
 
list< GraphNode * > children
 
bool _selected
 
uint32_t _id
 
- Static Protected Attributes inherited from GraphNode
static uint32_t id_counter
 

Detailed Description

template<typename T>
class DataNode< T >

A graph node that contains data.

Definition at line 76 of file export_multiplication.h.

Member Typedef Documentation

◆ DataPtr

template<typename T >
typedef std::shared_ptr<T> DataNode< T >::DataPtr
private

Definition at line 78 of file export_multiplication.h.

◆ SelfPtr

template<typename T >
typedef std::shared_ptr<DataNode<T> > DataNode< T >::SelfPtr
private

Definition at line 79 of file export_multiplication.h.

◆ WeakSelfPtr

template<typename T >
typedef std::weak_ptr<DataNode<T> > DataNode< T >::WeakSelfPtr
private

Definition at line 80 of file export_multiplication.h.

Constructor & Destructor Documentation

◆ DataNode()

template<typename T >
DataNode< T >::DataNode ( DataPtr  data)
inlineprivate

Definition at line 82 of file export_multiplication.h.

Member Function Documentation

◆ create() [1/2]

template<typename T >
static SelfPtr DataNode< T >::create ( DataPtr  data)
inlinestatic

Definition at line 93 of file export_multiplication.h.

◆ create() [2/2]

template<typename T >
static SelfPtr DataNode< T >::create ( T *  data)
inlinestatic

Definition at line 86 of file export_multiplication.h.

◆ data()

template<typename T >
DataPtr DataNode< T >::data ( )
inline

Definition at line 100 of file export_multiplication.h.

◆ self_ptr()

template<typename T >
SelfPtr DataNode< T >::self_ptr ( )
inline

Definition at line 101 of file export_multiplication.h.

◆ set_self_ptr()

template<typename T >
void DataNode< T >::set_self_ptr ( std::shared_ptr< DataNode< T > >  ptr)
inlineprivate

Definition at line 83 of file export_multiplication.h.

◆ sort_parents()

template<typename T >
template<typename P >
void DataNode< T >::sort_parents ( list< std::shared_ptr< DataNode< P > > > const &  sort_list)
inline

Definition at line 104 of file export_multiplication.h.

Member Data Documentation

◆ _data

template<typename T >
DataPtr DataNode< T >::_data
private

Definition at line 110 of file export_multiplication.h.

◆ _self_ptr

template<typename T >
WeakSelfPtr DataNode< T >::_self_ptr
private

Definition at line 111 of file export_multiplication.h.


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