state_machine_cpp
abstract_attribute_tree.h
Go to the documentation of this file.
1
//
2
// Created by henri on 10/11/21.
3
//
4
5
#ifndef STATE_MACHINE_CPP_ABSTRACT_ATTRIBUTE_TREE_H
6
#define STATE_MACHINE_CPP_ABSTRACT_ATTRIBUTE_TREE_H
7
8
namespace
state_machine_cpp
{
9
class
AbstractLayer;
10
class
AbstractAttributeTree;
11
12
namespace
Impl {
13
template
<
class
...X>
struct
merge
;
14
}
15
}
16
17
class
state_machine_cpp::AbstractAttributeTree
{
18
protected
:
19
friend
class
Context
;
20
template
<
class
...X>
friend
struct
Impl::merge
;
21
22
virtual
AbstractLayer
&
layer
(
unsigned
int
t_i) = 0;
23
24
[[nodiscard]]
virtual
const
AbstractLayer
&
layer
(
unsigned
int
t_i)
const
{
25
return
const_cast<
AbstractAttributeTree
&
>
(*this).
layer
(t_i);
26
}
27
28
public
:
29
30
virtual
~AbstractAttributeTree
() =
default
;
31
32
};
33
34
35
#endif //STATE_MACHINE_CPP_ABSTRACT_ATTRIBUTE_TREE_H
state_machine_cpp::AbstractAttributeTree
Definition:
abstract_attribute_tree.h:17
state_machine_cpp::AbstractAttributeTree::layer
virtual const AbstractLayer & layer(unsigned int t_i) const
Definition:
abstract_attribute_tree.h:24
state_machine_cpp
Definition:
algorithm.h:14
state_machine_cpp::AbstractLayer
Definition:
abstract_layer.h:12
state_machine_cpp::Impl::merge
Definition:
abstract_attribute_tree.h:13
state_machine_cpp::AbstractAttributeTree::~AbstractAttributeTree
virtual ~AbstractAttributeTree()=default
state_machine_cpp::Context
Definition:
context.h:25
state_machine_cpp::AbstractAttributeTree::layer
virtual AbstractLayer & layer(unsigned int t_i)=0
state_machine_cpp
include
context
abstract_attribute_tree.h
Generated by
1.8.17