Magnum::OpenDdl namespace

OpenDDL parser.

Contents

Parser for OpenDDL file format. See OpenDdl::Document for more information.

This library is built if WITH_OPENDDL is enabled when building Magnum Plugins. To use this library with CMake, request the OpenDdl component of the MagnumPlugins package and link to the MagnumPlugins::OpenDdl target:

find_package(MagnumPlugins REQUIRED OpenDdl)

# ...
target_link_libraries(your-app PRIVATE MagnumPlugins::OpenDdl)

Additionally, if you're using Magnum as a CMake subproject, bundle the magnum-plugins repository and do the following before calling find_package():

set(WITH_OPENDDL ON CACHE BOOL "" FORCE)
add_subdirectory(magnum-plugins EXCLUDE_FROM_ALL)

Namespaces

namespace Validation
OpenDDL document validation.

Classes

struct CharacterLiteral
Character literal.
class Document
OpenDDL document.
class Property
OpenDDL property.
class Structure
OpenDDL structure.

Enums

enum class Type: UnsignedInt { Bool, UnsignedByte, Byte, UnsignedShort, Short, UnsignedInt, Int, UnsignedLong, Long, Float, Double, String, Reference, Type, Custom }
OpenDDL type.
enum class PropertyType: UnsignedByte { Bool, UnsignedByte, Byte, UnsignedShort, Short, UnsignedInt, Int, UnsignedLong, Long, Float, Double, String, Reference, Type }
Property type.
enum (anonymous): Int { UnknownIdentifier = INT16_MAX - Int(Type::Custom) }

Functions

auto operator<<(Debug& debug, Type value) -> Debug&
Debug output operator.
auto operator<<(Debug& debug, PropertyType value) -> Debug&
Debug output operator.

Enum documentation

enum class Magnum::OpenDdl::Type: UnsignedInt

OpenDDL type.

Enumerators
Bool

Boolean. Stored in bool type.

UnsignedByte

Unsigned byte (8 bit). Stored in UnsignedByte type.

Byte

Signed byte (8 bit). Stored in Byte type.

UnsignedShort

Unsigned short (16 bit). Stored in UnsignedShort type.

Short

Signed short (16 bit). Stored in Short type.

UnsignedInt

Unsigned int (32 bit). Stored in UnsignedInt type.

Int

Signed int (32 bit). Stored in Int type.

UnsignedLong

Unsigned long (64 bit). Stored in UnsignedLong type.

Long

Long (64 bit). Stored in Long type.

Float

Float (32 bit). Stored in Float type.

Double

Double (64 bit). Stored in Double type.

String

UTF-8 string. Stored in std::string type.

Reference

ASCII reference string. Stored in std::string type.

Type

Type enumeration. Stored in Type type.

Custom

Custom structure type

enum class Magnum::OpenDdl::PropertyType: UnsignedByte

Property type.

Because of parsing ambiguity, the properties are internally stored only in a subset of types. The remaining types are just for use in Property::isTypeCompatibleWith(). See documentation of particular values for more information.

Enumerators
Bool

Boolean. Stored in bool type.

UnsignedByte

Unsigned byte (8 bit). Stored as if it is PropertyType::Int.

Byte

Signed byte (8 bit). Stored as if it is PropertyType::Int.

UnsignedShort

Unsigned short (16 bit). Stored as if it is PropertyType::Int.

Short

Signed short (16 bit). Stored as if it is PropertyType::Int.

UnsignedInt

Unsigned int (32 bit). Stored as if it is PropertyType::Int.

Int

Signed int (32 bit). Stored in Int type.

UnsignedLong

Unsigned long (64 bit). Stored as if it is PropertyType::Int.

Long

Long (64 bit). Stored as if it is PropertyType::Int.

Float

Float (32 bit). Stored in Float type.

Double

Double (64 bit). Stored as if it is PropertyType::Float.

String

UTF-8 string. Stored in std::string type.

Reference

ASCII reference string. Stored in std::string type.

Type

Type enumeration. Stored in Type type.

enum Magnum::OpenDdl::(anonymous): Int

Enumerators
UnknownIdentifier

Identifier which was not in the identifier list passed to Document::parse().

Function documentation

Debug& Magnum::OpenDdl::operator<<(Debug& debug, Type value)

Debug output operator.

Debug& Magnum::OpenDdl::operator<<(Debug& debug, PropertyType value)

Debug output operator.