Object.hpp File Reference
#include "Utility.hpp"
#include "ObjectBase.hpp"
#include "ObjectIterator.hpp"
Include dependency graph for Object.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  FSTR::Object< ObjectType, ElementType >
 Base class template for all types. More...
 

Namespaces

 FSTR
 

Macros

#define DECLARE_FSTR_OBJECT(name, ObjectType)   extern const ObjectType& name;
 Declare a global Object reference. More...
 
#define DEFINE_FSTR_REF(name, ObjectType, object)   const ObjectType& name PROGMEM = object.template as<ObjectType>();
 Define a reference to an object. More...
 
#define DEFINE_FSTR_REF_NAMED(name, ObjectType)   DEFINE_FSTR_REF(name, ObjectType, FSTR_DATA_NAME(name).object);
 
#define FSTR_DATA_NAME(name)   __fstr__##name
 Provide internal name for generated flash string structures. More...
 
#define FSTR_PTR(objref)   static_cast<std::remove_reference<decltype(objref)>::type*>(&FSTR_DATA_NAME(objref).object)
 Given an Object& reference, return a pointer to the actual object. More...
 
#define FSTR_CHECK_STRUCT(name)
 Check structure is POD-compliant and correctly aligned. More...
 
#define IMPORT_FSTR_OBJECT(name, ObjectType, file)
 Import an object from an external file with reference. More...
 
#define IMPORT_FSTR_OBJECT_LOCAL(name, ObjectType, file)
 Like IMPORT_FSTR_OBJECT except reference is declared static constexpr. More...