Public Types | Protected Attributes

mln::internal::nbh_iterator_base< G, C, Elt, E > Class Template Reference

#include <graph_nbh_iter_base.hh>

Inheritance diagram for mln::internal::nbh_iterator_base< G, C, Elt, E >:
Inheritance graph

List of all members.

Public Types

typedef Proxy< void > category
typedef E exact_t

Public Member Functions

bool is_valid () const
 Iterator interface.
void invalidate ()
 Invalidate the iterator.
void start ()
 Start an iteration.
void next ()
 Go to the next value.
unsigned index () const
 Return current index.
Elt::id_t id () const
 Returns the element ID.
 operator typename Elt::id_t () const
 Conversion operator. Returns the element id.
 operator typename Elt::id_value_t () const
 Conversion operator.
const C & center () const
 The psite around which this iterator moves.
template<typename S >
void center_at (const p_indexed_psite< S > &c)
 Make c the center of this iterator.
template<typename C2 >
void center_at (const C2 &c)
void change_target (const G &g)
 Change the graph targeted by this iterator.
const Elt & element () const
 Return the underlying element.
const Elt & elt_hook_ () const
 Hook to the current location.

const Elt & subj_ ()
 Proxy.

Protected Member Functions

 nbh_iterator_base ()
 Construction and assignment.
template<typename C2 >
 nbh_iterator_base (const C2 &c)

Protected Attributes

const C * c_
Elt elt_
unsigned i_

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


Member Typedef Documentation

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

Reimplemented from mln::Object< E >.

Reimplemented in mln::Accumulator< E >, mln::Pseudo_Site< E >, mln::Site_Proxy< E >, mln::Accumulator< mean< T, S, M > >, mln::Accumulator< max_site< I > >, mln::Accumulator< val< A > >, mln::Accumulator< p< A > >, mln::Accumulator< histo< value::set< T > > >, mln::Accumulator< pair< A1, A2, T > >, mln::Accumulator< histo< S > >, mln::Accumulator< bbox< typename S::site > >, mln::Accumulator< sup< T > >, mln::Accumulator< histo< T > >, mln::Accumulator< var< T > >, mln::Accumulator< card< I > >, mln::Accumulator< bbox< typename Sc::site > >, mln::Accumulator< max_h< V > >, mln::Accumulator< count< T > >, mln::Accumulator< rank< T > >, mln::Accumulator< count_labels< L > >, mln::Accumulator< min< V > >, mln::Accumulator< height< I > >, mln::Accumulator< bbox< P > >, mln::Accumulator< lor >, mln::Accumulator< min_h< V > >, mln::Accumulator< histo< V > >, mln::Accumulator< median_alt< value::set< T > > >, mln::Accumulator< median_h< V > >, mln::Accumulator< min< T > >, mln::Accumulator< median_alt< S > >, mln::Accumulator< inf< T > >, mln::Accumulator< histo< typename I::value > >, mln::Accumulator< rank_high_quant< T > >, mln::Accumulator< count< P > >, mln::Accumulator< rank< bool > >, mln::Accumulator< center< P, V > >, mln::Accumulator< sum< T, S > >, mln::Accumulator< maj_h< T > >, mln::Accumulator< median_h< typename I::value > >, mln::Accumulator< count_adjacent_vertices< F, S > >, mln::Accumulator< rms< T, V > >, mln::Accumulator< sum< I, S > >, mln::Accumulator< tuple< A, n, BOOST_PP_ENUM_PARAMS(10, T)> >, mln::Accumulator< nil< T > >, mln::Accumulator< max< V > >, mln::Accumulator< volume< I > >, mln::Accumulator< lor_basic >, mln::Accumulator< variance< T, S, R > >, mln::Accumulator< sharpness< I > >, mln::Accumulator< count_value< V > >, mln::Accumulator< land_basic >, mln::Accumulator< count_adjacent_vertices< I > >, mln::Accumulator< land >, mln::Accumulator< convolve< T1, T2, R > >, mln::Accumulator< rectangularity< P > >, mln::Accumulator< label_used< L > >, mln::Accumulator< pair< min< V >, max< V >, mln_argument(min< V >) > >, mln::Accumulator< max< T > >, mln::Accumulator< deviation< T, S, M > >, mln::Pseudo_Site< complex_psite< D, G > >, mln::Pseudo_Site< p_edges_psite< G, F > >, mln::Pseudo_Site< p_indexed_psite< S > >, mln::Pseudo_Site< p_double_psite< S, Sp > >, mln::Pseudo_Site< faces_psite< N, D, P > >, mln::Pseudo_Site< p_run_psite< P > >, mln::Pseudo_Site< p_vertices_psite< G, F > >, mln::Site_Proxy< p_complex_faces_fwd_piter_< N, D, P > >, mln::Site_Proxy< up_node_piter< T > >, mln::Site_Proxy< p_faces_bkd_piter_< N, D, P > >, mln::Site_Proxy< neighb_bkd_niter< W > >, mln::Site_Proxy< complex_psite< D, G > >, mln::Site_Proxy< p_edges_psite< G, F > >, mln::Site_Proxy< p_n_faces_bkd_piter< D, P > >, mln::Site_Proxy< p_n_faces_fwd_piter< D, P > >, mln::Site_Proxy< dn_leaf_piter< T > >, mln::Site_Proxy< p_run_bkd_piter_< P > >, mln::Site_Proxy< p_run_fwd_piter_< P > >, mln::Site_Proxy< p_indexed_psite< S > >, mln::Site_Proxy< dn_site_piter< T > >, mln::Site_Proxy< graph_window_if_piter< S, W, I > >, mln::Site_Proxy< p_indexed_fwd_piter< S > >, mln::Site_Proxy< p_transformed_piter< Pi, S, F > >, mln::Site_Proxy< multiple_size_qiter< n, W, F > >, mln::Site_Proxy< p_complex_faces_bkd_piter_< N, D, P > >, mln::Site_Proxy< p_double_psite< S, Sp > >, mln::Site_Proxy< graph_window_piter< S, W, I > >, mln::Site_Proxy< faces_psite< N, D, P > >, mln::Site_Proxy< p_faces_fwd_piter_< N, D, P > >, mln::Site_Proxy< p_graph_piter< S, I > >, mln::Site_Proxy< box_runstart_piter< P > >, mln::Site_Proxy< depth1st_piter< T > >, mln::Site_Proxy< p_run_psite< P > >, mln::Site_Proxy< neighb_fwd_niter< W > >, mln::Site_Proxy< dn_node_piter< T > >, mln::Site_Proxy< p_complex_fwd_piter_< D, G > >, mln::Site_Proxy< up_site_piter< T > >, mln::Site_Proxy< complex_window_fwd_piter< I, G, W > >, mln::Site_Proxy< p_centered_piter< W > >, mln::Site_Proxy< p_complex_bkd_piter_< D, G > >, mln::Site_Proxy< box_bkd_piter_< P > >, mln::Site_Proxy< complex_window_bkd_piter< I, G, W > >, mln::Site_Proxy< box_fwd_piter_< P > >, mln::Site_Proxy< complex_neighborhood_fwd_piter< I, G, N > >, mln::Site_Proxy< multiple_qiter< W, F > >, mln::Site_Proxy< complex_neighborhood_bkd_piter< I, G, N > >, mln::Site_Proxy< p_indexed_bkd_piter< S > >, mln::Site_Proxy< dpsites_bkd_piter< V > >, mln::Site_Proxy< p_double_piter< S, I1, I2 > >, mln::Site_Proxy< hexa_fwd_piter_< S > >, mln::Site_Proxy< up_leaf_piter< T > >, mln::Site_Proxy< dpsites_fwd_piter< V > >, mln::Site_Proxy< p_vertices_psite< G, F > >, and mln::Site_Proxy< p_if_piter_< Pi, S, F > >.

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

