graph::Vertex< VertexContent > Class Template Reference

Vertex of a vv graph. More...

#include <graph/vertex.h>

Inheritance diagram for graph::Vertex< VertexContent >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef VertexContent content_t
 Type of the content of the vertex.
typedef CountedContent
< VertexContent > 
counted_content_t
 Type of the reference-counted content.
typedef vertex_identity_t identity_t
 Type of the identifier of the vertex.
typedef content_tpointer
 Type of the equivalent pointer.
typedef counted_content_treal_pointer
 Pointer to the reference-counted content.
typedef content_treference
typedef WeakVertex< VERTEX_ARGS > weak_ref_t

Public Member Functions

real_pointer acquire ()
 Return the content, and reset the value in the vertex.
real_pointer content () const
 Return the reference-counted object.
identity_t id () const
 Return the identifier of a vertex.
bool isNull () const
 Test if a vertex is a null vertex.
bool isWeakRef () const
 Return true if the current object hold a weak reference on a vertex.
size_t num () const
 Return a number unique to each vertex, globally.
 operator bool () const
 Convert a vertex to true if it is not null.
template<typename T1 >
bool operator!= (const Vertex< T1 > &other) const
 Two vertices of different types cannot be equal.
bool operator!= (const Vertex &other) const
 Comparison operators.
reference operator* () const
 Access to the data.
pointer operator-> () const
 Access to the data.
template<typename R >
const R & operator->* (R VertexContent::*ptr) const
 Constant access to the data via pointer to member.
template<typename R >
R & operator->* (R VertexContent::*ptr)
 Access to the data via pointer to member.
bool operator< (const Vertex &other) const
 Comparison operators.
bool operator<= (const Vertex &other) const
 Comparison operators.
Vertexoperator= (const weak_ref_t &other)
Vertexoperator= (const identity_t &id)
Vertexoperator= (const Vertex &other)
 Change the vertex held by the current object.
template<typename T1 >
bool operator== (const Vertex< T1 > &) const
 Two vertices of different types cannot be equal.
bool operator== (const Vertex &other) const
 Comparison operators.
bool operator> (const Vertex &other) const
 Comparison operators.
bool operator>= (const Vertex &other) const
 Comparison operators.
bool serialize (storage::VVEStorage &)
 Serialization method.
 Vertex (const weak_ref_t &w)
 Construct a strong reference from a weak one.
 Vertex (real_pointer content)
 Create a vertex using a counted content.
 Vertex (const Vertex &copy)
 Copy a vertex.
 Vertex (identity_t id)
 Creates a reference on the vertex of identifier id.
 Vertex (int i)
 Create an empty vertex (argument really should be 0).
 Vertex ()
 Creates a new vertex with a new content.
weak_ref_t weakRef () const
 Construct a weak reference on the current vertex.
 ~Vertex ()
 Desctructor.

Public Attributes

void * cache
 Cache information for iteration optimization.
identity_t cache_source
 Label of the reference vertex for the cache information.

Static Public Attributes

static Vertex null
 Null vertex.

Protected Member Functions

void release ()
 Release the current pointer.

Protected Attributes

real_pointer _content
 Content of the vertex.

Friends

class WeakVertex< VERTEX_ARGS >

Detailed Description

template<typename VertexContent>
class graph::Vertex< VertexContent >

Vertex of a vv graph.

The vertexes handle their associated data using a reference counting scheme. As such, they can be used as smart pointers. They are also comparable (<,>,==,!=), which allow for use in any sorted structure and hashable for use in any hash table-based structure.

They also all have a unique identifier. This identifier can be used to retrieve a weak reference on the data.

Warning:
A weak reference won't keep the data alive! So be careful when you use those. You can test if a vertex hold a weak reference using the Vertex<VertexContent>::isWeakRef() method.

Definition at line 116 of file vertex.h.


Member Typedef Documentation

template<typename VertexContent>
typedef VertexContent graph::Vertex< VertexContent >::content_t

Type of the content of the vertex.

