yasmine
behavior_impl.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 BEHAVIOR_IMPL_44F1A85F_F127_46DE_811B_DD146F1AECD6
13 #define BEHAVIOR_IMPL_44F1A85F_F127_46DE_811B_DD146F1AECD6
14 
15 
16 #include "behavior.hpp"
17 
18 
19 namespace sxy
20 {
21 
22 
23 class event;
24 
25 
26 class behavior_impl SX_FINAL:
27  public virtual behavior
28 {
29 public:
30  explicit behavior_impl( const behavior_function& _function );
31  virtual ~behavior_impl() SX_NOEXCEPT SX_OVERRIDE;
32  SX_NO_COPY( behavior_impl )
33  virtual void operator()( const event& _event, event_collector& _event_collector ) const SX_OVERRIDE;
34 
38  static behavior_uptr create_behavior( const behavior_function& _function );
39 
40 
41 private:
42  behavior_function function_;
43 };
44 
45 
46 }
47 
48 
49 #endif
Definition: adapter_cpp11.hpp:21
sxe::function< void(const event &, event_collector &) > behavior_function
Definition: behavior_fwd.hpp:29
sxe::SX_UNIQUE_PTR< behavior > behavior_uptr
Definition: behavior_fwd.hpp:25