$extrastylesheet
Olena  User documentation 2.1
An Image Processing Platform
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mln::internal::nbh_iterator_base< G, C, Elt, E > Class Template Reference

#include <mln/util/internal/graph_nbh_iter_base.hh>

Public Member Functions

bool is_valid () const
void invalidate ()
void start ()
void next ()
unsigned index () const
Elt::id_t id () const
 operator typename Elt::id_t () const
 operator typename Elt::id_value_t () const
const C & center () const
template<typename S >
void center_at (const p_indexed_psite< S > &c)
template<typename C2 >
void center_at (const C2 &c)
void change_target (const G &g)
const Elt & element () const
const Elt & elt_hook_ () const
const Elt & subj_ ()

Protected Member Functions

 nbh_iterator_base ()
template<typename C2 >
 nbh_iterator_base (const C2 &c)

Protected Attributes

const C * c_
Elt elt_
unsigned i_

Public Types

typedef Proxy< void > category
typedef E exact_t

Detailed Description

template<typename G, typename C, typename Elt, typename E>
class mln::internal::nbh_iterator_base< G, C, Elt, E >

Definition at line 45 of file graph_nbh_iter_base.hh.

Constructor & Destructor Documentation

template<typename G, typename C, typename Elt, typename E>
mln::internal::nbh_iterator_base< G, C, Elt, E >::nbh_iterator_base ( )
protected

Construction and assignment.

template<typename G, typename C, typename Elt, typename E>
template<typename C2 >
mln::internal::nbh_iterator_base< G, C, Elt, E >::nbh_iterator_base ( const C2 &  c)
protected

Member Function Documentation

template<typename G, typename C, typename Elt, typename E>
const C& mln::internal::nbh_iterator_base< G, C, Elt, E >::center ( ) const

The psite around which this iterator moves.

template<typename G, typename C, typename Elt, typename E>
template<typename S >
void mln::internal::nbh_iterator_base< G, C, Elt, E >::center_at ( const p_indexed_psite< S > &  c)

Make c the center of this iterator.

template<typename G, typename C, typename Elt, typename E>
template<typename C2 >
void mln::internal::nbh_iterator_base< G, C, Elt, E >::center_at ( const C2 &  c)
template<typename G, typename C, typename Elt, typename E>
void mln::internal::nbh_iterator_base< G, C, Elt, E >::change_target ( const G &  g)

Change the graph targeted by this iterator.

template<typename G, typename C, typename Elt, typename E>
const Elt& mln::internal::nbh_iterator_base< G, C, Elt, E >::element ( ) const

Return the underlying element.

template<typename G, typename C, typename Elt, typename E>
const Elt& mln::internal::nbh_iterator_base< G, C, Elt, E >::elt_hook_ ( ) const

Hook to the current location.

template<typename G, typename C, typename Elt, typename E>
Elt::id_t mln::internal::nbh_iterator_base< G, C, Elt, E >::id ( ) const

Returns the element ID.

template<typename G, typename C, typename Elt, typename E>
unsigned mln::internal::nbh_iterator_base< G, C, Elt, E >::index ( ) const

Return current index.

(The current element is the i-th neighbor)

template<typename G, typename C, typename Elt, typename E>
void mln::internal::nbh_iterator_base< G, C, Elt, E >::invalidate ( )

Invalidate the iterator.

template<typename G, typename C, typename Elt, typename E>
bool mln::internal::nbh_iterator_base< G, C, Elt, E >::is_valid ( ) const

Iterator interface.

Test if the iterator is valid.

template<typename G, typename C, typename Elt, typename E>
void mln::internal::nbh_iterator_base< G, C, Elt, E >::next ( )

Go to the next value.

template<typename G, typename C, typename Elt, typename E>
mln::internal::nbh_iterator_base< G, C, Elt, E >::operator typename Elt::id_t ( ) const

Conversion operator. Returns the element id.

template<typename G, typename C, typename Elt, typename E>
mln::internal::nbh_iterator_base< G, C, Elt, E >::operator typename Elt::id_value_t ( ) const

Conversion operator.

Returns the element id. FIXME: May cause ambiguities.

template<typename G, typename C, typename Elt, typename E>
void mln::internal::nbh_iterator_base< G, C, Elt, E >::start ( )

Start an iteration.

template<typename G, typename C, typename Elt, typename E>
const Elt& mln::internal::nbh_iterator_base< G, C, Elt, E >::subj_ ( )

Proxy.

Proxy subject

Member Data Documentation

template<typename G, typename C, typename Elt, typename E>
const C* mln::internal::nbh_iterator_base< G, C, Elt, E >::c_
protected

Definition at line 113 of file graph_nbh_iter_base.hh.

template<typename G, typename C, typename Elt, typename E>
Elt mln::internal::nbh_iterator_base< G, C, Elt, E >::elt_
protected

Definition at line 114 of file graph_nbh_iter_base.hh.

template<typename G, typename C, typename Elt, typename E>
unsigned mln::internal::nbh_iterator_base< G, C, Elt, E >::i_
protected

Definition at line 115 of file graph_nbh_iter_base.hh.

Member Typedef Documentation

template<typename E>
typedef Proxy<void> mln::Proxy< E >::category
inherited

Definition at line 229 of file core/concept/proxy.hh.

template<typename E>
typedef E mln::Object< E >::exact_t
inherited

Definition at line 105 of file object.hh.