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 FSTR_DATA_NAME(name)   __fstr__##name
 Provide internal name for generated flash string structures. More...
 
#define FSTR_PTR(objref)   (&objref)
 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...
 
Internal macros
#define DEFINE_FSTR_OBJREF(name, object)   const decltype(object)& name PROGMEM = object;
 
#define DEFINE_FSTR_REF(name)   DEFINE_FSTR_OBJREF(name, FSTR_DATA_NAME(name).object)
 
#define DEFINE_FSTR_REF_LOCAL(name)   static constexpr DEFINE_FSTR_REF(name)