[#LLVM_YAML_STRONG_TYPEDEF]
= LLVM&lowbar;YAML&lowbar;STRONG&lowbar;TYPEDEF
:mrdocs:

Define a distinct strong typedef `&lowbar;type` over integral base `&lowbar;base&period;`

== Synopsis

Declared in `&lt;llvm&sol;Support&sol;YAMLTraits&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
#define LLVM&lowbar;YAML&lowbar;STRONG&lowbar;TYPEDEF(&lowbar;base, &lowbar;type)

----

== Description

YAML I&sol;O does conversion based on types&period; But often native data types are just a typedef of built in intergral types (e&period;g&period; int)&period; But the C&plus;&plus; type matching system sees through the typedef and all the typedefed types look like a built in type&period; This will cause the generic YAML I&sol;O conversion to be used&period; To provide better control over the YAML conversion, you can use this macro instead of typedef&period; It will create a class with one field and automatic conversion operators to and from the base type&period; Based on BOOST&lowbar;STRONG&lowbar;TYPEDEF

== Parameters

[cols="1,4"]
|===
| Name| Description
| *&lowbar;base*
| Underlying integral type&period;
| *&lowbar;type*
| Name of the strong typedef to define&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