Constructor & Destructor Documentation

template<typename G , typename C , typename Elt , typename E >
mln::internal::nbh_iterator_base< G, C, Elt, E >::nbh_iterator_base (  )  [inline, 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  )  [inline, 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 [inline]

The psite around which this iterator moves.

References mln::internal::nbh_iterator_base< G, C, Elt, E >::c_.

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  )  [inline]
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  )  [inline]
template<typename G, typename C , typename Elt , typename E >
void mln::internal::nbh_iterator_base< G, C, Elt, E >::change_target ( const G &  g  )  [inline]

Change the graph targeted by this iterator.

References mln::internal::nbh_iterator_base< G, C, Elt, E >::elt_.

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

Return the underlying element.

References mln::internal::nbh_iterator_base< G, C, Elt, E >::elt_.

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

Hook to the current location.

References mln::internal::nbh_iterator_base< G, C, Elt, E >::elt_.

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

Returns the element ID.

References mln::internal::nbh_iterator_base< G, C, Elt, E >::elt_.

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

Return current index.

(The current element is the i-th neighbor)

References mln::internal::nbh_iterator_base< G, C, Elt, E >::i_.

template<typename G , typename C , typename Elt , typename E >
void mln::internal::nbh_iterator_base< G, C, Elt, E >::invalidate (  )  [inline]
template<typename G , typename C , typename Elt , typename E >
bool mln::internal::nbh_iterator_base< G, C, Elt, E >::is_valid (  )  const [inline]
template<typename G , typename C , typename Elt , typename E >
void mln::internal::nbh_iterator_base< G, C, Elt, E >::next (  )  [inline]
template<typename G , typename C , typename Elt , typename E >
mln::internal::nbh_iterator_base< G, C, Elt, E >::operator typename Elt::id_t (  )  const [inline]

Conversion operator. Returns the element id.

References mln::internal::nbh_iterator_base< G, C, Elt, E >::elt_.

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 [inline]

Conversion operator.

Returns the element id. FIXME: May cause ambiguities.

References mln::internal::nbh_iterator_base< G, C, Elt, E >::elt_.

template<typename G , typename C , typename Elt , typename E >
void mln::internal::nbh_iterator_base< G, C, Elt, E >::start (  )  [inline]
template<typename G , typename C , typename Elt , typename E >
const Elt & mln::internal::nbh_iterator_base< G, C, Elt, E >::subj_ (  )  [inline]

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]
template<typename G, typename C, typename Elt, typename E>
Elt mln::internal::nbh_iterator_base< G, C, Elt, E >::elt_ [protected]
template<typename G, typename C, typename Elt, typename E>
unsigned mln::internal::nbh_iterator_base< G, C, Elt, E >::i_ [protected]