LTI-Lib latest version v1.9 - last update 10 Apr 2010

lti::adjacencyGraph< N, W, D, F, E >::entry_type Class Reference

Entry type used in the sparse matrix representing the affinity matrix. More...

#include <ltiAdjacencyGraph.h>

List of all members.

Public Types

typedef std::map< id_type,
typename adjacencyGraph< N, W,
D, F, E >::entry_type >
::iterator 
entry_iterator

Public Member Functions

 entry_type ()
 entry_type (const typename queue_type::index_type &idx, const edge_data_type &dta=edge_data_type(), const entry_iterator &it=entry_iterator())
 entry_type (const entry_type &other)
entry_typesetIndex (const typename queue_type::index_type &idx)
entry_typeoperator= (const entry_type &other)

Public Attributes

queue_type::index_type index
edge_data_type data
entry_iterator complement

Detailed Description

template<class N, class W = float, class D = int, class F = adjacencyGraphVoidWeightFunction<N,W,D>, class E = symmetricEdgeTraits<W>>
class lti::adjacencyGraph< N, W, D, F, E >::entry_type

Entry type used in the sparse matrix representing the affinity matrix.

The entry contains an attribute index to access the weight of the corresponding edge in the priority queue and additional information of type data_type.


Member Typedef Documentation

template<class N, class W = float, class D = int, class F = adjacencyGraphVoidWeightFunction<N,W,D>, class E = symmetricEdgeTraits<W>>
typedef std::map<id_type, typename adjacencyGraph<N,W,D,F,E>::entry_type>::iterator lti::adjacencyGraph< N, W, D, F, E >::entry_type::entry_iterator

Type to point to another entry.


Constructor & Destructor Documentation

template<class N, class W = float, class D = int, class F = adjacencyGraphVoidWeightFunction<N,W,D>, class E = symmetricEdgeTraits<W>>
lti::adjacencyGraph< N, W, D, F, E >::entry_type::entry_type (  )  [inline]

default constructor

template<class N, class W = float, class D = int, class F = adjacencyGraphVoidWeightFunction<N,W,D>, class E = symmetricEdgeTraits<W>>
lti::adjacencyGraph< N, W, D, F, E >::entry_type::entry_type ( const typename queue_type::index_type idx,
const edge_data_type dta = edge_data_type(),
const entry_iterator it = entry_iterator() 
) [inline]

construct with given values

template<class N, class W = float, class D = int, class F = adjacencyGraphVoidWeightFunction<N,W,D>, class E = symmetricEdgeTraits<W>>
lti::adjacencyGraph< N, W, D, F, E >::entry_type::entry_type ( const entry_type other  )  [inline]

copy constructor


Member Function Documentation

template<class N, class W = float, class D = int, class F = adjacencyGraphVoidWeightFunction<N,W,D>, class E = symmetricEdgeTraits<W>>
entry_type& lti::adjacencyGraph< N, W, D, F, E >::entry_type::operator= ( const entry_type other  )  [inline]
template<class N, class W = float, class D = int, class F = adjacencyGraphVoidWeightFunction<N,W,D>, class E = symmetricEdgeTraits<W>>
entry_type& lti::adjacencyGraph< N, W, D, F, E >::entry_type::setIndex ( const typename queue_type::index_type idx  )  [inline]

change the index and return a reference to this entry

References lti::adjacencyGraph< N, W, D, F, E >::entry_type::index.


Member Data Documentation

template<class N, class W = float, class D = int, class F = adjacencyGraphVoidWeightFunction<N,W,D>, class E = symmetricEdgeTraits<W>>
entry_iterator lti::adjacencyGraph< N, W, D, F, E >::entry_type::complement

Iterator to the complement of this entry.

If this entry belongs to the ids (i,j), then the complement has the ids (j,i).

The use of this iterator saves time computing the position of the complement, which is in manipulation operations required (like merge or remove).

This is possible considering that map has the important property that inserting a new element into a map does not invalidate iterators that point to existing elements. Erasing an element from a map also does not invalidate any iterators, except, of course, for iterators that actually point to the element that is being erased.

Referenced by lti::adjacencyGraph< N, W, D, F, E >::entry_type::operator=().

template<class N, class W = float, class D = int, class F = adjacencyGraphVoidWeightFunction<N,W,D>, class E = symmetricEdgeTraits<W>>
edge_data_type lti::adjacencyGraph< N, W, D, F, E >::entry_type::data

The data contains information relevant for the two regions to which this entry belongs.

It can be for example the length of the common border, or the distance between the colors of the boundaries.

Referenced by lti::adjacencyGraph< N, W, D, F, E >::entry_type::operator=().

template<class N, class W = float, class D = int, class F = adjacencyGraphVoidWeightFunction<N,W,D>, class E = symmetricEdgeTraits<W>>
queue_type::index_type lti::adjacencyGraph< N, W, D, F, E >::entry_type::index

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

Generated on Sat Apr 10 15:28:09 2010 for LTI-Lib by Doxygen 1.6.1