Public Types | Public Member Functions | Protected Attributes

mln::internal::graph_psite_base< S, E > Class Template Reference

#include <graph_psite_base.hh>

Inheritance diagram for mln::internal::graph_psite_base< S, E >:
Inheritance graph

List of all members.

Public Types

typedef Pseudo_Site< void > category
typedef E exact_t
typedef S::graph_element::id_t id_t
typedef mln::metal::unqualif
< q_site_ >::ret 
site
typedef S target

Public Member Functions

const S::graph_element & element () const
 Explicit conversion towards the graph element (vertex or edge).
bool has_target () const
void invalidate ()
 Invalidate this psite.
bool is_valid () const
 Check whether it is valid.
 operator const typename S::graph_element & () const
 Conversion towards the graph element (vertex or edge).
 operator typename S::graph_element::id_t () const
 Convertion towards the graph element Id.
 operator unsigned () const
 Convertion towards the graph element Id.
const S::graph_element & p_hook_ () const
 Return the underlying element.
const S::site & subj_ ()
const siteto_site () const

void change_target (const S &new_target)
 Setters.
void update_id (unsigned elt_id)
 Update the underlying element's id.

const S * target_ () const
 Getters.
const S & site_set () const
 Return the site set (the target).
const S::graph_t & graph () const
 Return the graph associated to the target of this psite.
id_t id () const
 Return the id of the graph element designated by this psite.

Protected Member Functions

 graph_psite_base ()
 Constructors.
 graph_psite_base (const S &s)
 t A site set.
 graph_psite_base (const S &, unsigned id)
 t A site set.

Protected Attributes

S::graph_element elt_
const S * s_
S::site site_

Detailed Description

template<typename S, typename E>
class mln::internal::graph_psite_base< S, E >

Definition at line 48 of file graph_psite_base.hh.


Member Typedef Documentation

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

Reimplemented from mln::Site_Proxy< E >.

Definition at line 66 of file pseudo_site.hh.

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

Definition at line 173 of file object.hh.

template<typename S, typename E>
typedef S::graph_element::id_t mln::internal::graph_psite_base< S, E >::id_t

Definition at line 60 of file graph_psite_base.hh.

typedef mln::metal::unqualif< q_site_ >::ret mln::internal::pseudo_site_base_< const S::site & , E >::site [inherited]

Definition at line 57 of file pseudo_site_base.hh.

template<typename S, typename E>
typedef S mln::internal::graph_psite_base< S, E >::target

Definition at line 55 of file graph_psite_base.hh.


Constructor & Destructor Documentation

template<typename S , typename E >
mln::internal::graph_psite_base< S, E >::graph_psite_base (  )  [inline, protected]

Constructors.

Definition at line 200 of file graph_psite_base.hh.

template<typename S, typename E >
mln::internal::graph_psite_base< S, E >::graph_psite_base ( const S &  s  )  [inline, protected]

t A site set.

See also:
p_vertices, p_edges.

Definition at line 207 of file graph_psite_base.hh.

References mln::internal::graph_psite_base< S, E >::change_target().

template<typename S, typename E >
mln::internal::graph_psite_base< S, E >::graph_psite_base ( const S &  s,
unsigned  id 
) [inline, protected]

t A site set.

See also:
p_vertices, p_edges. id The id of the element associated to this psite.

Definition at line 214 of file graph_psite_base.hh.

References mln::internal::graph_psite_base< S, E >::change_target(), and mln::internal::graph_psite_base< S, E >::update_id().


Member Function Documentation

template<typename S, typename E >
void mln::internal::graph_psite_base< S, E >::change_target ( const S &  new_target  )  [inline]
template<typename S , typename E >
const S::graph_element & mln::internal::graph_psite_base< S, E >::element (  )  const [inline]

Explicit conversion towards the graph element (vertex or edge).

Definition at line 347 of file graph_psite_base.hh.

