Vcsn  2.0
Be Rational
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
vcsn::detail::properer< Aut, has_one >::state_profile Struct Reference

Data needed to compare the elimination order between states. More...

Collaboration diagram for vcsn::detail::properer< Aut, has_one >::state_profile:

Public Member Functions

 state_profile (state_t s, size_t insp, size_t in, size_t outsp, size_t out)
 Generate a state profile. More...
 
void update (size_t insp, size_t in, size_t outsp, size_t out)
 
bool operator< (const state_profile &r) const
 Whether l < r for the max-heap. More...
 

Public Attributes

state_t state
 From the heap's top, recover state to eliminate. More...
 
size_t in_sp
 Number of incoming spontaneous transitions. More...
 
size_t in_nsp
 Number of incoming non-spontaneous transitions. More...
 
size_t out_sp
 Number of outgoing spontaneous transitions. More...
 
size_t out_nsp
 Number of outgoing non-spontaneous transitions. More...
 

Friends

std::ostream & operator<< (std::ostream &o, const state_profile &p)
 

Detailed Description

template<typename Aut, bool has_one = labelset_t_of<Aut>::has_one()>
struct vcsn::detail::properer< Aut, has_one >::state_profile

Data needed to compare the elimination order between states.

Code profiling shows that we spend too much time iterating on outgoing and inconing transitions of states to compute the order of elimination. This structure caches what needs to be compared, and provides the comparison operator.

Definition at line 143 of file proper.hh.

Constructor & Destructor Documentation

template<typename Aut , bool has_one = labelset_t_of<Aut>::has_one()>
vcsn::detail::properer< Aut, has_one >::state_profile::state_profile ( state_t  s,
size_t  insp,
size_t  in,
size_t  outsp,
size_t  out 
)
inline

Generate a state profile.

Parameters
sstate handle
inspnumber of incoming spontaneous transitions to s
innumber of incoming transitions to a
outspnumber of outgoing spontaneous transitions from s
outnumber of outgoing transitions from s

Definition at line 163 of file proper.hh.

Member Function Documentation

template<typename Aut , bool has_one = labelset_t_of<Aut>::has_one()>
bool vcsn::detail::properer< Aut, has_one >::state_profile::operator< ( const state_profile r) const
inline
template<typename Aut , bool has_one = labelset_t_of<Aut>::has_one()>
void vcsn::detail::properer< Aut, has_one >::state_profile::update ( size_t  insp,
size_t  in,
size_t  outsp,
size_t  out 
)
inline

Friends And Related Function Documentation

template<typename Aut , bool has_one = labelset_t_of<Aut>::has_one()>
std::ostream& operator<< ( std::ostream &  o,
const state_profile p 
)
friend

Definition at line 197 of file proper.hh.

Member Data Documentation

template<typename Aut , bool has_one = labelset_t_of<Aut>::has_one()>
size_t vcsn::detail::properer< Aut, has_one >::state_profile::in_nsp

Number of incoming non-spontaneous transitions.

Definition at line 150 of file proper.hh.

Referenced by vcsn::detail::properer< Aut, has_one >::state_profile::update().

template<typename Aut , bool has_one = labelset_t_of<Aut>::has_one()>
size_t vcsn::detail::properer< Aut, has_one >::state_profile::in_sp

Number of incoming spontaneous transitions.

Definition at line 148 of file proper.hh.

Referenced by vcsn::detail::properer< Aut, has_one >::state_profile::operator<(), and vcsn::detail::properer< Aut, has_one >::state_profile::update().

template<typename Aut , bool has_one = labelset_t_of<Aut>::has_one()>
size_t vcsn::detail::properer< Aut, has_one >::state_profile::out_nsp

Number of outgoing non-spontaneous transitions.

Definition at line 154 of file proper.hh.

Referenced by vcsn::detail::properer< Aut, has_one >::state_profile::operator<(), and vcsn::detail::properer< Aut, has_one >::state_profile::update().

template<typename Aut , bool has_one = labelset_t_of<Aut>::has_one()>
size_t vcsn::detail::properer< Aut, has_one >::state_profile::out_sp

Number of outgoing spontaneous transitions.

Definition at line 152 of file proper.hh.

Referenced by vcsn::detail::properer< Aut, has_one >::state_profile::operator<(), and vcsn::detail::properer< Aut, has_one >::state_profile::update().

template<typename Aut , bool has_one = labelset_t_of<Aut>::has_one()>
state_t vcsn::detail::properer< Aut, has_one >::state_profile::state

From the heap's top, recover state to eliminate.

Definition at line 146 of file proper.hh.

Referenced by vcsn::detail::properer< Aut, has_one >::state_profile::operator<().


The documentation for this struct was generated from the following file: