Awali
Another Weighted Automata library
context.hh
Go to the documentation of this file.
1 // This file is part of Awali.
2 // Copyright 2016-2021 Sylvain Lombardy, Victor Marsault, Jacques Sakarovitch
3 //
4 // Awali is a free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
16 
17 #ifndef DYN_CORE_CONTEXT_HH
18 #define DYN_CORE_CONTEXT_HH
19 
20 #include<list>
21 #include<memory>
22 #include<string>
23 #include<vector>
24 
27 
28 namespace awali { namespace dyn {
29 
41  class context_t
42  : public std::shared_ptr<abstract_context_t>
43  {
44  public:
45 
49  context_t();
50 
58  template <class T>
60  const std::shared_ptr<T> &ptr,
61  typename std::enable_if<
63  >::type = 0
64  )
65  : std::shared_ptr<abstract_context_t>(ptr)
66  {}
67 
71 
72  };
73 
74 }}//end of ns awali::dyn
75 #endif
awali
Main namespace of Awali.
Definition: ato.hh:22
context_description.hh
abstract_context.hh
awali::dyn::context_t
Dynamical wrapper for a context, that is a weightset and a labelset.
Definition: context.hh:41
awali::dyn::context_t::context_t
context_t()
Buils an empty context (i.e.
awali::dyn::abstract_context_t
Abstract interface representing the weightset and labelset of an automaton, a rational expression or ...
Definition: abstract_context.hh:34
awali::priority::value
static constexpr TOP< void > value
Definition: priority.hh:93
awali::dyn::context_t::context_t
context_t(const std::shared_ptr< T > &ptr, typename std::enable_if< std::is_base_of< abstract_context_t, T >::value, int >::type=0)
Builds a context from a shared pointer to a class derived of abstract_context_t; should generally not...
Definition: context.hh:59
awali::dyn::context::weightset_description
std::shared_ptr< weightset_description_impl > weightset_description
Definition: description_types.hh:33
awali::dyn::context::labelset_description
std::shared_ptr< labelset_description_impl > labelset_description
Definition: description_types.hh:32