FSTR Namespace Reference

Classes

class  Array
 Class to access an array of integral values stored in flash. More...
 
class  ArrayPrinter
 Class template to provide a simple way to print the contents of an array. More...
 
class  Map
 Class template to access an associative map. More...
 
class  MapPair
 describes a pair mapping key => data for a specified key type More...
 
class  MapPrinter
 Class template to provide a simple way to print the contents of a Map. More...
 
class  Object
 Base class template for all types. More...
 
class  ObjectBase
 Used when defining data structures. More...
 
class  ObjectIterator
 
class  Stream
 
class  String
 describes a counted string stored in flash memory More...
 
class  StringPrinter
 Wrapper class to efficiently print large Strings. More...
 
class  TableRow
 Class template to define the row of a table. More...
 
class  TemplateStream
 Template Flash memory stream class. More...
 
class  Vector
 Class to access a Vector of objects stored in flash. More...
 

Typedefs

typedef ::String WString
 A Wiring String. More...
 

Functions

template<typename T >
std::enable_if<!std::is_same< T, char >::value, size_t >::type printElement (Print &p, const T &e)
 
size_t printElement (Print &p, char c)
 
template<class ObjectType >
std::enable_if< std::is_class< ObjectType >::value, size_t >::type print (Print &p, const ObjectType &object)
 Print an object. More...
 
template<typename T >
std::enable_if<!std::is_class< T >::value, size_t >::type print (Print &p, T value)
 Print an elementary variable. More...
 
template<typename T >
size_t println (Print &p, const T &value)
 Print an object or elementary variable appending a carriage return. More...
 
template<typename T >
std::enable_if< sizeof(T)==1, T >::type readValue (const T *ptr)
 Read a typed value from flash memory ensuring correct alignment of access. More...
 
template<typename T >
std::enable_if< sizeof(T)==2, T >::type readValue (const T *ptr)
 
template<typename T >
std::enable_if< sizeof(T)==4, T >::type readValue (const T *ptr)
 
template<typename T >
std::enable_if<(sizeof(T) > 4) &&IS_ALIGNED(sizeof(T)), T >::type readValue (const T *ptr)
 

Typedef Documentation

◆ WString

typedef ::String FSTR::WString

A Wiring String.

Function Documentation

◆ print() [1/2]

template<class ObjectType >
std::enable_if<std::is_class<ObjectType>::value, size_t>::type FSTR::print ( Print p,
const ObjectType &  object 
)

Print an object.

Template Parameters
ObjectType
Parameters
p
object
Return values
size_t

◆ print() [2/2]

template<typename T >
std::enable_if<!std::is_class<T>::value, size_t>::type FSTR::print ( Print p,
value 
)

Print an elementary variable.

Template Parameters
T
Parameters
p
value
Return values
size_t

◆ printElement() [1/2]

size_t FSTR::printElement ( Print p,
char  c 
)

◆ printElement() [2/2]

template<typename T >
std::enable_if<!std::is_same<T, char>::value, size_t>::type FSTR::printElement ( Print p,
const T &  e 
)

◆ println()

template<typename T >
size_t FSTR::println ( Print p,
const T &  value 
)

Print an object or elementary variable appending a carriage return.

Template Parameters
T
Parameters
p
value
Return values
size_t

◆ readValue() [1/4]

template<typename T >
std::enable_if<sizeof(T) == 1, T>::type FSTR::readValue ( const T *  ptr)

Read a typed value from flash memory ensuring correct alignment of access.

Parameters
ptrTyped pointer to flash data to be read
Return values
TValue read

◆ readValue() [2/4]

template<typename T >
std::enable_if<sizeof(T) == 2, T>::type FSTR::readValue ( const T *  ptr)

◆ readValue() [3/4]

template<typename T >
std::enable_if<sizeof(T) == 4, T>::type FSTR::readValue ( const T *  ptr)

◆ readValue() [4/4]

template<typename T >
std::enable_if<(sizeof(T) > 4) && IS_ALIGNED(sizeof(T)), T>::type FSTR::readValue ( const T *  ptr)