#include <graph_nbh_iter.hh>
Public Types | |
typedef Proxy< void > | category |
typedef V | center |
Type of the iterator center element. | |
typedef E | exact_t |
typedef V | nbh |
Type of the iterator targeted elements. | |
Public Member Functions | |
const C & | center () const |
The psite around which this iterator moves. | |
template<typename C2> | |
void | center_at (const C2 &c) |
template<typename S> | |
void | center_at (const p_indexed_psite< S > &c) |
Make c the center of this iterator. | |
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. | |
Elt::id_t | id () const |
Returns the element ID. | |
unsigned | index () const |
Return current index. | |
void | invalidate () |
Invalidate the iterator. | |
bool | is_valid () const |
Iterator interface. | |
void | next () |
Go to the next value. | |
operator typename Elt::id_t () const | |
Conversion operator. Returns the element id. | |
operator typename Elt::id_value_t () const | |
Conversion operator. | |
void | start () |
Start an iteration. | |
const Elt & | subj_ () |
Proxy. | |
template<typename C> | |
vertex_nbh_vertex_bkd_iterator (const C &c) | |
vertex_nbh_vertex_bkd_iterator () | |
Construction and assignment. | |
Protected Member Functions | |
unsigned | next_id_ () const |
Go to the next value. | |
unsigned | start_id_ () const |
Start an iteration. | |
void | update_ () |
bool | is_valid_ () const |
Manipulation. | |
Protected Attributes | |
const C * | c_ |
Elt | elt_ |
unsigned | i_ |
Private Types | |
typedef vertex_nbh_vertex_bkd_iterator < G > | self_ |
typedef nbh_iterator_base< G, V, V, self_ > | super_ |
typedef util::vertex< G > | V |
Friends | |
class | nbh_iterator_base< G, V, V, self_ > |
Definition at line 92 of file graph_nbh_iter.hh.
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< mln::accu::maj_h< T > >, mln::Accumulator< mln::accu::stat::variance< T, S, R > >, mln::Accumulator< mln::accu::shape::bbox< Sc::site > >, mln::Accumulator< mln::accu::math::sum< T, S > >, mln::Accumulator< mln::accu::shape::bbox< S::site > >, mln::Accumulator< mln::accu::logic::lor >, mln::Accumulator< mln::accu::stat::min_h< V > >, mln::Accumulator< mln::accu::stat::median_alt< mln::value::set< T > > >, mln::Accumulator< mln::accu::stat::rank_high_quant< T > >, mln::Accumulator< mln::accu::pair< mln::accu::stat::min< V >, mln::accu::stat::max< V >, mln_argument(mln::accu::stat::min< V >) > >, mln::Accumulator< mln::accu::math::sup< T > >, mln::Accumulator< mln::accu::math::inf< T > >, mln::Accumulator< mln::accu::shape::bbox< P > >, mln::Accumulator< mln::accu::count_labels< L > >, mln::Accumulator< mln::accu::math::count< P > >, mln::Accumulator< mln::accu::center< P, V > >, mln::Accumulator< mln::accu::stat::mean< T, S, M > >, mln::Accumulator< mln::accu::convolve< T1, T2, R > >, mln::Accumulator< mln::accu::logic::lor_basic >, mln::Accumulator< mln::accu::count_adjacent_vertices< F, S > >, mln::Accumulator< mln::accu::shape::height< I > >, mln::Accumulator< mln::accu::stat::rank< T > >, mln::Accumulator< mln::accu::rms< T, V > >, mln::Accumulator< mln::accu::math::count< T > >, mln::Accumulator< mln::accu::count_value< V > >, mln::Accumulator< mln::accu::logic::land_basic >, mln::Accumulator< mln::morpho::attribute::count_adjacent_vertices< I > >, mln::Accumulator< mln::accu::stat::deviation< T, S, M > >, mln::Accumulator< mln::morpho::attribute::sharpness< I > >, mln::Accumulator< mln::accu::histo< V > >, mln::Accumulator< mln::accu::stat::max_h< V > >, mln::Accumulator< mln::accu::stat::max< T > >, mln::Accumulator< mln::accu::stat::min< T > >, mln::Accumulator< mln::accu::p< A > >, mln::Accumulator< mln::accu::shape::volume< I > >, mln::Accumulator< mln::accu::histo< S > >, mln::Accumulator< mln::accu::histo< mln::value::set< T > > >, mln::Accumulator< mln::accu::logic::land >, mln::Accumulator< mln::accu::max_site< I > >, mln::Accumulator< mln::accu::stat::rank< bool > >, mln::Accumulator< mln::accu::tuple< A, n, BOOST_PP_ENUM_PARAMS(10, T)> >, mln::Accumulator< mln::accu::stat::max< V > >, mln::Accumulator< mln::accu::stat::min< V > >, mln::Accumulator< mln::accu::nil< T > >, mln::Accumulator< mln::accu::stat::var< T > >, mln::Accumulator< mln::accu::stat::median_h< V > >, mln::Accumulator< mln::morpho::attribute::height< I > >, mln::Accumulator< mln::morpho::attribute::sum< I, S > >, mln::Accumulator< mln::morpho::attribute::card< I > >, mln::Accumulator< mln::accu::histo< I::value > >, mln::Accumulator< mln::accu::stat::median_h< I::value > >, mln::Accumulator< mln::accu::site_set::rectangularity< P > >, mln::Accumulator< mln::accu::val< A > >, mln::Accumulator< mln::morpho::attribute::volume< I > >, mln::Accumulator< mln::accu::histo< T > >, mln::Accumulator< mln::accu::stat::median_alt< S > >, mln::Accumulator< mln::accu::label_used< L > >, mln::Accumulator< mln::accu::pair< A1, A2, T > >, mln::Pseudo_Site< mln::p_run_psite< P > >, mln::Pseudo_Site< mln::p_indexed_psite< S > >, mln::Pseudo_Site< mln::p_vertices_psite< G, F > >, mln::Pseudo_Site< mln::faces_psite< N, D, P > >, mln::Pseudo_Site< mln::complex_psite< D, G > >, mln::Pseudo_Site< mln::p_double_psite< S, Sp > >, mln::Pseudo_Site< mln::p_edges_psite< G, F > >, mln::Site_Proxy< mln::p_indexed_fwd_piter< S > >, mln::Site_Proxy< mln::p_graph_piter< S, I > >, mln::Site_Proxy< mln::win::multiple_size_qiter< n, W, F > >, mln::Site_Proxy< mln::p_run_bkd_piter_< P > >, mln::Site_Proxy< mln::p_run_psite< P > >, mln::Site_Proxy< mln::p_complex_fwd_piter_< D, G > >, mln::Site_Proxy< mln::p_transformed_piter< Pi, S, F > >, mln::Site_Proxy< mln::p_faces_bkd_piter_< N, D, P > >, mln::Site_Proxy< mln::win::multiple_qiter< W, F > >, mln::Site_Proxy< mln::p_indexed_psite< S > >, mln::Site_Proxy< mln::box_fwd_piter_< P > >, mln::Site_Proxy< mln::morpho::tree::dn_site_piter< T > >, mln::Site_Proxy< mln::p_complex_bkd_piter_< D, G > >, mln::Site_Proxy< mln::p_indexed_bkd_piter< S > >, mln::Site_Proxy< mln::morpho::tree::up_site_piter< T > >, mln::Site_Proxy< mln::p_n_faces_bkd_piter< D, P > >, mln::Site_Proxy< mln::graph_window_piter< S, W, I > >, mln::Site_Proxy< mln::box_bkd_piter_< P > >, mln::Site_Proxy< mln::dpsites_bkd_piter< V > >, mln::Site_Proxy< mln::morpho::tree::dn_node_piter< T > >, mln::Site_Proxy< mln::p_complex_faces_bkd_piter_< N, D, P > >, mln::Site_Proxy< mln::complex_window_fwd_piter< I, G, W > >, mln::Site_Proxy< mln::morpho::tree::up_node_piter< T > >, mln::Site_Proxy< mln::morpho::tree::up_leaf_piter< T > >, mln::Site_Proxy< mln::p_vertices_psite< G, F > >, mln::Site_Proxy< mln::box_runstart_piter< P > >, mln::Site_Proxy< mln::complex_window_bkd_piter< I, G, W > >, mln::Site_Proxy< mln::faces_psite< N, D, P > >, mln::Site_Proxy< mln::p_faces_fwd_piter_< N, D, P > >, mln::Site_Proxy< mln::morpho::tree::depth1st_piter< T > >, mln::Site_Proxy< mln::box_runend_piter< P > >, mln::Site_Proxy< mln::dpsites_fwd_piter< V > >, mln::Site_Proxy< mln::complex_neighborhood_bkd_piter< I, G, N > >, mln::Site_Proxy< mln::p_if_piter_< Pi, S, F > >, mln::Site_Proxy< mln::complex_psite< D, G > >, mln::Site_Proxy< mln::p_centered_piter< W > >, mln::Site_Proxy< mln::neighb_bkd_niter< W > >, mln::Site_Proxy< mln::p_double_psite< S, Sp > >, mln::Site_Proxy< mln::graph_window_if_piter< S, W, I > >, mln::Site_Proxy< mln::hexa_fwd_piter_< S > >, mln::Site_Proxy< mln::p_complex_faces_fwd_piter_< N, D, P > >, mln::Site_Proxy< mln::neighb_fwd_niter< W > >, mln::Site_Proxy< mln::p_n_faces_fwd_piter< D, P > >, mln::Site_Proxy< mln::morpho::tree::dn_leaf_piter< T > >, mln::Site_Proxy< mln::p_run_fwd_piter_< P > >, mln::Site_Proxy< mln::p_double_piter< S, I1, I2 > >, mln::Site_Proxy< mln::p_edges_psite< G, F > >, and mln::Site_Proxy< mln::complex_neighborhood_fwd_piter< I, G, N > >.
Definition at line 234 of file core/concept/proxy.hh.
typedef V mln::internal::vertex_nbh_vertex_bkd_iterator< G >::center |
typedef E mln::Object< E >::exact_t [inherited] |
typedef V mln::internal::vertex_nbh_vertex_bkd_iterator< G >::nbh |
typedef vertex_nbh_vertex_bkd_iterator<G> mln::internal::vertex_nbh_vertex_bkd_iterator< G >::self_ [private] |
Definition at line 100 of file graph_nbh_iter.hh.
typedef nbh_iterator_base<G, V, V, self_> mln::internal::vertex_nbh_vertex_bkd_iterator< G >::super_ [private] |
Definition at line 101 of file graph_nbh_iter.hh.
typedef util::vertex<G> mln::internal::vertex_nbh_vertex_bkd_iterator< G >::V [private] |
Definition at line 98 of file graph_nbh_iter.hh.
mln::internal::vertex_nbh_vertex_bkd_iterator< G >::vertex_nbh_vertex_bkd_iterator | ( | ) | [inline] |
mln::internal::vertex_nbh_vertex_bkd_iterator< G >::vertex_nbh_vertex_bkd_iterator | ( | const C & | c | ) | [inline] |
Definition at line 384 of file graph_nbh_iter.hh.
const C & mln::internal::nbh_iterator_base< G, C, Elt, E >::center | ( | ) | const [inline, inherited] |
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_.
void mln::internal::nbh_iterator_base< G, C, Elt, E >::center_at | ( | const C2 & | c | ) | [inline, inherited] |
Definition at line 244 of file graph_nbh_iter_base.hh.
References mln::internal::nbh_iterator_base< G, C, Elt, E >::c_, mln::internal::nbh_iterator_base< G, C, Elt, E >::elt_, mln::exact(), and mln::internal::nbh_iterator_base< G, C, Elt, E >::invalidate().
void mln::internal::nbh_iterator_base< G, C, Elt, E >::center_at | ( | const p_indexed_psite< S > & | c | ) | [inline, inherited] |
Make c
the center of this iterator.
Definition at line 226 of file graph_nbh_iter_base.hh.
References mln::internal::nbh_iterator_base< G, C, Elt, E >::c_, mln::internal::nbh_iterator_base< G, C, Elt, E >::elt_, and mln::internal::nbh_iterator_base< G, C, Elt, E >::invalidate().
Referenced by mln::internal::nbh_iterator_base< G, C, Elt, E >::nbh_iterator_base().
void mln::internal::nbh_iterator_base< G, C, Elt, E >::change_target | ( | const G & | g | ) | [inline, inherited] |
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_.
const Elt & mln::internal::nbh_iterator_base< G, C, Elt, E >::element | ( | ) | const [inline, inherited] |
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_.
const Elt & mln::internal::nbh_iterator_base< G, C, Elt, E >::elt_hook_ | ( | ) | const [inline, inherited] |
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_.
Elt::id_t mln::internal::nbh_iterator_base< G, C, Elt, E >::id | ( | ) | const [inline, inherited] |
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_.
unsigned mln::internal::nbh_iterator_base< G, C, Elt, E >::index | ( | ) | const [inline, inherited] |
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_.
void mln::internal::nbh_iterator_base< G, C, Elt, E >::invalidate | ( | ) | [inline, inherited] |
Invalidate the iterator.
Definition at line 147 of file graph_nbh_iter_base.hh.
References mln::internal::nbh_iterator_base< G, C, Elt, E >::i_.
Referenced by mln::internal::nbh_iterator_base< G, C, Elt, E >::center_at().
bool mln::internal::nbh_iterator_base< G, C, Elt, E >::is_valid | ( | ) | const [inline, inherited] |
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().
bool mln::internal::vertex_nbh_vertex_bkd_iterator< G >::is_valid_ | ( | ) | const [inline, protected] |
Manipulation.
Test if the iterator is valid.
Definition at line 392 of file graph_nbh_iter.hh.
References mln::internal::nbh_iterator_base< G, C, Elt, E >::c_, and mln::internal::nbh_iterator_base< G, C, Elt, E >::i_.
void mln::internal::nbh_iterator_base< G, C, Elt, E >::next | ( | ) | [inline, inherited] |
Go to the next value.
Definition at line 165 of file graph_nbh_iter_base.hh.
References mln::internal::nbh_iterator_base< G, C, Elt, E >::c_, mln::exact(), mln::internal::nbh_iterator_base< G, C, Elt, E >::i_, and mln::internal::nbh_iterator_base< G, C, Elt, E >::is_valid().
unsigned mln::internal::vertex_nbh_vertex_bkd_iterator< G >::next_id_ | ( | ) | const [inline, protected] |
Go to the next value.
Definition at line 408 of file graph_nbh_iter.hh.
References mln::internal::nbh_iterator_base< G, C, Elt, E >::i_.
mln::internal::nbh_iterator_base< G, C, Elt, E >::operator typename Elt::id_t | ( | ) | const [inline, inherited] |
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_.
mln::internal::nbh_iterator_base< G, C, Elt, E >::operator typename Elt::id_value_t | ( | ) | const [inline, inherited] |
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_.
void mln::internal::nbh_iterator_base< G, C, Elt, E >::start | ( | ) | [inline, inherited] |
Start an iteration.
Definition at line 155 of file graph_nbh_iter_base.hh.
References mln::exact(), mln::internal::nbh_iterator_base< G, C, Elt, E >::i_, and mln::internal::nbh_iterator_base< G, C, Elt, E >::is_valid().
unsigned mln::internal::vertex_nbh_vertex_bkd_iterator< G >::start_id_ | ( | ) | const [inline, protected] |
Start an iteration.
Definition at line 400 of file graph_nbh_iter.hh.
References mln::internal::nbh_iterator_base< G, C, Elt, E >::c_.
const Elt & mln::internal::nbh_iterator_base< G, C, Elt, E >::subj_ | ( | ) | [inline, inherited] |
Definition at line 217 of file graph_nbh_iter_base.hh.
References mln::internal::nbh_iterator_base< G, C, Elt, E >::elt_.
void mln::internal::vertex_nbh_vertex_bkd_iterator< G >::update_ | ( | ) | [inline, protected] |
Definition at line 416 of file graph_nbh_iter.hh.
References mln::internal::nbh_iterator_base< G, C, Elt, E >::c_, and mln::internal::nbh_iterator_base< G, C, Elt, E >::elt_.
friend class nbh_iterator_base< G, V, V, self_ > [friend] |
Definition at line 131 of file graph_nbh_iter.hh.
const C* mln::internal::nbh_iterator_base< G, C, Elt, E >::c_ [protected, inherited] |
Definition at line 113 of file graph_nbh_iter_base.hh.
Referenced by mln::internal::nbh_iterator_base< G, C, Elt, E >::center(), mln::internal::nbh_iterator_base< G, C, Elt, E >::center_at(), mln::internal::edge_nbh_edge_bkd_iterator< G >::is_valid_(), mln::internal::edge_nbh_edge_fwd_iterator< G >::is_valid_(), mln::internal::vertex_nbh_edge_bkd_iterator< G >::is_valid_(), mln::internal::vertex_nbh_edge_fwd_iterator< G >::is_valid_(), mln::internal::vertex_nbh_vertex_bkd_iterator< G >::is_valid_(), mln::internal::vertex_nbh_vertex_fwd_iterator< G >::is_valid_(), mln::internal::nbh_iterator_base< G, C, Elt, E >::next(), mln::internal::edge_nbh_edge_bkd_iterator< G >::start_id_(), mln::internal::vertex_nbh_edge_bkd_iterator< G >::start_id_(), mln::internal::vertex_nbh_vertex_bkd_iterator< G >::start_id_(), mln::internal::edge_nbh_edge_bkd_iterator< G >::update_(), mln::internal::edge_nbh_edge_fwd_iterator< G >::update_(), mln::internal::vertex_nbh_edge_bkd_iterator< G >::update_(), mln::internal::vertex_nbh_edge_fwd_iterator< G >::update_(), mln::internal::vertex_nbh_vertex_bkd_iterator< G >::update_(), and mln::internal::vertex_nbh_vertex_fwd_iterator< G >::update_().
Elt mln::internal::nbh_iterator_base< G, C, Elt, E >::elt_ [protected, inherited] |
Definition at line 114 of file graph_nbh_iter_base.hh.
Referenced by mln::internal::nbh_iterator_base< G, C, Elt, E >::center_at(), mln::internal::nbh_iterator_base< G, C, Elt, E >::change_target(), mln::internal::nbh_iterator_base< G, C, Elt, E >::element(), mln::internal::nbh_iterator_base< G, C, Elt, E >::elt_hook_(), mln::internal::nbh_iterator_base< G, C, Elt, E >::id(), mln::internal::nbh_iterator_base< G, C, Elt, E >::operator typename Elt::id_t(), mln::internal::nbh_iterator_base< G, C, Elt, E >::operator typename Elt::id_value_t(), mln::internal::nbh_iterator_base< G, C, Elt, E >::subj_(), mln::internal::edge_nbh_edge_bkd_iterator< G >::update_(), mln::internal::edge_nbh_edge_fwd_iterator< G >::update_(), mln::internal::vertex_nbh_edge_bkd_iterator< G >::update_(), mln::internal::vertex_nbh_edge_fwd_iterator< G >::update_(), mln::internal::vertex_nbh_vertex_bkd_iterator< G >::update_(), and mln::internal::vertex_nbh_vertex_fwd_iterator< G >::update_().
unsigned mln::internal::nbh_iterator_base< G, C, Elt, E >::i_ [protected, inherited] |
Definition at line 115 of file graph_nbh_iter_base.hh.
Referenced by mln::internal::nbh_iterator_base< G, C, Elt, E >::index(), mln::internal::nbh_iterator_base< G, C, Elt, E >::invalidate(), mln::internal::edge_nbh_edge_bkd_iterator< G >::is_valid_(), mln::internal::edge_nbh_edge_fwd_iterator< G >::is_valid_(), mln::internal::vertex_nbh_edge_bkd_iterator< G >::is_valid_(), mln::internal::vertex_nbh_edge_fwd_iterator< G >::is_valid_(), mln::internal::vertex_nbh_vertex_bkd_iterator< G >::is_valid_(), mln::internal::vertex_nbh_vertex_fwd_iterator< G >::is_valid_(), mln::internal::nbh_iterator_base< G, C, Elt, E >::next(), mln::internal::edge_nbh_edge_bkd_iterator< G >::next_id_(), mln::internal::edge_nbh_edge_fwd_iterator< G >::next_id_(), mln::internal::vertex_nbh_edge_bkd_iterator< G >::next_id_(), mln::internal::vertex_nbh_edge_fwd_iterator< G >::next_id_(), mln::internal::vertex_nbh_vertex_bkd_iterator< G >::next_id_(), mln::internal::vertex_nbh_vertex_fwd_iterator< G >::next_id_(), mln::internal::nbh_iterator_base< G, C, Elt, E >::start(), mln::internal::edge_nbh_edge_bkd_iterator< G >::update_(), and mln::internal::edge_nbh_edge_fwd_iterator< G >::update_().