Vcsn  2.4
Be Rational
vcsn::dyn::value_impl< Tag > Class Template Reference

A dyn Value/ValueSet. More...

#include <fwd.hh>

Collaboration diagram for vcsn::dyn::value_impl< Tag >:

Classes

struct  base
 Abstract wrapped typed Value/ValueSet. More...
 
struct  model
 A wrapped typed Value/ValueSet. More...
 

Public Member Functions

 value_impl ()
 Default construction: empty. More...
 
template<typename ValueSet >
 value_impl (const ValueSet &vs, const typename ValueSet::value_t &v)
 
symbol vname () const
 A description of the value type. More...
 
template<typename ValueSet >
auto & as ()
 Extract wrapped typed value. More...
 
template<typename ValueSet >
const auto & as () const
 Extract wrapped typed value. More...
 
value_imploperator-> ()
 
const value_imploperator-> () const
 
bool operator! ()
 
auto & operator= (std::nullptr_t)
 
auto & operator= (const value_impl &l)
 

Private Attributes

std::shared_ptr< baseself_ = nullptr
 The wrapped value/valueset. More...
 

Detailed Description

template<typename Tag>
class vcsn::dyn::value_impl< Tag >

A dyn Value/ValueSet.

Definition at line 23 of file fwd.hh.

Constructor & Destructor Documentation

template<typename Tag>
vcsn::dyn::value_impl< Tag >::value_impl ( )
inline

Default construction: empty.

Definition at line 38 of file value.hh.

template<typename Tag>
template<typename ValueSet >
vcsn::dyn::value_impl< Tag >::value_impl ( const ValueSet &  vs,
const typename ValueSet::value_t &  v 
)
inline

Definition at line 41 of file value.hh.

References vcsn::v.

Member Function Documentation

template<typename Tag>
template<typename ValueSet >
auto& vcsn::dyn::value_impl< Tag >::as ( )
inline

Extract wrapped typed value.

Definition at line 53 of file value.hh.

References vcsn::dyn::detail::dyn_cast().

Referenced by vcsn::dyn::detail::complement_expansion(), vcsn::dyn::constant_term(), vcsn::dyn::detail::context_of_expansion(), vcsn::dyn::detail::context_of_polynomial(), vcsn::dyn::cotrie(), vcsn::dyn::derivation(), vcsn::dyn::detail::eval_polynomial(), vcsn::dyn::evaluate(), vcsn::dyn::is_synchronized_by(), vcsn::dyn::detail::list_polynomial(), vcsn::dyn::lweight(), vcsn::dyn::detail::lweight_expansion(), vcsn::dyn::detail::lweight_expression(), vcsn::dyn::detail::lweight_polynomial(), vcsn::dyn::detail::multiply_label(), vcsn::dyn::detail::multiply_label_repeated(), vcsn::dyn::detail::multiply_weight(), vcsn::dyn::detail::multiply_weight_repeated(), vcsn::rat::parser::parse(), vcsn::dyn::detail::print_expansion(), vcsn::dyn::detail::print_label(), vcsn::dyn::detail::print_polynomial(), vcsn::dyn::detail::print_weight(), vcsn::dyn::detail::project_expansion(), vcsn::dyn::detail::project_label(), vcsn::dyn::detail::project_polynomial(), vcsn::dyn::rweight(), vcsn::dyn::detail::rweight_expansion(), vcsn::dyn::detail::rweight_expression(), vcsn::dyn::detail::rweight_polynomial(), vcsn::dyn::split(), vcsn::dyn::detail::split_polynomial(), vcsn::dyn::to_expansion(), vcsn::dyn::detail::to_expression_label(), and vcsn::dyn::trie().

Here is the call graph for this function:

template<typename Tag>
template<typename ValueSet >
const auto& vcsn::dyn::value_impl< Tag >::as ( ) const
inline

Extract wrapped typed value.

Definition at line 60 of file value.hh.

References vcsn::dyn::detail::dyn_cast().

Here is the call graph for this function:

template<typename Tag>
bool vcsn::dyn::value_impl< Tag >::operator! ( )
inline

Definition at line 75 of file value.hh.

template<typename Tag>
value_impl* vcsn::dyn::value_impl< Tag >::operator-> ( )
inline

Definition at line 65 of file value.hh.

template<typename Tag>
const value_impl* vcsn::dyn::value_impl< Tag >::operator-> ( ) const
inline

Definition at line 70 of file value.hh.

template<typename Tag>
auto& vcsn::dyn::value_impl< Tag >::operator= ( std::nullptr_t  )
inline

Definition at line 80 of file value.hh.

template<typename Tag>
auto& vcsn::dyn::value_impl< Tag >::operator= ( const value_impl< Tag > &  l)
inline

Definition at line 86 of file value.hh.

References vcsn::dyn::value_impl< Tag >::self_.

template<typename Tag>
symbol vcsn::dyn::value_impl< Tag >::vname ( ) const
inline

A description of the value type.

Definition at line 46 of file value.hh.

Member Data Documentation

template<typename Tag>
std::shared_ptr<base> vcsn::dyn::value_impl< Tag >::self_ = nullptr
private

The wrapped value/valueset.

Definition at line 134 of file value.hh.

Referenced by vcsn::dyn::value_impl< Tag >::operator=().


The documentation for this class was generated from the following files: