Class to access an array of integral values stored in flash. More...
#include <Array.hpp>
Public Types | |
using | Iterator = ObjectIterator< Array< ElementType >, ElementType > |
Public Member Functions | |
ArrayPrinter< Array > | printer () const |
Returns a printer object for this array. More... | |
size_t | printTo (Print &p) const |
Iterator | begin () const |
Iterator | end () const |
size_t | length () const |
Get the length of the content in elements. More... | |
int | indexOf (const ValueType &value) const |
ElementType | valueAt (unsigned index) const |
ElementType | operator[] (unsigned index) const |
Array operator[]. More... | |
size_t | elementSize () const |
const ElementType * | data () const |
size_t | read (size_t index, ElementType *buffer, size_t count) const |
Read content into RAM. More... | |
size_t | read (size_t offset, void *buffer, size_t count) const |
Read contents of a String into RAM. More... | |
size_t | readFlash (size_t index, ElementType *buffer, size_t count) const |
Read content into RAM,using flashmem_read() More... | |
size_t | readFlash (size_t offset, void *buffer, size_t count) const |
Read contents of a String into RAM, using flashread() More... | |
size_t | size () const |
Get the object data size in bytes. More... | |
template<class ObjectType > | |
constexpr const ObjectType & | as () const |
Cast to a different object type. More... | |
bool | isCopy () const |
bool | isNull () const |
Indicates an invalid String, used for return value from lookups, etc. More... | |
Static Public Member Functions | |
static const Array< ElementType > & | empty () |
Return an empty object which evaluates to null. More... | |
Public Attributes | |
uint32_t | flashLength_ |
Protected Member Functions | |
void | invalidate () |
void | copy (const ObjectBase &obj) |
Static Protected Attributes | |
static const ObjectBase | empty_ |
Detailed Description
template<typename ElementType>
class FSTR::Array< ElementType >
Class to access an array of integral values stored in flash.
- Template Parameters
-
ElementType
Member Typedef Documentation
◆ Iterator
|
inherited |
Member Function Documentation
◆ as()
|
inlineinherited |
Cast to a different object type.
- Note
- example:
fstr.as<Array<int>>();
◆ begin()
|
inlineinherited |
◆ copy()
|
inlineprotectedinherited |
◆ data()
|
inlineinherited |
◆ elementSize()
|
inlineinherited |
◆ empty()
|
inlinestaticinherited |
Return an empty object which evaluates to null.
◆ end()
|
inlineinherited |
◆ indexOf()
|
inlineinherited |
◆ invalidate()
|
protectedinherited |
◆ isCopy()
|
inlineinherited |
◆ isNull()
|
inlineinherited |
◆ length()
|
inlineinherited |
Get the length of the content in elements.
◆ operator[]()
|
inlineinherited |
Array operator[].
◆ printer()
|
inline |
Returns a printer object for this array.
- Note
- ElementType must be supported by Print
◆ printTo()
|
inline |
◆ read() [1/2]
|
inlineinherited |
Read contents of a String into RAM.
- Parameters
-
offset Zero-based offset from start of flash data to start reading buffer Where to store data count How many bytes to read
- Return values
-
size_t Number of bytes actually read
◆ read() [2/2]
|
inlineinherited |
Read content into RAM.
- Parameters
-
index First element to read buffer Where to store data count How many elements to read
- Return values
-
size_t Number of elements actually read
◆ readFlash() [1/2]
|
inherited |
Read contents of a String into RAM, using flashread()
- Parameters
-
offset Zero-based offset from start of flash data to start reading buffer Where to store data count How many bytes to read
- Return values
-
size_t Number of bytes actually read
- See also
- See also
FlashMemoryStream
class.
PROGMEM data is accessed via the CPU data cache, so to avoid degrading performance you can use this method to read data directly from flash memory. This is appropriate for infrequently accessed data, especially if it is large. For example, if storing content using IMPORT_FSTR
instead of SPIFFS then it is generally better to avoid contaminating the cache.
◆ readFlash() [2/2]
|
inlineinherited |
Read content into RAM,using flashmem_read()
- Parameters
-
index First element to read buffer Where to store data count How many elements to read
- Return values
-
size_t Number of elements actually read
◆ size()
|
inlineinherited |
Get the object data size in bytes.
- Note
- Always an integer multiple of 4 bytes
◆ valueAt()
|
inlineinherited |
Member Data Documentation
◆ empty_
|
staticprotectedinherited |
◆ flashLength_
|
inherited |
The documentation for this class was generated from the following file: