ControlHost tag.
More...
#include <JTag.hh>
|
std::istream & | operator>> (std::istream &in, JTag &object) |
| Read JTag from input stream.
|
|
std::ostream & | operator<< (std::ostream &out, const JTag &object) |
| Write JTag to output stream.
|
|
ControlHost tag.
Definition at line 38 of file JTag.hh.
◆ JTag() [1/4]
Default constructor.
Definition at line 43 of file JTag.hh.
◆ JTag() [2/4]
JNET::JTag::JTag |
( |
const JTag & | tag | ) |
|
|
inline |
Copy constructor.
- Parameters
-
Definition at line 53 of file JTag.hh.
54 {
56 }
void setTag(const JTag &tag)
Set tag.
◆ JTag() [3/4]
JNET::JTag::JTag |
( |
const std::string & | tag | ) |
|
|
inline |
Constructor.
- Parameters
-
Definition at line 64 of file JTag.hh.
◆ JTag() [4/4]
JNET::JTag::JTag |
( |
const JTag_t | id | ) |
|
|
inline |
Constructor.
- Parameters
-
Definition at line 75 of file JTag.hh.
◆ getTag() [1/2]
const JTag & JNET::JTag::getTag |
( |
| ) |
const |
|
inline |
Get tag.
- Returns
- tag
Definition at line 86 of file JTag.hh.
87 {
88 return static_cast<const JTag&>(*this);
89 }
◆ getTag() [2/2]
JTag & JNET::JTag::getTag |
( |
| ) |
|
|
inline |
Get tag.
- Returns
- tag
Definition at line 97 of file JTag.hh.
98 {
99 return static_cast<JTag&>(*this);
100 }
◆ setTag() [1/3]
void JNET::JTag::setTag |
( |
const JTag & | tag | ) |
|
|
inline |
Set tag.
- Parameters
-
Definition at line 108 of file JTag.hh.
109 {
110 id = tag.getID();
111 }
◆ setTag() [2/3]
void JNET::JTag::setTag |
( |
const std::string & | tag | ) |
|
|
inline |
Set tag.
This method may throw an exception.
- Parameters
-
Definition at line 121 of file JTag.hh.
122 {
123 if (!tag.empty() && tag.size() <=
TAGSIZE) {
124
125 char* __p = (char*) &(this->id);
126
127 size_t i = 0;
128
129 for ( ; i != tag.size(); ++i) {
130 __p[i] = tag[i];
131 }
132
134 __p[i] = '\0';
135 }
136
137 } else {
138
139 THROW(JControlHostException,
"Invalid tag length <" << tag <<
"> " << tag.size());
140 }
141 }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
static const size_t TAGSIZE
Size of ControlHost tag.
◆ setTag() [3/3]
void JNET::JTag::setTag |
( |
const JTag_t | id | ) |
|
|
inline |
Set tag.
- Parameters
-
Definition at line 149 of file JTag.hh.
◆ getID()
JTag_t JNET::JTag::getID |
( |
| ) |
const |
|
inline |
Get identifier.
- Returns
- identifier
Definition at line 160 of file JTag.hh.
◆ toString()
std::string JNET::JTag::toString |
( |
| ) |
const |
|
inline |
Convert tag to string.
- Returns
- tag
Definition at line 171 of file JTag.hh.
172 {
174
175 const char* __p = (const char*) &(this->id);
176
177 while (pos != 0 && __p[pos-1] == '\0') {
178 --pos;
179 }
180
181 return std::string(__p, pos);
182 }
◆ operator std::string()
JNET::JTag::operator std::string |
( |
| ) |
const |
|
inline |
Type conversion operators.
- Returns
- tag
Definition at line 190 of file JTag.hh.
191 {
193 }
std::string toString() const
Convert tag to string.
◆ c_str()
const char * JNET::JTag::c_str |
( |
| ) |
const |
|
inline |
C-string.
- Returns
- tag
Definition at line 201 of file JTag.hh.
202 {
203 return (
const char*) &(this->
id);
204 }
◆ operator[]()
const char JNET::JTag::operator[] |
( |
int | i | ) |
const |
|
inline |
Get character.
- Parameters
-
- Returns
- character at index
Definition at line 213 of file JTag.hh.
214 {
215 const char* __p = (const char*) &(this->id);
216
217 return __p[i];
218 }
◆ operator>>
std::istream & operator>> |
( |
std::istream & | in, |
|
|
JTag & | object ) |
|
friend |
Read JTag from input stream.
- Parameters
-
in | input stream |
object | JTag |
- Returns
- input stream
Definition at line 228 of file JTag.hh.
229 {
230 std::string buffer;
231
232 if (in >> buffer) {
233 object.setTag(buffer);
234 }
235
236 return in;
237 }
◆ operator<<
std::ostream & operator<< |
( |
std::ostream & | out, |
|
|
const JTag & | object ) |
|
friend |
Write JTag to output stream.
- Parameters
-
out | output stream |
object | JTag |
- Returns
- output stream
Definition at line 247 of file JTag.hh.
248 {
249 return out << object.toString();
250 }
◆ id
The documentation for this class was generated from the following file: