bioprocessing 6.0.4
bio::BaseEdgeRef< V > Class Template Reference

Reference counting pointer to a BaseEdge. More...

#include <bioprocessing/graph/baseedge.h>

Inheritance diagram for bio::BaseEdgeRef< V >:
Collaboration diagram for bio::BaseEdgeRef< V >:

Public Types

typedef Pointed::Vertex Vertex
 Usable vertex type.
 
typedef Pointed::Edge Edge
 Usable edge type.
 
typedef Pointed::Edge Ref
 Reference type.
 

Public Member Functions

 BaseEdgeRef (Pointed *e)
 Constructor from a pointer (the pointer should either be created by new, or be already referenced by a rc_ptr.
 
 BaseEdgeRef (const Base &other)
 Copy constructor (it copies the reference, it does not duplicate the pointed object)
 
virtual ~BaseEdgeRef ()
 
virtual Vertex x ()
 access the first vertex (arbitrary choice for non oriented edges)
 
virtual const Vertex x () const
 access the first vertex (arbitrary choice for non oriented edges)
 
virtual Vertex y ()
 access the second vertex (arbitrary choice for non oriented edges)
 
virtual const Vertex y () const
 access the second vertex (arbitrary choice for non oriented edges)
 
virtual Vertex other (const Vertex &v)
 access the vertex that is not v
 
virtual const Vertex other (const Vertex &v) const
 access the vertex that is not v
 
virtual bool operator== (const This &other) const
 There is equality if both pointers are none, or if both pointed objects are equal.
 
virtual bool operator!= (const This &other) const
 
virtual bool operator> (const This &other) const
 
virtual bool operator< (const This &other) const
 
virtual bool operator>= (const This &other) const
 
virtual bool operator<= (const This &other) const
 

Static Public Member Functions

static Edge none ()
 Empty pointer factory.
 

Protected Types

typedef BaseEdgeRef< V > This
 Type of *this.
 
typedef carto::rc_ptr< BaseEdge< V > > Base
 Base class.
 
typedef BaseEdge< V > Pointed
 Pointed object type.
 

Protected Member Functions

 BaseEdgeRef ()
 Default constructor (creates an empty pointer)
 

Friends

class BaseEdge< V >
 

Detailed Description

template<typename V>
class bio::BaseEdgeRef< V >

Reference counting pointer to a BaseEdge.

These objects also have full access to BaseEdge methods (without having to dereference the pointer)

Definition at line 101 of file baseedge.h.

Member Typedef Documentation

◆ Base

template<typename V>
typedef carto::rc_ptr<BaseEdge<V> > bio::BaseEdgeRef< V >::Base
protected

Base class.

Definition at line 106 of file baseedge.h.

◆ Edge

template<typename V>
typedef Pointed::Edge bio::BaseEdgeRef< V >::Edge

Usable edge type.

Definition at line 110 of file baseedge.h.

◆ Pointed

template<typename V>
typedef BaseEdge<V> bio::BaseEdgeRef< V >::Pointed
protected

Pointed object type.

Definition at line 107 of file baseedge.h.

◆ Ref

template<typename V>
typedef Pointed::Edge bio::BaseEdgeRef< V >::Ref

Reference type.

Definition at line 111 of file baseedge.h.

◆ This

template<typename V>
typedef BaseEdgeRef<V> bio::BaseEdgeRef< V >::This
protected

Type of *this.

Definition at line 105 of file baseedge.h.

◆ Vertex

template<typename V>
typedef Pointed::Vertex bio::BaseEdgeRef< V >::Vertex

Usable vertex type.

Definition at line 109 of file baseedge.h.

Constructor & Destructor Documentation

◆ BaseEdgeRef() [1/3]

template<typename V>
bio::BaseEdgeRef< V >::BaseEdgeRef ( )
inlineprotected

Default constructor (creates an empty pointer)

Definition at line 116 of file baseedge.h.

◆ BaseEdgeRef() [2/3]

template<typename V>
bio::BaseEdgeRef< V >::BaseEdgeRef ( Pointed * e)
inline

Constructor from a pointer (the pointer should either be created by new, or be already referenced by a rc_ptr.

See rc_ptr for more details on reference counting pointers)

Definition at line 121 of file baseedge.h.

◆ BaseEdgeRef() [3/3]

template<typename V>
bio::BaseEdgeRef< V >::BaseEdgeRef ( const Base & other)
inline

Copy constructor (it copies the reference, it does not duplicate the pointed object)

Definition at line 124 of file baseedge.h.

References other().

◆ ~BaseEdgeRef()

template<typename V>
virtual bio::BaseEdgeRef< V >::~BaseEdgeRef ( )
inlinevirtual

Definition at line 125 of file baseedge.h.

Member Function Documentation

◆ none()

template<typename V>
static Edge bio::BaseEdgeRef< V >::none ( )
inlinestatic

Empty pointer factory.

The reference is set to 0

Definition at line 131 of file baseedge.h.

◆ operator!=()

template<typename V>
virtual bool bio::BaseEdgeRef< V >::operator!= ( const This & other) const
inlinevirtual

Definition at line 161 of file baseedge.h.

References other().

◆ operator<()

template<typename V>
virtual bool bio::BaseEdgeRef< V >::operator< ( const This & other) const
inlinevirtual

Definition at line 172 of file baseedge.h.

References other().

◆ operator<=()

template<typename V>
virtual bool bio::BaseEdgeRef< V >::operator<= ( const This & other) const
inlinevirtual

Definition at line 183 of file baseedge.h.

◆ operator==()

template<typename V>
virtual bool bio::BaseEdgeRef< V >::operator== ( const This & other) const
inlinevirtual

There is equality if both pointers are none, or if both pointed objects are equal.

Definition at line 152 of file baseedge.h.

References other().

◆ operator>()

template<typename V>
virtual bool bio::BaseEdgeRef< V >::operator> ( const This & other) const
inlinevirtual

Definition at line 165 of file baseedge.h.

References other().

◆ operator>=()

template<typename V>
virtual bool bio::BaseEdgeRef< V >::operator>= ( const This & other) const
inlinevirtual

Definition at line 179 of file baseedge.h.

References other().

◆ other() [1/2]

◆ other() [2/2]

template<typename V>
virtual const Vertex bio::BaseEdgeRef< V >::other ( const Vertex & v) const
inlinevirtual

access the vertex that is not v

Definition at line 146 of file baseedge.h.

◆ x() [1/2]

template<typename V>
virtual Vertex bio::BaseEdgeRef< V >::x ( )
inlinevirtual

access the first vertex (arbitrary choice for non oriented edges)

Definition at line 136 of file baseedge.h.

Referenced by bio::SetEdgeRef< V >::SetEdgeRef().

◆ x() [2/2]

template<typename V>
virtual const Vertex bio::BaseEdgeRef< V >::x ( ) const
inlinevirtual

access the first vertex (arbitrary choice for non oriented edges)

Definition at line 138 of file baseedge.h.

◆ y() [1/2]

template<typename V>
virtual Vertex bio::BaseEdgeRef< V >::y ( )
inlinevirtual

access the second vertex (arbitrary choice for non oriented edges)

Definition at line 140 of file baseedge.h.

Referenced by bio::SetEdgeRef< V >::SetEdgeRef().

◆ y() [2/2]

template<typename V>
virtual const Vertex bio::BaseEdgeRef< V >::y ( ) const
inlinevirtual

access the second vertex (arbitrary choice for non oriented edges)

Definition at line 142 of file baseedge.h.

Friends And Related Symbol Documentation

◆ BaseEdge< V >

template<typename V>
friend class BaseEdge< V >
friend

Definition at line 183 of file baseedge.h.

References other().


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