Jpp
JStatus.hh
Go to the documentation of this file.
1 #ifndef __JEEP__JSTATUS__
2 #define __JEEP__JSTATUS__
3 
4 #include <istream>
5 #include <ostream>
6 
7 #include "JLang/JEquals.hh"
8 #include "JIO/JSerialisable.hh"
9 #include "JIO/JSTDIO.hh"
10 
11 
12 /**
13  * \author mdejong
14  */
15 
16 namespace JEEP {}
17 namespace JPP { using namespace JEEP; }
18 
19 namespace JEEP {
20 
21  using JLANG::JEquals;
22  using JIO::JReader;
23  using JIO::JWriter;
24 
25 
26  /**
27  * Auxiliary class for status identifier.
28  */
29  class JStatus :
30  public JEquals<JStatus>
31  {
32  public:
33  /**
34  * Default constructor.
35  */
36  JStatus() :
37  __status(0)
38  {}
39 
40 
41  /**
42  * Constructor.
43  *
44  * \param status status
45  */
46  JStatus(const int& status) :
47  __status(status)
48  {}
49 
50 
51  /**
52  * Get status.
53  *
54  * \return status
55  */
56  int getStatus() const
57  {
58  return this->__status;
59  }
60 
61 
62  /**
63  * Get status.
64  *
65  * \return status
66  */
67  int& getStatus()
68  {
69  return this->__status;
70  }
71 
72 
73  /**
74  * Set status.
75  *
76  * \param status status
77  */
78  void setStatus(const int status)
79  {
80  this->__status = status;
81  }
82 
83 
84  /**
85  * Equal method.
86  *
87  * \param status status
88  * \result true if this status equal to given status; else false
89  */
90  inline bool equals(const JStatus& status) const
91  {
92  return this->getStatus() == status.getStatus();
93  }
94 
95 
96  /**
97  * Read status from input.
98  *
99  * \param in input stream
100  * \param status status
101  * \return input stream
102  */
103  friend inline std::istream& operator>>(std::istream& in, JStatus& status)
104  {
105  return in >> status.__status;
106  }
107 
108 
109  /**
110  * Write status to output.
111  *
112  * \param out output stream
113  * \param status status
114  * \return output stream
115  */
116  friend inline std::ostream& operator<<(std::ostream& out, const JStatus& status)
117  {
118  return out << status.__status;
119  }
120 
121 
122  /**
123  * Read status from input.
124  *
125  * \param in reader
126  * \param status status
127  * \return reader
128  */
129  friend inline JReader& operator>>(JReader& in, JStatus& status)
130  {
131  return in >> status.__status;
132  }
133 
134 
135  /**
136  * Write status to output.
137  *
138  * \param out writer
139  * \param status status
140  * \return writer
141  */
142  friend inline JWriter& operator<<(JWriter& out, const JStatus& status)
143  {
144  return out << status.__status;
145  }
146 
147  protected:
148  int __status;
149  };
150 }
151 
152 #endif
JEEP::JStatus::setStatus
void setStatus(const int status)
Set status.
Definition: JStatus.hh:78
JIO::JReader
Interface for binary input.
Definition: JSerialisable.hh:62
JEEP::JStatus::JStatus
JStatus()
Default constructor.
Definition: JStatus.hh:36
JEEP::JStatus::__status
int __status
Definition: JStatus.hh:148
JEEP::JStatus::operator<<
friend JWriter & operator<<(JWriter &out, const JStatus &status)
Write status to output.
Definition: JStatus.hh:142
JEEP
General puprpose classes and methods.
Definition: JArgs.hh:15
JEEP::JStatus::JStatus
JStatus(const int &status)
Constructor.
Definition: JStatus.hh:46
JEEP::JStatus
Auxiliary class for status identifier.
Definition: JStatus.hh:29
JLANG::JEquals
Template definition of auxiliary base class for comparison of data structures.
Definition: JEquals.hh:24
JEEP::JStatus::getStatus
int getStatus() const
Get status.
Definition: JStatus.hh:56
JEquals.hh
JEEP::JStatus::operator<<
friend std::ostream & operator<<(std::ostream &out, const JStatus &status)
Write status to output.
Definition: JStatus.hh:116
JEEP::JStatus::getStatus
int & getStatus()
Get status.
Definition: JStatus.hh:67
JPP
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Definition: JAAnetToolkit.hh:37
JSerialisable.hh
JEEP::JStatus::equals
bool equals(const JStatus &status) const
Equal method.
Definition: JStatus.hh:90
JSTDIO.hh
JEEP::JStatus::operator>>
friend std::istream & operator>>(std::istream &in, JStatus &status)
Read status from input.
Definition: JStatus.hh:103
JEEP::JStatus::operator>>
friend JReader & operator>>(JReader &in, JStatus &status)
Read status from input.
Definition: JStatus.hh:129
JIO::JWriter
Interface for binary output.
Definition: JSerialisable.hh:130