1
0
Fork 0

output properties

This commit is contained in:
Kevin Matz 2021-07-29 10:53:12 -04:00
parent 833b33b751
commit 1d4d99c9c2
1 changed files with 9 additions and 7 deletions

View File

@ -39,18 +39,13 @@ class pdu_stream
public:
pdu_stream(uint8_t * p, std::streamsize l);
// input sequence
uint32_t available() { return in_avail(); }
uint8_t * data() { return gptr(); };
uint8_t * data() { return gptr(); }
pdu_stream& operator>> (uint8_t& val);
pdu_stream& operator>> (uint16_t& val);
pdu_stream& operator>> (uint32_t& val);
pdu_stream& operator>> (uint64_t& val);
pdu_stream& operator<< (const uint8_t& val);
pdu_stream& operator<< (const uint16_t& val);
pdu_stream& operator<< (const uint32_t& val);
pdu_stream& operator<< (const uint64_t& val);
template<typename T> T readType()
{
if (in_avail() < sizeof(T)) {
@ -66,6 +61,13 @@ public:
return ret;
}
// output sequence
uint32_t size() { return pptr() - pbase(); }
uint8_t * base() { return pbase(); }
pdu_stream& operator<< (const uint8_t& val);
pdu_stream& operator<< (const uint16_t& val);
pdu_stream& operator<< (const uint32_t& val);
pdu_stream& operator<< (const uint64_t& val);
template<typename T> void writeType (const T& val)
{
auto data = reinterpret_cast<const uint8_t*>(&val);