21    std::variant<uint16_t, bool> _value;
 
   63    [[nodiscard]] 
bool isCoil()
 const { 
return std::holds_alternative<bool>(_value); };
 
   69    [[nodiscard]] 
bool isReg()
 const { 
return std::holds_alternative<uint16_t>(_value); };
 
   77            _value = 
static_cast<bool>(std::get<uint16_t>(_value));
 
   78        return std::get<bool>(_value);
 
 
   87            _value = 
static_cast<uint16_t
>(std::get<bool>(_value));
 
   88        return std::get<uint16_t>(_value);
 
 
   96    [[nodiscard]] 
const bool &
coil()
 const { 
return std::get<bool>(_value); };
 
  103    [[nodiscard]] 
const uint16_t &
reg()
 const { 
return std::get<uint16_t>(_value); };
 
  109    [[nodiscard]] std::string 
toString() const noexcept {
 
  110        return isCoil() ? ((
coil()) ? 
"true" : 
"false") : std::to_string(
reg());
 
 
 
Class that represents single modbus cell, it is either coil(bool) or reg(uint16_t).
Definition modbusCell.hpp:19
uint16_t & reg()
Returns register value, changes cell type if necessary.
Definition modbusCell.hpp:85
bool isCoil() const
Checks if cell is coil.
Definition modbusCell.hpp:63
constexpr ModbusCell(bool coil)
Constructs cell with coil value.
Definition modbusCell.hpp:39
const bool & coil() const
Returns coil value.
Definition modbusCell.hpp:96
bool isReg() const
Checks if cell is register.
Definition modbusCell.hpp:69
constexpr ModbusCell()=default
Constructs cell with register type equal to 0.
static ModbusCell initReg(uint16_t reg)
Static wrapper for cell construction.
Definition modbusCell.hpp:50
bool & coil()
Returns coil value, changes cell type if necessary.
Definition modbusCell.hpp:75
static ModbusCell initCoil(bool coil)
Static wrapper for cell construction.
Definition modbusCell.hpp:57
std::string toString() const noexcept
Definition modbusCell.hpp:109
const uint16_t & reg() const
Returns register value.
Definition modbusCell.hpp:103
constexpr ModbusCell(uint16_t reg)
Constructs cell with register value.
Definition modbusCell.hpp:33