[#MRDOCS_DESCRIBE_ENUM_END] = MRDOCS_DESCRIBE_ENUM_END :mrdocs: Close an enum description opened with `MRDOCS_DESCRIBE_ENUM_BEGIN`. == Synopsis Declared in `<mrdocs/Support/Reflection/Describe.hpp>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- #define MRDOCS_DESCRIBE_ENUM_END(E) ---- == Description It closes the expression opened by `MRDOCS_DESCRIBE_ENUM_BEGIN` and names the descriptor function, which completes the description: [,cpp] ---- MRDOCS_DESCRIBE_ENUM_BEGIN(ShapeKind) #define INFO(Name) MRDOCS_ENUM_ENTRY(ShapeKind, Name) #include "ShapeNodes.inc" MRDOCS_DESCRIBE_ENUM_END(ShapeKind) ---- On its own it expands to the closing tokens below; see `MRDOCS_DESCRIBE_ENUM_BEGIN` for the full expansion of the three pieces together: [,cpp] ---- // MRDOCS_DESCRIBE_ENUM_END(ShapeKind) )) mrdocs_enum_descriptor_fn(ShapeKind**); ---- Pass the same enum type given to `MRDOCS_DESCRIBE_ENUM_BEGIN`. The expansion ends with a semicolon, so don't add one. Without a matching `MRDOCS_DESCRIBE_ENUM_BEGIN` before it, it's a syntax error. == Parameters [cols="1,4"] |=== | Name| Description | *E* | The enum type. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#