bioprocessing  5.1.2
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. More...
 
typedef Pointed::Edge Edge
 Usable edge type. More...
 
typedef Pointed::Edge Ref
 Reference type. More...
 

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. More...
 
 BaseEdgeRef (const Base &other)
 Copy constructor (it copies the reference, it does not duplicate the pointed object) More...
 
virtual ~BaseEdgeRef ()
 
virtual Vertex x ()
 access the first vertex (arbitrary choice for non oriented edges) More...
 
virtual const Vertex x () const
 access the first vertex (arbitrary choice for non oriented edges) More...
 
virtual Vertex y ()
 access the second vertex (arbitrary choice for non oriented edges) More...
 
virtual const Vertex y () const
 access the second vertex (arbitrary choice for non oriented edges) More...
 
virtual Vertex other (const Vertex &v)
 access the vertex that is not v More...
 
virtual const Vertex other (const Vertex &v) const
 access the vertex that is not v More...
 
virtual bool operator== (const This &other) const
 There is equality if both pointers are none, or if both pointed objects are equal. More...
 
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. More...
 

Protected Types

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

Protected Member Functions

 BaseEdgeRef ()
 Default constructor (creates an empty pointer) More...
 

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.

◆ ~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

Reimplemented in bio::SetEdgeRef< V >.

Definition at line 161 of file baseedge.h.

References bio::BaseEdgeRef< V >::other().

◆ operator<()

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

Reimplemented in bio::SetEdgeRef< V >.

Definition at line 172 of file baseedge.h.

References bio::BaseEdgeRef< V >::other().

◆ operator<=()

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

Reimplemented in bio::SetEdgeRef< V >.

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.

Reimplemented in bio::SetEdgeRef< V >.

Definition at line 152 of file baseedge.h.

References bio::BaseEdgeRef< V >::other().

◆ operator>()

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

Reimplemented in bio::SetEdgeRef< V >.

Definition at line 165 of file baseedge.h.

References bio::BaseEdgeRef< V >::other().

◆ operator>=()

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

Reimplemented in bio::SetEdgeRef< V >.

Definition at line 179 of file baseedge.h.

References bio::BaseEdgeRef< V >::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.

◆ 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.

◆ 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 Function Documentation

◆ BaseEdge< V >

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

Definition at line 183 of file baseedge.h.


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