55 template <
class ObjectType>
FSTR_INLINE constexpr
const ObjectType&
as()
const 57 return *
static_cast<const ObjectType*
>(
this);
63 const uint8_t*
data()
const;
72 size_t read(
size_t offset,
void* buffer,
size_t count)
const 79 count = std::min(len - offset, count);
98 size_t readFlash(
size_t offset,
void* buffer,
size_t count)
const;
135 flashLength_ =
reinterpret_cast<uint32_t
>(&obj) | copyBit;
140 static constexpr uint32_t copyBit = 0x80000000U;
141 static constexpr uint32_t lengthInvalid = copyBit | 0;
size_t readFlash(size_t offset, void *buffer, size_t count) const
Read contents of a String into RAM, using flashread()
Used when defining data structures.
Definition: ObjectBase.hpp:32
const uint8_t * data() const
Get a pointer to the flash data.
bool isCopy() const
Definition: ObjectBase.hpp:100
uint32_t flashLength_
Definition: ObjectBase.hpp:116
#define FSTR_INLINE
Definition: config.hpp:26
void copy(const ObjectBase &obj)
Definition: ObjectBase.hpp:130
size_t read(size_t offset, void *buffer, size_t count) const
Read contents of a String into RAM.
Definition: ObjectBase.hpp:72
void * memcpy_P(void *dest, const void *src_P, size_t length)
bool isNull() const
Indicates an invalid String, used for return value from lookups, etc.
Definition: ObjectBase.hpp:109
static const ObjectBase empty_
Definition: ObjectBase.hpp:120
size_t length() const
Get the length of the object data in bytes.
Definition: Array.hpp:107
size_t size() const
Get the object data size in bytes.
Definition: ObjectBase.hpp:44
constexpr const ObjectType & as() const
Cast to a different object type.
Definition: ObjectBase.hpp:55
#define ALIGNUP4(n)
Align a size up to the nearest word boundary.
Definition: FakePgmSpace.h:48