17#define PROMEKI_ENUM_METADATA_ID \
18 X(Invalid, std::monostate) \
19 X(Timecode, class Timecode) \
22 X(Copyright, String) \
32 X(Description, String) \
33 X(Originator, String) \
34 X(OriginatorReference, String) \
35 X(OriginationDateTime, String) \
36 X(FrameRate, Rational<int>) \
38 X(CodingHistory, String) \
39 X(CompressionLevel, double) \
41 X(VBRQuality, double) \
42 X(CompressedSize, int) \
75 #define X(name, type) name,
156 for(
const auto &[
id,
value] : _map) {
184 for(
const auto &[
id,
value] : _map) {
Lightweight error code wrapper for the promeki library.
Definition error.h:39
JSON object container wrapping nlohmann::json.
Definition json.h:44
Dynamic array container wrapping std::vector.
Definition list.h:40
bool contains(const T &val) const
Returns true if the list contains the given value.
Definition list.h:593
Iterator remove(ConstIterator pos)
Removes the element at the given iterator position.
Definition list.h:402
size_t size() const noexcept
Returns the number of elements in the list.
Definition list.h:301
void clear() noexcept
Removes all elements from the list.
Definition list.h:330
Manages a list of strings.
Definition stringlist.h:21
Encoding-aware string class with copy-on-write semantics.
Definition string.h:35
#define PROMEKI_NAMESPACE_BEGIN
Starts a promeki namespace block.
Definition namespace.h:14
#define PROMEKI_NAMESPACE_END
Ends a promeki namespace block.
Definition namespace.h:19
const T & value(const Result< T > &r)
Returns the value from a Result.
Definition result.h:56
#define PROMEKI_SHARED_FINAL(TYPE)
Macro for non-polymorphic native shared objects.
Definition sharedptr.h:88
VariantImpl< std::monostate, bool, uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t, float, double, String, DateTime, TimeStamp, Size2Du32, UUID, Timecode, Rational< int >, detail::VariantEnd > Variant
Concrete variant type instantiated with every type from PROMEKI_VARIANT_TYPES.
Definition variant.h:362