herald  2.0.0
rssi.h
1 // Copyright 2020-2021 Herald Project Contributors
2 // SPDX-License-Identifier: Apache-2.0
3 //
4 
5 #ifndef HERALD_RSSI_H
6 #define HERALD_RSSI_H
7 
8 #include <string>
9 #include <memory>
10 
11 namespace herald {
12 namespace datatype {
13 
14 class RSSI {
15 public:
16  RSSI(); // default ctor (evaluates to 0)
17  RSSI(int value); // int
18  RSSI(const RSSI& other); // copy
19  RSSI(RSSI&& other); // move
20  ~RSSI();
21 
22  RSSI& operator=(const RSSI& other); // copy assign
23  RSSI& operator=(RSSI&& other); // move assign
24 
25  bool operator==(const int other) const noexcept;
26  bool operator!=(const int other) const noexcept;
27  bool operator==(const RSSI& other) const noexcept;
28  bool operator!=(const RSSI& other) const noexcept;
29  bool operator<(const RSSI& other) const noexcept;
30  bool operator<=(const RSSI& other) const noexcept;
31  bool operator>(const RSSI& other) const noexcept;
32  bool operator>=(const RSSI& other) const noexcept;
33 
34  operator long() const noexcept;
35  operator double() const noexcept;
36 
37  std::size_t hashCode() const noexcept;
38 
39  operator std::string() const noexcept;
40 
41  int intValue() const noexcept;
42 
43 private:
44  int value;
45 };
46 
47 } // end namespace
48 } // end namespace
49 
50 #endif
Definition: rssi.h:14
Acts as a non-global memory arena for arbitrary classes.
Definition: aggregates.h:15