Outline
Purpose
Provide compile-time traits for generated types.
Classes
- bdlat_IsBasicChoice<TYPE>: true for generated "choice" types
- bdlat_IsBasicSequence<TYPE>: true for generated "sequence" types
- bdlat_IsBasicEnumeration<TYPE>: true for generated "enumeration" types
- bdlat_HasFallbackEnumerator<TYPE>: true for generated "enumeration" types
- that have a "fallback" enumerator
- bdlat_BasicEnumerationWrapper<TYPE>: characteristics of enumeration type
- bdlat_IsBasicCustomizedType<TYPE>: true for generated "customized" types
Macros
- See also
Description
This component provides compile-time traits that pertain to generated types. The five traits provided, bdlat_IsBasicChoice
, bdlat_IsBasicSequence
, bdlat_IsBasicEnumeration
, bdlat_HasFallbackEnumerator
, bdlat_IsBasicCustomizedType
are used for generated "choice" types, "sequence" types, "enumeration", "enumeration" with fallback enumerator, and "customized type" types respectively.
Usage
This component is intended to be used by components generated using the bas_codegen.pl
tool.
◆ BDLAT_DECL_CHOICE_TRAITS
#define BDLAT_DECL_CHOICE_TRAITS |
( |
|
ClassName | ) |
|
Value: template <> \
template <> \
}
Definition bdlb_algorithmworkaroundutil.h:74
This trait may be declared for "choice" types.
Definition bdlat_typetraits.h:109
◆ BDLAT_DECL_CHOICE_WITH_ALLOCATOR_BITWISEMOVEABLE_TRAITS
#define BDLAT_DECL_CHOICE_WITH_ALLOCATOR_BITWISEMOVEABLE_TRAITS |
( |
|
ClassName | ) |
|
Value:
template <> \
} \
template <> \
} \
BDLAT_DECL_CHOICE_TRAITS(ClassName)
Definition balxml_encoderoptions.h:68
Definition bdlbb_blob.h:576
◆ BDLAT_DECL_CHOICE_WITH_ALLOCATOR_TRAITS
#define BDLAT_DECL_CHOICE_WITH_ALLOCATOR_TRAITS |
( |
|
ClassName | ) |
|
Value:
template <> \
} \
BDLAT_DECL_CHOICE_TRAITS(ClassName)
◆ BDLAT_DECL_CHOICE_WITH_BITWISEMOVEABLE_TRAITS
#define BDLAT_DECL_CHOICE_WITH_BITWISEMOVEABLE_TRAITS |
( |
|
ClassName | ) |
|
Value:
template <> \
} \
BDLAT_DECL_CHOICE_TRAITS(ClassName)
◆ BDLAT_DECL_CUSTOMIZEDTYPE_TRAITS
#define BDLAT_DECL_CUSTOMIZEDTYPE_TRAITS |
( |
|
ClassName | ) |
|
Value: template <> \
template <> \
}
This trait may be declared for "customized type" types.
Definition bdlat_typetraits.h:137
◆ BDLAT_DECL_CUSTOMIZEDTYPE_WITH_ALLOCATOR_BITWISEMOVEABLE_TRAITS
#define BDLAT_DECL_CUSTOMIZEDTYPE_WITH_ALLOCATOR_BITWISEMOVEABLE_TRAITS |
( |
|
ClassName | ) |
|
Value:
template <> \
} \
template <> \
} \
BDLAT_DECL_CUSTOMIZEDTYPE_TRAITS(ClassName)
◆ BDLAT_DECL_CUSTOMIZEDTYPE_WITH_ALLOCATOR_TRAITS
#define BDLAT_DECL_CUSTOMIZEDTYPE_WITH_ALLOCATOR_TRAITS |
( |
|
ClassName | ) |
|
Value:
template <> \
} \
BDLAT_DECL_CUSTOMIZEDTYPE_TRAITS(ClassName)
◆ BDLAT_DECL_CUSTOMIZEDTYPE_WITH_BITWISEMOVEABLE_TRAITS
#define BDLAT_DECL_CUSTOMIZEDTYPE_WITH_BITWISEMOVEABLE_TRAITS |
( |
|
ClassName | ) |
|
Value:
template <> \
} \
BDLAT_DECL_CUSTOMIZEDTYPE_TRAITS(ClassName)
◆ BDLAT_DECL_ENUMERATION_TRAITS
#define BDLAT_DECL_ENUMERATION_TRAITS |
( |
|
ClassName | ) |
|
Value:
template <> \
} \
template <> \
template <> \
typedef ClassName Wrapper; \
};
Definition bdlat_typetraits.h:146
This trait may be declared for "enumeration" types.
Definition bdlat_typetraits.h:121
◆ BDLAT_DECL_ENUMERATION_WITH_FALLBACK_TRAITS
#define BDLAT_DECL_ENUMERATION_WITH_FALLBACK_TRAITS |
( |
|
ClassName | ) |
|
Value:
template <> \
#define BDLAT_DECL_ENUMERATION_TRAITS(ClassName)
Definition bdlat_typetraits.h:293
Definition bdlat_typetraits.h:131
◆ BDLAT_DECL_SEQUENCE_TRAITS
#define BDLAT_DECL_SEQUENCE_TRAITS |
( |
|
ClassName | ) |
|
Value: template <> \
template <> \
}
This trait may be declared for "sequence" types.
Definition bdlat_typetraits.h:115
◆ BDLAT_DECL_SEQUENCE_WITH_ALLOCATOR_BITWISEMOVEABLE_TRAITS
#define BDLAT_DECL_SEQUENCE_WITH_ALLOCATOR_BITWISEMOVEABLE_TRAITS |
( |
|
ClassName | ) |
|
Value:
template <> \
} \
template <> \
} \
BDLAT_DECL_SEQUENCE_TRAITS(ClassName)
◆ BDLAT_DECL_SEQUENCE_WITH_ALLOCATOR_TRAITS
#define BDLAT_DECL_SEQUENCE_WITH_ALLOCATOR_TRAITS |
( |
|
ClassName | ) |
|
Value:
template <> \
} \
BDLAT_DECL_SEQUENCE_TRAITS(ClassName)
◆ BDLAT_DECL_SEQUENCE_WITH_BITWISEMOVEABLE_TRAITS
#define BDLAT_DECL_SEQUENCE_WITH_BITWISEMOVEABLE_TRAITS |
( |
|
ClassName | ) |
|
Value:
template <> \
} \
BDLAT_DECL_SEQUENCE_TRAITS(ClassName)