state_machine_cpp
builder_indirection.h
Go to the documentation of this file.
1 //
2 // Created by henri on 27/04/21.
3 //
4 
5 #ifndef STATE_MACHINE_CPP_BUILDER_INDIRECTION_H
6 #define STATE_MACHINE_CPP_BUILDER_INDIRECTION_H
7 
8 #include <list>
9 #include <vector>
10 #include "builder.h"
11 #include "states/state_any.h"
12 
14  Algorithm::Instance& m_destination;
15  const Layers* m_layers;
16  Algorithm::Mode m_build_mode;
17 protected:
18  [[nodiscard]] State::Instance as_instance(const State::Any& t_state) const;
19  [[nodiscard]] std::vector<State::Instance> as_instance(const std::list<State::Any>& t_states) const;
20 
21  [[nodiscard]] inline Algorithm::Mode build_mode() const;
22  [[nodiscard]] inline const Algorithm::Instance& destination() const;
24 public:
25  explicit Indirection(Algorithm::Instance& t_destination, const Layers* t_layer, Algorithm::Mode t_build_mode);
26 };
27 
29  return m_build_mode;
30 }
31 
33  return m_destination;
34 }
35 
37  return m_destination;
38 }
39 
40 
41 #endif //STATE_MACHINE_CPP_BUILDER_INDIRECTION_H
state_machine_cpp::Algorithm::Mode
Mode
Definition: builder_types.h:9
state_machine_cpp::Algorithm::Builder::Indirection::Indirection
Indirection(Algorithm::Instance &t_destination, const Layers *t_layer, Algorithm::Mode t_build_mode)
state_machine_cpp::State::Any
Definition: state_any.h:19
state_machine_cpp::Algorithm::Builder::Layers
Definition: builder_layers.h:10
state_any.h
state_machine_cpp::Algorithm::Instance
Definition: algorithm.h:23
state_machine_cpp::State::Instance
Definition: state_instance.h:23
state_machine_cpp::Algorithm::Builder::Indirection::destination
const Algorithm::Instance & destination() const
Definition: builder_indirection.h:32
state_machine_cpp::Algorithm::Builder::Indirection::as_instance
State::Instance as_instance(const State::Any &t_state) const
state_machine_cpp::Algorithm::Builder::Indirection::build_mode
Algorithm::Mode build_mode() const
Definition: builder_indirection.h:28
state_machine_cpp::Algorithm::Builder::Indirection
Definition: builder_indirection.h:13
builder.h