27 #ifndef MLN_CORE_INTERNAL_SITE_ITERATOR_BASE_HH
28 # define MLN_CORE_INTERNAL_SITE_ITERATOR_BASE_HH
35 # include <mln/core/concept/site_iterator.hh>
36 # include <mln/core/concept/pseudo_site.hh>
56 template <
typename S,
typename E>
67 const mln_site(S)&
to_site() const;
80 const mln_psite(S)&
subj_();
99 #ifndef MLN_INCLUDE_ONLY
101 template <
typename S,
typename E>
108 template <
typename S,
typename E>
113 mln_precondition(
exact(*this).is_valid());
114 return this->get_subject();
117 template <
typename S,
typename E>
120 site_iterator_base<S, E>::subj_()
122 return exact(
this)->p_hook_();
125 template <
typename S,
typename E>
128 site_iterator_base<S, E>::target_()
133 #endif // ! MLN_INCLUDE_ONLY
140 #endif // ! MLN_CORE_INTERNAL_SITE_ITERATOR_BASE_HH