yasmine
composite_state.hpp
Go to the documentation of this file.
1 // //
3 // This file is part of the Seadex yasmine ecosystem (http://yasmine.seadex.de). //
4 // Copyright (C) 2016-2017 Seadex GmbH //
5 // //
6 // Licensing information is available in the folder "license" which is part of this distribution. //
7 // The same information is available on the www @ http://yasmine.seadex.de/Licenses.html. //
8 // //
10 
11 
12 #ifndef COMPOSITE_STATE_1AD1142C_AAD0_4161_B700_32D0C0441769
13 #define COMPOSITE_STATE_1AD1142C_AAD0_4161_B700_32D0C0441769
14 
15 
16 #include "composite_state_fwd.hpp"
17 #include "complex_state.hpp"
18 #include "shallow_history_fwd.hpp"
19 #include "deep_history_fwd.hpp"
20 #include "entry_point_fwd.hpp"
21 #include "exit_point_fwd.hpp"
22 
23 
24 namespace sxy
25 {
26 
27 
29  public virtual complex_state
30 {
31 public:
33  {
34  // Nothing to do...
35  }
36 
37 
38  virtual ~composite_state() SX_NOEXCEPT SX_OVERRIDE
39  {
40  // Nothing to do...
41  }
42 
43 
44  SX_NO_COPY(composite_state)
45  virtual region& add_region( region_uptr _region ) = 0;
46  virtual region& add_region( const std::string& _region_name ) = 0;
47  virtual const deep_history * get_deep_history() const = 0;
48  virtual deep_history& add_deep_history( deep_history_uptr _deep_history ) = 0;
49  virtual deep_history& add_deep_history( const std::string& _deep_history_name ) = 0;
50  virtual shallow_history * get_shallow_history() const = 0;
51  virtual shallow_history& add_shallow_history( shallow_history_uptr _shallow_history ) = 0;
52  virtual shallow_history& add_shallow_history( const std::string& _shallow_history_name ) = 0;
53  virtual const raw_const_entry_points get_entry_points() const = 0;
54  virtual entry_point& add_entry_point( entry_point_uptr _entry_point ) = 0;
55  virtual entry_point& add_entry_point( const std::string& _entry_point_name ) = 0;
56  virtual const raw_const_exit_points get_exit_points() const = 0;
57  virtual exit_point& add_exit_point( exit_point_uptr _exit_point ) = 0;
58  virtual exit_point& add_exit_point( const std::string& _exit_point ) = 0;
59  virtual size_t get_region_index( const region* const _region ) const = 0;
60  virtual bool check_if_regions_are_completed() const = 0;
61  virtual bool is_orthogonal() const = 0;
62 };
63 
64 
65 }
66 
67 
68 #endif
sxe::SX_UNIQUE_PTR< deep_history > deep_history_uptr
Definition: deep_history_fwd.hpp:25
Definition: complex_state.hpp:26
sxe::SX_UNIQUE_PTR< shallow_history > shallow_history_uptr
Definition: shallow_history_fwd.hpp:23
virtual ~composite_state() SX_NOEXCEPT SX_OVERRIDE
Definition: composite_state.hpp:38
sxe::SX_UNIQUE_PTR< entry_point > entry_point_uptr
Definition: entry_point_fwd.hpp:25
std::vector< const entry_point *> raw_const_entry_points
Definition: entry_point_fwd.hpp:28
virtual shallow_history * get_shallow_history() const =0
Definition: deep_history.hpp:24
sxe::SX_UNIQUE_PTR< exit_point > exit_point_uptr
Definition: exit_point_fwd.hpp:25
Definition: composite_state.hpp:28
Definition: region.hpp:42
sxe::SX_UNIQUE_PTR< region > region_uptr
Definition: region_fwd.hpp:26
virtual const raw_const_entry_points get_entry_points() const =0
virtual shallow_history & add_shallow_history(shallow_history_uptr _shallow_history)=0
virtual deep_history & add_deep_history(deep_history_uptr _deep_history)=0
Definition: exit_point.hpp:24
Definition: adapter_cpp11.hpp:21
virtual entry_point & add_entry_point(entry_point_uptr _entry_point)=0
virtual exit_point & add_exit_point(exit_point_uptr _exit_point)=0
virtual const deep_history * get_deep_history() const =0
virtual size_t get_region_index(const region *const _region) const =0
virtual bool is_orthogonal() const =0
std::vector< const exit_point *> raw_const_exit_points
Definition: exit_point_fwd.hpp:28
virtual bool check_if_regions_are_completed() const =0
composite_state()
Definition: composite_state.hpp:32
virtual region & add_region(region_uptr _region)=0
virtual const raw_const_exit_points get_exit_points() const =0
Definition: entry_point.hpp:24
Definition: shallow_history.hpp:24