Class Buffer

Class Documentation

class Buffer

Implements decode and encode data according CIP specification.

An example:

Buffer buffer1();
cip::CipUint var1 = 1;
cip::CipDint var2 = 0xaa00000;

buffer1 << var1 << var2;

buffer1.data(); # => {0x01, 0x0, 0x0 ,0x0, 0x0, 0xaa}

Public Functions

Buffer(size_t capacity)

Creates an empty buffer

Parameters
  • capacity: the size that will be reserved in the buffer

Buffer(const std::vector<uint8_t> &data)

Creates a buffer that contains the given data

Parameters
  • data: The data to encode

Buffer()

Creates an empty buffer

Buffer &operator<<(uint8_t val)
Buffer &operator>>(uint8_t &val)
Buffer &operator<<(int8_t val)
Buffer &operator>>(int8_t &val)
Buffer &operator<<(uint16_t val)
Buffer &operator>>(uint16_t &val)
Buffer &operator<<(int16_t val)
Buffer &operator>>(int16_t &val)
Buffer &operator<<(uint32_t val)
Buffer &operator>>(uint32_t &val)
Buffer &operator<<(int32_t val)
Buffer &operator>>(int32_t &val)
Buffer &operator<<(uint64_t val)
Buffer &operator>>(uint64_t &val)
Buffer &operator<<(int64_t val)
Buffer &operator>>(int64_t &val)
Buffer &operator<<(float val)
Buffer &operator>>(float &val)
Buffer &operator<<(double val)
Buffer &operator>>(double &val)
Buffer &operator<<(const std::vector<uint8_t> &val)
Buffer &operator>>(std::vector<uint8_t> &val)
Buffer &operator<<(const std::vector<uint16_t> &val)
Buffer &operator>>(std::vector<uint16_t> &val)
template<typename T>
utils::Buffer &operator<<(const cip::CipBaseString<T> &cipSting)
template<typename T>
utils::Buffer &operator>>(cip::CipBaseString<T> &cipSting)
Buffer &operator<<(cip::CipRevision v)
Buffer &operator>>(cip::CipRevision &val)
Buffer &operator<<(sockets::EndPoint v)
Buffer &operator>>(sockets::EndPoint &val)
std::vector<uint8_t> data() const
size_t size() const
size_t pos() const
bool isValid() const
bool empty() const