References mln::internal::graph_psite_base< S, E >::elt_.

template<typename S , typename E >
const S::graph_t & mln::internal::graph_psite_base< S, E >::graph (  )  const [inline]

Return the graph associated to the target of this psite.

Definition at line 276 of file graph_psite_base.hh.

References mln::internal::graph_psite_base< S, E >::s_.

template<typename E >
bool mln::Pseudo_Site< E >::has_target (  )  const [inline, inherited]

Definition at line 109 of file pseudo_site.hh.

References mln::exact().

template<typename S , typename E >
graph_psite_base< S, E >::id_t mln::internal::graph_psite_base< S, E >::id (  )  const [inline]

Return the id of the graph element designated by this psite.

Definition at line 285 of file graph_psite_base.hh.

References mln::internal::graph_psite_base< S, E >::elt_.

template<typename S , typename E >
void mln::internal::graph_psite_base< S, E >::invalidate (  )  [inline]
template<typename S , typename E >
bool mln::internal::graph_psite_base< S, E >::is_valid (  )  const [inline]
template<typename S , typename E >
mln::internal::graph_psite_base< S, E >::operator const typename S::graph_element & (  )  const [inline]

Conversion towards the graph element (vertex or edge).

Definition at line 338 of file graph_psite_base.hh.

References mln::internal::graph_psite_base< S, E >::elt_.

template<typename S , typename E >
mln::internal::graph_psite_base< S, E >::operator typename S::graph_element::id_t (  )  const [inline]

Convertion towards the graph element Id.

Definition at line 330 of file graph_psite_base.hh.

References mln::internal::graph_psite_base< S, E >::elt_, and mln::internal::graph_psite_base< S, E >::is_valid().

template<typename S , typename E >
mln::internal::graph_psite_base< S, E >::operator unsigned (  )  const [inline]

Convertion towards the graph element Id.

Definition at line 322 of file graph_psite_base.hh.

References mln::internal::graph_psite_base< S, E >::elt_, and mln::internal::graph_psite_base< S, E >::is_valid().

template<typename S , typename E >
const S::graph_element & mln::internal::graph_psite_base< S, E >::p_hook_ (  )  const [inline]

Return the underlying element.

Definition at line 360 of file graph_psite_base.hh.

References mln::internal::graph_psite_base< S, E >::elt_.

template<typename S , typename E >
const S & mln::internal::graph_psite_base< S, E >::site_set (  )  const [inline]

Return the site set (the target).

Definition at line 267 of file graph_psite_base.hh.

References mln::internal::graph_psite_base< S, E >::s_.

template<typename S , typename E >
const S::site & mln::internal::graph_psite_base< S, E >::subj_ (  )  [inline]
template<typename S , typename E >
const S * mln::internal::graph_psite_base< S, E >::target_ (  )  const [inline]

Getters.

Return the target (the site set).

Definition at line 259 of file graph_psite_base.hh.

References mln::internal::graph_psite_base< S, E >::s_.

const site& mln::internal::pseudo_site_base_< const S::site & , E >::to_site (  )  const [inherited]
template<typename S , typename E >
void mln::internal::graph_psite_base< S, E >::update_id ( unsigned  elt_id  )  [inline]

Update the underlying element's id.

This element can be an edge, a vertex...

Definition at line 249 of file graph_psite_base.hh.

References mln::internal::graph_psite_base< S, E >::elt_, mln::internal::graph_psite_base< S, E >::s_, and mln::internal::graph_psite_base< S, E >::site_.

Referenced by mln::internal::graph_psite_base< S, E >::graph_psite_base().


Member Data Documentation

template<typename S, typename E>
S::graph_element mln::internal::graph_psite_base< S, E >::elt_ [protected]
template<typename S, typename E>
const S* mln::internal::graph_psite_base< S, E >::s_ [protected]
template<typename S, typename E>
S ::site mln::internal::graph_psite_base< S, E >::site_ [protected]