FSTR::Vector< ObjectType > Class Template Reference

Class to access a Vector of objects stored in flash. More...

#include <Vector.hpp>

Inheritance diagram for FSTR::Vector< ObjectType >:
Collaboration diagram for FSTR::Vector< ObjectType >:

Public Types

using DataPtrType = const ObjectType *const *
 
- Public Types inherited from FSTR::Object< Vector< ObjectType >, const ObjectType * >
using DataPtrType = const const ObjectType * *
 
using Iterator = ObjectIterator< Vector< ObjectType >, const ObjectType * >
 

Public Member Functions

template<typename T = ObjectType>
std::enable_if< std::is_same< T, String >::value, int >::type indexOf (const char *value, bool ignoreCase=true) const
 
template<typename ValueType , typename T = ObjectType>
std::enable_if< std::is_same< T, String >::value, int >::type indexOf (const ValueType &value, bool ignoreCase=true) const
 
const ObjectType & valueAt (unsigned index) const
 
const ObjectType & operator[] (unsigned index) const
 
ArrayPrinter< Vectorprinter () const
 
size_t printTo (Print &p) const
 
- Public Member Functions inherited from FSTR::Object< Vector< ObjectType >, const ObjectType * >
 Object ()
 Creates a null object. More...
 
 Object (const Object &obj)
 Copy constructor. More...
 
Iterator begin () const
 
Iterator end () const
 
constexpr const size_t length () const
 Get the length of the content in elements. More...
 
int indexOf (const ValueType &value) const
 
const ObjectType * valueAt (unsigned index) const
 
const ObjectType * operator[] (unsigned index) const
 Array operator[]. More...
 
size_t elementSize () const
 
DataPtrType data () const
 
size_t read (size_t index, const ObjectType * *buffer, size_t count) const
 Read content into RAM. More...
 
size_t readFlash (size_t index, const ObjectType * *buffer, size_t count) const
 Read content into RAM,using flashmem_read() More...
 
const ObjectType * unsafeValueAt (const DataPtrType dataptr, unsigned index) const
 
- Public Member Functions inherited from FSTR::ObjectBase
constexpr FSTR_NOINLINE const size_t length () const
 Get the length of the object data in bytes. More...
 
constexpr const size_t size () const
 Get the object data size in bytes. More...
 
bool operator== (const ObjectBase &other) const
 
template<class ObjectType >
constexpr const ObjectType & as () const
 Cast to a different object type. More...
 
const uint8_t * data () const
 Get a pointer to the flash data. 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 offset, void *buffer, size_t count) const
 Read contents of a String into RAM, using flashread() More...
 
constexpr const bool isCopy () const
 
constexpr const bool isNull () const
 Indicates an invalid String, used for return value from lookups, etc. More...
 

Static Public Member Functions

static const ObjectType & unsafeValueAt (const DataPtrType dataptr, unsigned index)
 
- Static Public Member Functions inherited from FSTR::Object< Vector< ObjectType >, const ObjectType * >
static constexpr const Vector< ObjectType > & empty ()
 Return an empty object which evaluates to null. More...
 

Additional Inherited Members

- Public Attributes inherited from FSTR::ObjectBase
const uint32_t flashLength_
 
- Static Protected Attributes inherited from FSTR::ObjectBase
static const ObjectBase empty_
 
static constexpr uint32_t copyBit = 0x80000000U
 Set to indicate copy. More...
 
static constexpr uint32_t lengthInvalid = copyBit | 0
 Indicates null string in a copy. More...
 

Detailed Description

template<class ObjectType>
class FSTR::Vector< ObjectType >

Class to access a Vector of objects stored in flash.

Template Parameters
ObjectType

Member Typedef Documentation

◆ DataPtrType

template<class ObjectType >
using FSTR::Vector< ObjectType >::DataPtrType = const ObjectType* const*

Member Function Documentation

◆ indexOf() [1/2]

template<class ObjectType >
template<typename T = ObjectType>
std::enable_if<std::is_same<T, String>::value, int>::type FSTR::Vector< ObjectType >::indexOf ( const char *  value,
bool  ignoreCase = true 
) const
inline

◆ indexOf() [2/2]

template<class ObjectType >
template<typename ValueType , typename T = ObjectType>
std::enable_if<std::is_same<T, String>::value, int>::type FSTR::Vector< ObjectType >::indexOf ( const ValueType &  value,
bool  ignoreCase = true 
) const
inline

◆ operator[]()

template<class ObjectType >
const ObjectType& FSTR::Vector< ObjectType >::operator[] ( unsigned  index) const
inline

◆ printer()

template<class ObjectType >
ArrayPrinter<Vector> FSTR::Vector< ObjectType >::printer ( ) const
inline

◆ printTo()

template<class ObjectType >
size_t FSTR::Vector< ObjectType >::printTo ( Print p) const
inline

◆ unsafeValueAt()

template<class ObjectType >
static const ObjectType& FSTR::Vector< ObjectType >::unsafeValueAt ( const DataPtrType  dataptr,
unsigned  index 
)
inlinestatic

◆ valueAt()

template<class ObjectType >
const ObjectType& FSTR::Vector< ObjectType >::valueAt ( unsigned  index) const
inline

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