Reimplemented in graph::WeakVertex< VertexContent >.

Definition at line 163 of file vertex.h.

template<typename VertexContent>
typedef CountedContent<VertexContent> graph::Vertex< VertexContent >::counted_content_t

Type of the reference-counted content.

Useful to share with other smart-pointers in VVE

Definition at line 126 of file vertex.h.

template<typename VertexContent>
typedef vertex_identity_t graph::Vertex< VertexContent >::identity_t

Type of the identifier of the vertex.

Reimplemented in graph::WeakVertex< VertexContent >.

Definition at line 158 of file vertex.h.

template<typename VertexContent>
typedef content_t* graph::Vertex< VertexContent >::pointer

Type of the equivalent pointer.

Reimplemented in graph::WeakVertex< VertexContent >.

Definition at line 170 of file vertex.h.

template<typename VertexContent>
typedef counted_content_t* graph::Vertex< VertexContent >::real_pointer

Pointer to the reference-counted content.

Useful to share with other smart-pointers in VVE

Definition at line 152 of file vertex.h.


Constructor & Destructor Documentation

template<TEMPLATE_VERTEX >
graph::Vertex< TEMPLATE_VERTEX >::Vertex (  )  [inline]

Creates a new vertex with a new content.

Example:

   struct VertexContent { int a; }
   // ...
   Vertex<VertexContent> v;
   v->a = 10;

Definition at line 623 of file vertex.h.

References graph::Vertex< VertexContent >::_content.

00624     : _content(0)
00625 #ifndef VVVERTEX_NO_CACHE
00626     , cache_source(0)
00627     , cache(0)
00628 #endif
00629   {
00630 #ifdef USE_ALLOCATOR
00631     _content = alloc.allocate(1);
00632     ::new(_content) counted_content_t();
00633 #elif defined(DEBUG_ALLOC) // defined USE_ALLOCATOR
00634     try
00635     {
00636       _content = new counted_content_t();
00637     }
00638     catch(std::bad_alloc& )
00639     {
00640       _content = 0;
00641     }
00642 #else
00643     _content = new counted_content_t();
00644 #endif // defined USE_ALLOCATOR
00645   }

template<TEMPLATE_VERTEX >
graph::Vertex< TEMPLATE_VERTEX >::Vertex ( int  i  )  [inline, explicit]

Create an empty vertex (argument really should be 0).

Definition at line 648 of file vertex.h.

References vvassert.

00649     : _content(0)
00650 #ifndef VVVERTEX_NO_CACHE
00651     , cache_source(0)
00652     , cache(0)
00653 #endif
00654     {
00655       vvassert(id == 0);
00656     }

template<TEMPLATE_VERTEX >
graph::Vertex< TEMPLATE_VERTEX >::Vertex ( identity_t  id  )  [inline, explicit]

Creates a reference on the vertex of identifier id.

If id is 0, creates a null vertex.

Parameters:
[in] id Label of the vertex to retrieve.
Warning:
This function is very unsafe if used with anything but 0 as an identifier.

Example:

   typedef Vertex<VertexContent> vertex;
   vertex v;
   vertex::identity_t i = v.id();
   vertex v1(i);
   assert(v1 == v);

Definition at line 659 of file vertex.h.

References graph::Vertex< VertexContent >::_content, and graph::CountedContent< Content >::count.

00660     : _content(reinterpret_cast<real_pointer>(id))
00661 #ifndef VVVERTEX_NO_CACHE
00662     , cache_source(0)
00663     , cache(0)
00664 #endif
00665   {
00666     if(_content)
00667     {
00668      if(_content->count == 0)
00669       _content = 0;
00670      else
00671        ++(_content->count);
00672     }
00673   }

template<TEMPLATE_VERTEX >
graph::Vertex< TEMPLATE_VERTEX >::Vertex ( const Vertex< VertexContent > &  copy  )  [inline]

Copy a vertex.

The data is not copied. The quality of the copy (i.e. weak/strong reference) is the same as the copied.

Definition at line 724 of file vertex.h.

