PropertyInfo.h File Reference
#include <WString.h>
#include <Data/Range.h>
#include "Number.h"
#include <FlashString/Array.hpp>
#include <FlashString/Vector.hpp>
Include dependency graph for PropertyInfo.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ConfigDB::EnumInfo
 
struct  ConfigDB::PropertyInfo
 Property metadata. More...
 
struct  ConfigDB::PropertyInfo::RangeTemplate< T, U >
 
struct  ConfigDB::PropertyInfo::RangePtrTemplate< T >
 
union  ConfigDB::PropertyInfo::Variant
 

Namespaces

 ConfigDB
 

Macros

#define CONFIGDB_PROPERTY_TYPE_MAP(XX)
 Property types with storage size. More...
 
#define XX(name, ...)   name,
 
#define XX(tag, size)
 

Typedefs

using ConfigDB::StringId = uint16_t
 Defines contained string data using index into string pool. More...
 

Enumerations

enum class  ConfigDB::PropertyType : uint32_t { ConfigDB::XX }
 

Functions

uint8_t ConfigDB::getPropertySize (PropertyType type)
 
String toString (ConfigDB::PropertyType type)
 

Macro Definition Documentation

◆ CONFIGDB_PROPERTY_TYPE_MAP

#define CONFIGDB_PROPERTY_TYPE_MAP (   XX)
Value:
XX(Boolean, 1) \
XX(Int8, 1) \
XX(Int16, 2) \
XX(Int32, 4) \
XX(Int64, 8) \
XX(Enum, 1) \
XX(UInt8, 1) \
XX(UInt16, 2) \
XX(UInt32, 4) \
XX(UInt64, 8) \
XX(Number, 4) \
XX(String, sizeof(StringId)) \
XX(Object, sizeof(ObjectInfo*)) \
XX(Alias, 0)
#define XX(name,...)
Definition: PropertyInfo.h:52
The String class.
Definition: WString.h:133
uint16_t StringId
Defines contained string data using index into string pool.
Definition: PropertyInfo.h:60

Property types with storage size.

ConfigDB/PropertyInfo.h

Copyright 2024 mikee47 mike@.nosp@m.sill.nosp@m.yhous.nosp@m.e.ne.nosp@m.t

This file is part of the ConfigDB Library

This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 or later.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this library. If not, see https://www.gnu.org/licenses/.

◆ XX [1/2]

#define XX (   name,
  ... 
)    name,

◆ XX [2/2]

#define XX (   tag,
  size 
)
Value:
case PropertyType::tag: \
return size;

Function Documentation

◆ toString()

String toString ( ConfigDB::PropertyType  type)