The MAUVE Toolchain
CoreContainer.hpp
1 /*
2  * Copyright 2017 ONERA
3  *
4  * This file is part of the MAUVE Runtime project.
5  *
6  * MAUVE Runtime is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU Lesser General Public License version 3 as
8  * published by the Free Software Foundation.
9  *
10  * MAUVE Runtime is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with MAUVE. If not, see <https://www.gnu.org/licenses/lgpl-3.0>.
17  */
18 #ifndef MAUVE_RUNTIME_CORE_CONTAINER_HPP
19 #define MAUVE_RUNTIME_CORE_CONTAINER_HPP
20 
21 #include "WithLogger.hpp"
22 #include "WithName.hpp"
23 #include "WithAbstractCore.hpp"
24 #include "WithShell.hpp"
25 
26 namespace mauve {
27  namespace runtime {
28 
32  template <typename SHELL>
34  : virtual public WithLogger
35  , virtual public WithName
36  , virtual public WithAbstractCore
37  , virtual public WithShell<SHELL>
38  {
39  };
40  }
41 }
42 
43 #endif
Trait for objects with an abstract Core.
Definition: WithAbstractCore.hpp:27
Object with a name.
Definition: WithName.hpp:27
Object with a Logger.
Definition: WithLogger.hpp:27
Object with a Shell.
Definition: WithShell.hpp:28
The MAUVE namespace.
Definition: tracing.hpp:24
Core container.
Definition: CoreContainer.hpp:33