References graph::Vertex< VertexContent >::_content, and graph::CountedContent< Content >::count.

00725     : _content(copy._content)
00726 #ifndef VVVERTEX_NO_CACHE
00727     , cache_source(0)
00728     , cache(0)
00729 #endif
00730   {
00731     if(_content)
00732     {
00733       ++(_content->count);
00734     }
00735   }

template<TEMPLATE_VERTEX >
graph::Vertex< TEMPLATE_VERTEX >::Vertex ( real_pointer  content  )  [inline]

Create a vertex using a counted content.

The vertex add to the ownership of the content

Definition at line 676 of file vertex.h.

References graph::Vertex< VertexContent >::_content, and graph::CountedContent< Content >::count.

00677     : _content(content)
00678 #ifndef VVVERTEX_NO_CACHE
00679     , cache_source(0)
00680     , cache(0)
00681 #endif
00682   {
00683     if(_content)
00684       ++(_content->count);
00685   }

template<typename VertexContent>
graph::Vertex< VertexContent >::Vertex ( const weak_ref_t w  )  [explicit]

Construct a strong reference from a weak one.

template<TEMPLATE_VERTEX >
graph::Vertex< TEMPLATE_VERTEX >::~Vertex (  )  [inline]

Desctructor.

Definition at line 617 of file vertex.h.

00618     {
00619       this->release();
00620     }


Member Function Documentation

template<typename VertexContent>
real_pointer graph::Vertex< VertexContent >::acquire (  )  [inline]

Return the content, and reset the value in the vertex.

Definition at line 267 of file vertex.h.

00267 { real_pointer p = _content; _content = 0; return p; }

template<typename VertexContent>
real_pointer graph::Vertex< VertexContent >::content (  )  const [inline]

Return the reference-counted object.

Definition at line 262 of file vertex.h.

00262 { return _content; }

template<typename VertexContent>
identity_t graph::Vertex< VertexContent >::id (  )  const [inline]

Return the identifier of a vertex.

Definition at line 395 of file vertex.h.

