1 #ifndef VCSN_DYN_CONTEXT_HH
2 # define VCSN_DYN_CONTEXT_HH
23 virtual std::string
vname(
bool full =
true)
const = 0;
27 static std::string
sname(
const std::string&
vname);
29 template <
typename Ctx>
35 template <
typename Ctx>
43 template <
typename Context>
54 virtual std::string
vname(
bool full =
true)
const override
71 using context = std::shared_ptr<const detail::context_base>;
73 template <
typename Context>
78 return std::make_shared<detail::context_wrapper<Context>>(ctx);
85 #endif // !VCSN_DYN_CONTEXT_HH
context make_context(const std::string &name)
Build a context from its name.
const context_t context() const
Template-less root for contexts.
context_wrapper(const context_t &context)
virtual std::string vname(bool full=true) const override
A description of the context, sufficient to build it.
std::shared_ptr< const detail::context_base > context
const context_t context_
The context.