tzdb.h File Reference
#include "Timezone.h"
#include <FlashString/Array.hpp>
#include <FlashString/Vector.hpp>
#include <FlashString/Map.hpp>
Include dependency graph for tzdb.h:

Go to the source code of this file.

Classes

struct  TZ::Transition
 
struct  TZ::Info
 

Namespaces

 TZ
 

Macros

#define TZINFO_FIELD_NAME
 
#define TZINFO_FIELD_TZSTR
 
#define TZINFO_FIELD_RULES
 
#define TZINFO_FIELD_TRANSITIONS
 
#define DEFINE_REF_LOCAL(name, refname)    static constexpr decltype(refname)& name = refname;
 
#define TZ_DEFINE_RULE_LOCAL(name, ...)    static constexpr const Rule name PROGMEM {__VA_ARGS__};
 
#define TZ_DEFINE_PSTR_LOCAL(name, s)    static constexpr const char* name PROGMEM_PSTR = s;
 
#define TIMEZONE_BEGIN(clsname, area_, location_)
 
#define TIMEZONE_END()
 

Typedefs

using TZ::ZoneList = FSTR::Vector< Info >
 
using TZ::AreaMap = FSTR::Map< FSTR::String, ZoneList >
 

Functions

const Info * TZ::findZone (const String &name)
 Find a zone given its full name. More...
 

Variables

static constexpr const Rule PROGMEM TZ::rule_none {}
 

Macro Definition Documentation

◆ DEFINE_REF_LOCAL

#define DEFINE_REF_LOCAL (   name,
  refname 
)     static constexpr decltype(refname)& name = refname;

◆ TIMEZONE_BEGIN

#define TIMEZONE_BEGIN (   clsname,
  area_,
  location_ 
)
Value:
class clsname : public Timezone { \
public: \
clsname() : Timezone(fromPosix(tzstr)) { } \
TZ_DEFINE_PSTR_LOCAL(location, location_)
Class to support local/UTC time conversions using rules.
Definition: Timezone.h:182

◆ TIMEZONE_END

#define TIMEZONE_END ( )
Value:
static constexpr const Info info PROGMEM { \
location, \
TZINFO_FIELD_NAME \
TZINFO_FIELD_TZSTR \
TZINFO_FIELD_RULES \
TZINFO_FIELD_TRANSITIONS \
}; \
};
#define PROGMEM
Definition: Arch/Esp32/Components/libc/src/include/sys/pgmspace.h:26

◆ TZ_DEFINE_PSTR_LOCAL

#define TZ_DEFINE_PSTR_LOCAL (   name,
 
)     static constexpr const char* name PROGMEM_PSTR = s;

◆ TZ_DEFINE_RULE_LOCAL

#define TZ_DEFINE_RULE_LOCAL (   name,
  ... 
)     static constexpr const Rule name PROGMEM {__VA_ARGS__};

◆ TZINFO_FIELD_NAME

#define TZINFO_FIELD_NAME

◆ TZINFO_FIELD_RULES

#define TZINFO_FIELD_RULES

◆ TZINFO_FIELD_TRANSITIONS

#define TZINFO_FIELD_TRANSITIONS

◆ TZINFO_FIELD_TZSTR

#define TZINFO_FIELD_TZSTR