Sourcemeta Core 0.0.0
Loading...
Searching...
No Matches
idna_ucd.h
1#ifndef SOURCEMETA_CORE_IDNA_UCD_H_
2#define SOURCEMETA_CORE_IDNA_UCD_H_
3
4#include <cstdint> // std::uint8_t
5
6namespace sourcemeta::core {
7
10#define SOURCEMETA_CORE_IDNA_PROPERTY_LIST(X) \
11 X(PValid, "PVALID") \
12 X(ContextJ, "CONTEXTJ") \
13 X(ContextO, "CONTEXTO") \
14 X(Disallowed, "DISALLOWED") \
15 X(Unassigned, "UNASSIGNED")
16
20enum class IDNAProperty : std::uint8_t {
21#if !defined(DOXYGEN)
22#define SOURCEMETA_CORE_IDNA_ENUM_ENTRY(name, alias) name,
23 SOURCEMETA_CORE_IDNA_PROPERTY_LIST(SOURCEMETA_CORE_IDNA_ENUM_ENTRY)
24#undef SOURCEMETA_CORE_IDNA_ENUM_ENTRY
25#endif
26};
27
31#define SOURCEMETA_CORE_IDNA_MAPPING_STATUS_LIST(X) \
32 X(Valid, "valid") \
33 X(Ignored, "ignored") \
34 X(Mapped, "mapped") \
35 X(Deviation, "deviation") \
36 X(Disallowed, "disallowed")
37
41enum class IDNAMappingStatus : std::uint8_t {
42#if !defined(DOXYGEN)
43#define SOURCEMETA_CORE_IDNA_MAPPING_ENUM_ENTRY(name, alias) name,
45 SOURCEMETA_CORE_IDNA_MAPPING_ENUM_ENTRY)
46#undef SOURCEMETA_CORE_IDNA_MAPPING_ENUM_ENTRY
47#endif
48};
49
50} // namespace sourcemeta::core
51
52#endif
IDNAProperty
Definition idna_ucd.h:20
#define SOURCEMETA_CORE_IDNA_PROPERTY_LIST(X)
Definition idna_ucd.h:10
#define SOURCEMETA_CORE_IDNA_MAPPING_STATUS_LIST(X)
Definition idna_ucd.h:31
IDNAMappingStatus
Definition idna_ucd.h:41