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_

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.


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< sum< typename mln::value::props< T >::sum, S > >, 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< histo3d_rgb< V > >, 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< box_runend_piter< 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< p_n_faces_bkd_piter< D, G > >, mln::Site_Proxy< p_n_faces_fwd_piter< D, G > >, 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 > >.

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

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

Definition at line 173 of file object.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 (  )  [inline, protected]

Construction and assignment.

Definition at line 122 of file graph_nbh_iter_base.hh.

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.

Definition at line 208 of file graph_nbh_iter_base.hh.

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.

Definition at line 260 of file graph_nbh_iter_base.hh.

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.

Definition at line 268 of file graph_nbh_iter_base.hh.

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.

Definition at line 276 of file graph_nbh_iter_base.hh.

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.

Definition at line 186 of file graph_nbh_iter_base.hh.

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)

Definition at line 178 of file graph_nbh_iter_base.hh.

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]

Iterator interface.

Test if the iterator is valid.

Definition at line 139 of file graph_nbh_iter_base.hh.

References mln::exact().

Referenced by mln::internal::nbh_iterator_base< G, C, Elt, E >::next(), and mln::internal::nbh_iterator_base< G, C, Elt, E >::start().

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.

Definition at line 193 of file graph_nbh_iter_base.hh.

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.

Definition at line 200 of file graph_nbh_iter_base.hh.

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]