Referenced by graph::VVGraph< VertexContent, EdgeContent, compact >::arc(), graph::VVGraph< VertexContent, EdgeContent, compact >::edge(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::edge(), graph::VVGraph< VertexContent, EdgeContent, compact >::findInVertex(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::findInVertex(), graph::VVGraph< VertexContent, EdgeContent, compact >::insertEdge(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::insertEdge(), graph::VVGraph< VertexContent, EdgeContent, compact >::insertEdges(), graph::Vertex< VERTEX_ARGS >::operator!=(), graph::Vertex< VERTEX_ARGS >::operator<(), graph::Vertex< VERTEX_ARGS >::operator<=(), graph::Vertex< VERTEX_ARGS >::operator==(), graph::Vertex< VERTEX_ARGS >::operator>(), graph::Vertex< VERTEX_ARGS >::operator>=(), graph::VVGraph< VertexContent, EdgeContent, compact >::replace(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::replace(), graph::VVGraph< VertexContent, EdgeContent, compact >::spliceAfter(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::spliceAfter(), graph::VVGraph< VertexContent, EdgeContent, compact >::spliceBefore(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::spliceBefore(), graph::VVGraph< VertexContent, EdgeContent, compact >::updateEdgeCache(), and graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::updateEdgeCache().

00395 { return (identity_t)_content; }

template<typename VertexContent>
bool graph::Vertex< VertexContent >::isNull (  )  const [inline]

Test if a vertex is a null vertex.

Reimplemented in graph::WeakVertex< VertexContent >.

Definition at line 390 of file vertex.h.

Referenced by graph::VVGraph< VertexContent, EdgeContent, compact >::anyIn(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::anyIn(), vvcomplex::VVComplex< MANDATORY_COMPLEX_TEMPLATE_ARGS, RESOLVE_LEAF_CLASS(LeafClass, Tissue< ALL_COMPLEX_TEMPLATE_ARGS >)>::connectFromJunctions(), graph::VVGraph< VertexContent, EdgeContent, compact >::empty(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::empty(), graph::VVGraph< VertexContent, EdgeContent, compact >::findInVertex(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::findInVertex(), graph::VVGraph< VertexContent, EdgeContent, compact >::iAnyIn(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::iAnyIn(), graph::VVGraph< VertexContent, EdgeContent, compact >::iEmpty(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::iEmpty(), graph::VVGraph< VertexContent, EdgeContent, compact >::iNeighbors(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::iNeighbors(), graph::VVGraph< VertexContent, EdgeContent, compact >::insertEdge(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::insertEdge(), graph::VVGraph< VertexContent, EdgeContent, compact >::insertEdges(), graph::VVGraph< VertexContent, EdgeContent, compact >::iValence(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::iValence(), graph::VVGraph< VertexContent, EdgeContent, compact >::neighbors(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::neighbors(), graph::VVGraph< VertexContent, EdgeContent, compact >::replace(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::replace(), graph::VVGraph< VertexContent, EdgeContent, compact >::spliceAfter(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::spliceAfter(), graph::VVGraph< VertexContent, EdgeContent, compact >::spliceBefore(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::spliceBefore(), graph::VVGraph< VertexContent, EdgeContent, compact >::valence(), and graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::valence().

00390 { return _content == 0; }

template<typename VertexContent>
bool graph::Vertex< VertexContent >::isWeakRef (  )  const [inline]

Return true if the current object hold a weak reference on a vertex.

Definition at line 416 of file vertex.h.

00416 { return false; }

template<typename VertexContent>
size_t graph::Vertex< VertexContent >::num (  )  const [inline]

Return a number unique to each vertex, globally.

This method can be removed by defining NO_NUMBER_VERTICES at compile time

Definition at line 405 of file vertex.h.

Referenced by graph::Vertex< VERTEX_ARGS >::operator<(), graph::Vertex< VERTEX_ARGS >::operator<=(), graph::Vertex< VERTEX_ARGS >::operator>(), and graph::Vertex< VERTEX_ARGS >::operator>=().

00405 { return _content->num; }

template<typename VertexContent>
graph::Vertex< VertexContent >::operator bool (  )  const [inline]

Convert a vertex to true if it is not null.

Definition at line 411 of file vertex.h.

00411 { return _content; }

template<typename VertexContent>
template<typename T1 >
bool graph::Vertex< VertexContent >::operator!= ( const Vertex< T1 > &  other  )  const [inline]

Two vertices of different types cannot be equal.

Definition at line 331 of file vertex.h.

00331 { return true; }

template<typename VertexContent>
bool graph::Vertex< VertexContent >::operator!= ( const Vertex< VertexContent > &  other  )  const [inline]

Comparison operators.

Note:
the comparisons work on the identifiers, not the contents!

Definition at line 325 of file vertex.h.

00325 { return id() != other.id(); }

template<typename VertexContent>
reference graph::Vertex< VertexContent >::operator* (  )  const [inline]

Access to the data.

Warning:
Do not try to access the data of the null vertex.

Definition at line 257 of file vertex.h.

00257 { return *_content; }

template<typename VertexContent>
pointer graph::Vertex< VertexContent >::operator-> (  )  const [inline]

Access to the data.

Warning:
Do not try to access the data of the null vertex.

Definition at line 251 of file vertex.h.

00251 { return _content; }

template<typename VertexContent>
template<typename R >
const R& graph::Vertex< VertexContent >::operator->* ( R VertexContent::*  ptr  )  const [inline]

Constant access to the data via pointer to member.

Definition at line 281 of file vertex.h.

00282       {
00283         return _content->*ptr;
00284       }

template<typename VertexContent>
template<typename R >
R& graph::Vertex< VertexContent >::operator->* ( R VertexContent::*  ptr  )  [inline]

Access to the data via pointer to member.

Definition at line 273 of file vertex.h.

00274       {
00275         return _content->*ptr;
00276       }

template<typename VertexContent>
bool graph::Vertex< VertexContent >::operator< ( const Vertex< VertexContent > &  other  )  const [inline]

Comparison operators.

Note:
the comparisons work on the identifiers, not the contents!

Definition at line 351 of file vertex.h.

00352     {
00353 #ifdef VERTEX_ORDER_BY_NUM
00354       return num() < other.num();
00355 #else
00356       return id() < other.id();
00357 #endif
00358     }

template<typename VertexContent>
bool graph::Vertex< VertexContent >::operator<= ( const Vertex< VertexContent > &  other  )  const [inline]

Comparison operators.

Note:
the comparisons work on the identifiers, not the contents!

Definition at line 378 of file vertex.h.

00379     {
00380 #ifdef VERTEX_ORDER_BY_NUM
00381       return num() <= other.num();
00382 #else
00383       return id() <= other.id();
00384 #endif
00385     }

template<TEMPLATE_VERTEX >
Vertex< VERTEX_ARGS > & graph::Vertex< TEMPLATE_VERTEX >::operator= ( const Vertex< VertexContent > &  other  )  [inline]

Change the vertex held by the current object.

The data is never modified by this operation. If you wish to copy the data of a vertex v1 into a vertex v2 use:

 *v2 = *v1;

Definition at line 821 of file vertex.h.

References graph::Vertex< VertexContent >::_content.

00822   {
00823     if(_content == other._content)
00824     {
00825       return *this;
00826     }
00827     else
00828       this->release();
00829     _content = other._content;
00830     if(_content)
00831     {
00832       ++(_content->count);
00833     }
00834     return *this;
00835   }

template<typename VertexContent>
template<typename T1 >
bool graph::Vertex< VertexContent >::operator== ( const Vertex< T1 > &   )  const [inline]

Two vertices of different types cannot be equal.

Definition at line 318 of file vertex.h.

00318 { return false; }

template<typename VertexContent>
bool graph::Vertex< VertexContent >::operator== ( const Vertex< VertexContent > &  other  )  const [inline]

Comparison operators.

Note:
the comparisons work on the identifiers, not the contents!

Definition at line 312 of file vertex.h.

00312 { return id() == other.id(); }

template<typename VertexContent>
bool graph::Vertex< VertexContent >::operator> ( const Vertex< VertexContent > &  other  )  const [inline]

Comparison operators.

Note:
the comparisons work on the identifiers, not the contents!

Definition at line 338 of file vertex.h.

00339     {
00340 #ifdef VERTEX_ORDER_BY_NUM
00341       return num() > other.num();
00342 #else
00343       return id() > other.id();
00344 #endif
00345     }

template<typename VertexContent>
bool graph::Vertex< VertexContent >::operator>= ( const Vertex< VertexContent > &  other  )  const [inline]

Comparison operators.

Note:
the comparisons work on the identifiers, not the contents!

Definition at line 365 of file vertex.h.

00366     {
00367 #ifdef VERTEX_ORDER_BY_NUM
00368       return num() >= other.num();
00369 #else
00370       return id() >= other.id();
00371 #endif
00372     }

template<TEMPLATE_VERTEX >
void graph::Vertex< TEMPLATE_VERTEX >::release (  )  [inline, protected]

Release the current pointer.

Definition at line 797 of file vertex.h.

00798   {
00799     if( _content )
00800     {
00801       --(_content->count);
00802       if(_content->count == 0)
00803       {
00804 #ifdef USE_ALLOCATOR
00805         _content->~counted_content_t();
00806         alloc.deallocate(_content, 1);
00807 #else // defined USE_ALLOCATOR
00808         delete _content;
00809 #endif
00810       }
00811     }
00812   }

template<typename VertexContent>
bool graph::Vertex< VertexContent >::serialize ( storage::VVEStorage  ) 

Serialization method.

Warning:
You need to include <storage/graph.h> to use this serialization method
template<TEMPLATE_VERTEX >
Vertex< VERTEX_ARGS >::weak_ref_t graph::Vertex< TEMPLATE_VERTEX >::weakRef (  )  const [inline]

Construct a weak reference on the current vertex.

Definition at line 815 of file vertex.h.

00816   {
00817     return weak_ref_t(*this);
00818   }


Member Data Documentation

template<typename VertexContent>
real_pointer graph::Vertex< VertexContent >::_content [mutable, protected]
template<typename VertexContent>
void* graph::Vertex< VertexContent >::cache [mutable]
template<typename VertexContent>
identity_t graph::Vertex< VertexContent >::cache_source [mutable]
template<typename VertexContent>
Vertex< VERTEX_ARGS > graph::Vertex< TEMPLATE_VERTEX >::null [inline, static]

Null vertex.

Useful to return a constant reference on a vertex all the time.

Example:

 const vertex& fct(bool cond)
 {
   static vertex a;
   if(cond)
     return a;
    return vertex::null;
 }

Definition at line 439 of file vertex.h.

Referenced by vvcomplex::VVComplexGraph< RESOLVE_LEAF_CLASS(LeafClass, Tissue< ALL_COMPLEX_TEMPLATE_ARGS >), JunctionContent, graph::_EmptyEdgeContent, graph::_EmptyEdgeContent, false >::adjacentCell(), vvcomplex::VVComplexGraph< RESOLVE_LEAF_CLASS(LeafClass, Tissue< ALL_COMPLEX_TEMPLATE_ARGS >), JunctionContent, graph::_EmptyEdgeContent, graph::_EmptyEdgeContent, false >::adjacentCells(), graph::VVGraph< VertexContent, EdgeContent, compact >::any(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::any_vertex1(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::any_vertex2(), graph::VVGraph< VertexContent, EdgeContent, compact >::anyIn(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::anyIn(), graph::VVGraph< VertexContent, EdgeContent, compact >::flagged(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::flagged(), graph::VVGraph< VertexContent, EdgeContent, compact >::iAnyIn(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::iAnyIn(), vvcomplex::VVComplexGraph< RESOLVE_LEAF_CLASS(LeafClass, Tissue< ALL_COMPLEX_TEMPLATE_ARGS >), JunctionContent, graph::_EmptyEdgeContent, graph::_EmptyEdgeContent, false >::interfaceWall(), vvcomplex::VVComplexGraph< RESOLVE_LEAF_CLASS(LeafClass, Tissue< ALL_COMPLEX_TEMPLATE_ARGS >), JunctionContent, graph::_EmptyEdgeContent, graph::_EmptyEdgeContent, false >::interfaceWallSpan(), graph::VVGraph< VertexContent, EdgeContent, compact >::nextTo(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::nextTo(), graph::VVGraph< VertexContent, EdgeContent, compact >::prevTo(), graph::VVBiGraph< Vertex1Content, Vertex2Content, Edge1Content, Edge2Content_, compact >::prevTo(), graph::VVGraph< RESOLVE_LEAF_CLASS(LeafClass, Tissue< ALL_COMPLEX_TEMPLATE_ARGS >), graph::_EmptyEdgeContent, false >::reference(), graph::VVBiGraph< typename cell::content_t, typename junction::content_t >::reference(), graph::VVGraph< RESOLVE_LEAF_CLASS(LeafClass, Tissue< ALL_COMPLEX_TEMPLATE_ARGS >), graph::_EmptyEdgeContent, false >::source(), graph::VVBiGraph< typename cell::content_t, typename junction::content_t >::source(), graph::VVGraph< RESOLVE_LEAF_CLASS(LeafClass, Tissue< ALL_COMPLEX_TEMPLATE_ARGS >), graph::_EmptyEdgeContent, false >::store_vertices(), graph::VVGraph< RESOLVE_LEAF_CLASS(LeafClass, Tissue< ALL_COMPLEX_TEMPLATE_ARGS >), graph::_EmptyEdgeContent, false >::target(), and graph::VVBiGraph< typename cell::content_t, typename junction::content_t >::target().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Fri May 31 15:38:09 2013 for VVE by  doxygen 1.6.3