ardour
Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
DataNode< T > Class Template Reference

A graph node that contains data. More...

#include <export_multiplication.h>

Inheritance diagram for DataNode< T >:
GraphNode

Public Member Functions

DataPtr data ()
 
SelfPtr self_ptr ()
 
template<typename P >
void sort_parents (list< boost::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 boost::shared_ptr< T > DataPtr
 
typedef boost::shared_ptr
< DataNode< T > > 
SelfPtr
 
typedef boost::weak_ptr
< DataNode< T > > 
WeakSelfPtr
 

Private Member Functions

 DataNode (DataPtr data)
 
void set_self_ptr (boost::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 77 of file export_multiplication.h.

Member Typedef Documentation

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

Definition at line 79 of file export_multiplication.h.

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

Definition at line 80 of file export_multiplication.h.

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

Definition at line 81 of file export_multiplication.h.

Constructor & Destructor Documentation

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

Definition at line 83 of file export_multiplication.h.

Member Function Documentation

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

Definition at line 87 of file export_multiplication.h.

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

Definition at line 94 of file export_multiplication.h.

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

Definition at line 101 of file export_multiplication.h.

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

Definition at line 102 of file export_multiplication.h.

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

Definition at line 84 of file export_multiplication.h.

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

Definition at line 105 of file export_multiplication.h.

Member Data Documentation

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

Definition at line 111 of file export_multiplication.h.

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

Definition at line 112 of file export_multiplication.h.


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