eventMessage.hpp
Go to the documentation of this file.
1 /*------------------------------- phasicFlow ---------------------------------
2  O C enter of
3  O O E ngineering and
4  O O M ultiscale modeling of
5  OOOOOOO F luid flow
6 ------------------------------------------------------------------------------
7  Copyright (C): www.cemf.ir
8  email: hamid.r.norouzi AT gmail.com
9 ------------------------------------------------------------------------------
10 Licence:
11  This file is part of phasicFlow code. It is a free software for simulating
12  granular and multiphase flows. You can redistribute it and/or modify it under
13  the terms of GNU General Public License v3 or any other later versions.
14 
15  phasicFlow is distributed to help others in their research in the field of
16  granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the
17  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 
19 -----------------------------------------------------------------------------*/
20 
21 
22 #ifndef __eventMessage_hpp__
23 #define __eventMessage_hpp__
24 
25 
26 namespace pFlow
27 {
28 
30 {
31 public:
32  enum event : unsigned int
33  {
34  DELETE = 1,
35  INSERT = 2,
36  REARRANGE = 4,
40  };
41 
42 protected:
43 
44  unsigned int message_;
45 
46 public:
47 
49  :
50  message_(0)
51  {}
52 
53  eventMessage(unsigned int msg)
54  :
55  message_(msg)
56  {}
57 
58  inline unsigned int get()const
59  {
60  return message_;
61  }
62 
63  inline void set(unsigned int msg)
64  {
65  message_= msg;
66  }
67 
68  inline void add(unsigned int msg)
69  {
70  message_ = message_+ msg;
71  }
72 
73  inline bool equivalentTo( const event& evt )const
74  {
75  return (message_ & evt) == evt;
76  }
77 
78  inline bool isNull()const
79  {
80  return message_ == 0u;
81  }
82  inline bool isDeleted()const
83  {
84  return equivalentTo(event::DELETE);
85  }
86 
87  inline bool isInsert()const
88  {
89  return equivalentTo(event::INSERT);
90  }
91 
92  inline bool isRearranged()const
93  {
94  return equivalentTo(event::REARRANGE);
95  }
96 
97  inline bool isSizeChanged()const
98  {
99  return equivalentTo(event::SIZE_CHANGED);
100  }
101 
102  inline bool isCapacityChanged()const
103  {
104  return equivalentTo(event::CAP_CHANGED);
105  }
106 
107  inline bool isRangeChanged()const
108  {
109  return equivalentTo(event::RANGE_CHANGED);
110  }
111 
112 };
113 
114 }
115 
116 #endif // __eventMessage_hpp__
pFlow::eventMessage::isRearranged
bool isRearranged() const
Definition: eventMessage.hpp:92
pFlow::eventMessage::get
unsigned int get() const
Definition: eventMessage.hpp:58
pFlow::eventMessage::INSERT
@ INSERT
Definition: eventMessage.hpp:35
pFlow::eventMessage
Definition: eventMessage.hpp:29
pFlow::eventMessage::REARRANGE
@ REARRANGE
Definition: eventMessage.hpp:36
pFlow::eventMessage::add
void add(unsigned int msg)
Definition: eventMessage.hpp:68
pFlow::eventMessage::SIZE_CHANGED
@ SIZE_CHANGED
Definition: eventMessage.hpp:37
pFlow::eventMessage::DELETE
@ DELETE
Definition: eventMessage.hpp:34
pFlow::eventMessage::equivalentTo
bool equivalentTo(const event &evt) const
Definition: eventMessage.hpp:73
pFlow::eventMessage::isRangeChanged
bool isRangeChanged() const
Definition: eventMessage.hpp:107
pFlow::eventMessage::isInsert
bool isInsert() const
Definition: eventMessage.hpp:87
pFlow
Definition: demComponent.hpp:28
pFlow::eventMessage::eventMessage
eventMessage(unsigned int msg)
Definition: eventMessage.hpp:53
pFlow::eventMessage::message_
unsigned int message_
Definition: eventMessage.hpp:44
pFlow::eventMessage::isNull
bool isNull() const
Definition: eventMessage.hpp:78
pFlow::eventMessage::RANGE_CHANGED
@ RANGE_CHANGED
Definition: eventMessage.hpp:39
pFlow::eventMessage::isCapacityChanged
bool isCapacityChanged() const
Definition: eventMessage.hpp:102
pFlow::eventMessage::event
event
Definition: eventMessage.hpp:32
pFlow::eventMessage::isDeleted
bool isDeleted() const
Definition: eventMessage.hpp:82
pFlow::eventMessage::CAP_CHANGED
@ CAP_CHANGED
Definition: eventMessage.hpp:38
pFlow::eventMessage::set
void set(unsigned int msg)
Definition: eventMessage.hpp:63
pFlow::eventMessage::eventMessage
eventMessage()
Definition: eventMessage.hpp:48
pFlow::eventMessage::isSizeChanged
bool isSizeChanged() const
Definition: eventMessage.hpp:97