ESPHome  2024.4.1
Public Member Functions | Static Public Member Functions | Protected Attributes
esphome::api::ProtoVarInt Class Reference

Representation of a VarInt - in ProtoBuf should be 64bit but we only use 32bit. More...

#include <proto.h>

Public Member Functions

 ProtoVarInt ()
 
 ProtoVarInt (uint64_t value)
 
uint32_t as_uint32 () const
 
uint64_t as_uint64 () const
 
bool as_bool () const
 
template<typename T >
as_enum () const
 
int32_t as_int32 () const
 
int64_t as_int64 () const
 
int32_t as_sint32 () const
 
int64_t as_sint64 () const
 
void encode (std::vector< uint8_t > &out)
 

Static Public Member Functions

static optional< ProtoVarIntparse (const uint8_t *buffer, uint32_t len, uint32_t *consumed)
 

Protected Attributes

uint64_t value_
 

Detailed Description

Representation of a VarInt - in ProtoBuf should be 64bit but we only use 32bit.

Definition at line 17 of file proto.h.

Constructor & Destructor Documentation

◆ ProtoVarInt() [1/2]

esphome::api::ProtoVarInt::ProtoVarInt ( )
inline

Definition at line 19 of file proto.h.

◆ ProtoVarInt() [2/2]

esphome::api::ProtoVarInt::ProtoVarInt ( uint64_t  value)
inlineexplicit

Definition at line 20 of file proto.h.

Member Function Documentation

◆ as_bool()

bool esphome::api::ProtoVarInt::as_bool ( ) const
inline

Definition at line 48 of file proto.h.

◆ as_enum()

template<typename T >
T esphome::api::ProtoVarInt::as_enum ( ) const
inline

Definition at line 49 of file proto.h.

◆ as_int32()

int32_t esphome::api::ProtoVarInt::as_int32 ( ) const
inline

Definition at line 50 of file proto.h.

◆ as_int64()

int64_t esphome::api::ProtoVarInt::as_int64 ( ) const
inline

Definition at line 54 of file proto.h.

◆ as_sint32()

int32_t esphome::api::ProtoVarInt::as_sint32 ( ) const
inline

Definition at line 58 of file proto.h.

◆ as_sint64()

int64_t esphome::api::ProtoVarInt::as_sint64 ( ) const
inline

Definition at line 66 of file proto.h.

◆ as_uint32()

uint32_t esphome::api::ProtoVarInt::as_uint32 ( ) const
inline

Definition at line 46 of file proto.h.

◆ as_uint64()

uint64_t esphome::api::ProtoVarInt::as_uint64 ( ) const
inline

Definition at line 47 of file proto.h.

◆ encode()

void esphome::api::ProtoVarInt::encode ( std::vector< uint8_t > &  out)
inline

Definition at line 74 of file proto.h.

◆ parse()

static optional<ProtoVarInt> esphome::api::ProtoVarInt::parse ( const uint8_t *  buffer,
uint32_t  len,
uint32_t *  consumed 
)
inlinestatic

Definition at line 22 of file proto.h.

Field Documentation

◆ value_

uint64_t esphome::api::ProtoVarInt::value_
protected

Definition at line 92 of file proto.h.


The documentation for this class was generated from the following file: