Vcsn  2.4
Be Rational
vcsn::dyn::context Class Reference

Template-less root for contexts. More...

#include <context.hh>

Collaboration diagram for vcsn::dyn::context:

Classes

struct  base
 Abstract wrapped type. More...
 
struct  model
 A wrapped type. More...
 

Public Member Functions

 context ()
 
template<typename LabelSet , typename WeightSet >
 context (const vcsn::context< LabelSet, WeightSet > &ctx)
 A description of the context, sufficient to build it. More...
 
symbol vname () const
 
template<typename Ctx >
auto & as ()
 Downcast to the exact type. More...
 
template<typename Ctx >
auto & as () const
 Downcast to the exact type. More...
 
const auto * operator-> () const
 
 operator bool () const
 

Private Attributes

std::shared_ptr< baseself_
 The wrapped context. More...
 

Detailed Description

Template-less root for contexts.

Definition at line 16 of file context.hh.

Constructor & Destructor Documentation

vcsn::dyn::context::context ( )
inline

Definition at line 19 of file context.hh.

template<typename LabelSet , typename WeightSet >
vcsn::dyn::context::context ( const vcsn::context< LabelSet, WeightSet > &  ctx)
inline

A description of the context, sufficient to build it.

Definition at line 25 of file context.hh.

Member Function Documentation

template<typename Ctx >
auto& vcsn::dyn::context::as ( ) const
inline

Downcast to the exact type.

Definition at line 43 of file context.hh.

References vcsn::dyn::context::model< Context >::context(), and vcsn::dyn::detail::dyn_cast().

Here is the call graph for this function:

vcsn::dyn::context::operator bool ( ) const
inline

Definition at line 53 of file context.hh.

const auto* vcsn::dyn::context::operator-> ( ) const
inline

Definition at line 48 of file context.hh.

symbol vcsn::dyn::context::vname ( ) const
inline

Definition at line 29 of file context.hh.

Member Data Documentation

std::shared_ptr<base> vcsn::dyn::context::self_
private

The wrapped context.

Definition at line 91 of file context.hh.


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