Vcsn  2.3a
Be Rational
vcsn::welement< Label, Weight > Struct Template Reference

Storage for a label and a non-null weight. More...

#include <wet.hh>

Inheritance diagram for vcsn::welement< Label, Weight >:
Collaboration diagram for vcsn::welement< Label, Weight >:

Public Types

using welement_label_t = detail::welement_label< Label >
 
using welement_weight_t = detail::welement_weight< Weight >
 
using label_t = typename welement_label_t::label_t
 
using weight_t = typename welement_weight_t::weight_t
 
using value_t = welement< typename std::remove_reference< label_t >::type, typename std::remove_reference< weight_t >::type >
 
- Public Types inherited from vcsn::detail::welement_label< Label >
using label_t = Label
 
- Public Types inherited from vcsn::detail::welement_weight< Weight >
using weight_t = Weight
 

Public Member Functions

template<typename Label2 , typename Weight2 >
 welement (Label2 &&l, Weight2 &&w)
 
 operator value_t () const
 
auto operator< (const welement &that) const -> bool
 
auto operator== (const welement &that) const -> bool
 
- Public Member Functions inherited from vcsn::detail::welement_label< Label >
 welement_label (const label_t &l)
 
 welement_label (label_t &&l)
 
const label_tlabel () const
 
void label (const label_t &l)
 
- Public Member Functions inherited from vcsn::detail::welement_weight< Weight >
 welement_weight (const weight_t &w)
 
 welement_weight (weight_t &&w)
 
const weight_tweight () const
 
void weight (const weight_t &k)
 

Detailed Description

template<typename Label, typename Weight>
struct vcsn::welement< Label, Weight >

Storage for a label and a non-null weight.

Definition at line 107 of file wet.hh.

Member Typedef Documentation

template<typename Label, typename Weight>
using vcsn::welement< Label, Weight >::label_t = typename welement_label_t::label_t

Definition at line 114 of file wet.hh.

template<typename Label, typename Weight>
using vcsn::welement< Label, Weight >::value_t = welement<typename std::remove_reference<label_t>::type, typename std::remove_reference<weight_t>::type>

Definition at line 118 of file wet.hh.

template<typename Label, typename Weight>
using vcsn::welement< Label, Weight >::weight_t = typename welement_weight_t::weight_t

Definition at line 115 of file wet.hh.

template<typename Label, typename Weight>
using vcsn::welement< Label, Weight >::welement_label_t = detail::welement_label<Label>

Definition at line 111 of file wet.hh.

template<typename Label, typename Weight>
using vcsn::welement< Label, Weight >::welement_weight_t = detail::welement_weight<Weight>

Definition at line 112 of file wet.hh.

Constructor & Destructor Documentation

template<typename Label, typename Weight>
template<typename Label2 , typename Weight2 >
vcsn::welement< Label, Weight >::welement ( Label2 &&  l,
Weight2 &&  w 
)
inline

Definition at line 121 of file wet.hh.

Member Function Documentation

template<typename Label, typename Weight>
vcsn::welement< Label, Weight >::operator value_t ( ) const
inline

Definition at line 126 of file wet.hh.

References vcsn::detail::welement_label< Label >::label(), and vcsn::detail::welement_weight< Weight >::weight().

Here is the call graph for this function:

template<typename Label, typename Weight>
auto vcsn::welement< Label, Weight >::operator< ( const welement< Label, Weight > &  that) const -> bool
inline

Definition at line 131 of file wet.hh.

References vcsn::detail::welement_label< Label >::label().

Here is the call graph for this function:

template<typename Label, typename Weight>
auto vcsn::welement< Label, Weight >::operator== ( const welement< Label, Weight > &  that) const -> bool
inline

Definition at line 137 of file wet.hh.

References vcsn::detail::welement_label< Label >::label().

Here is the call graph for this function:


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