# cxxUnion module

Defines a top-level container for all the elements necessary to describe a C++ API union.

## Description

The <cxxUnion> topic type contains elements necessary to show the name of the union, the short description of the union, the union syntax, and the union use description. This topic type module also contains all the elements necessary to describe the component variables and functions.

To describe the component fields and methods insert cxxFunction, cxxDefine, cxxVariable, cxxEnumeration or cxxTypedef elements into the cxxUnion module.

The cxxUnion topic contains the following elements:

- cxxUnion
  The <cxxUnion> element provides the name of the C++ API union, all the elements necessary to describe the members that are introduced by the union declaration.
- cxxUnionAbstract
  The <cxxUnionAbstract> element contains optional abstract information.
- cxxUnionAccessSpecifier
  The <cxxUnionAccessSpecifier> element describes the level of access the union allows.
- cxxUnionAPIItemLocation
  The <cxxUnionAPIItemLocation> element is defined within <cxxUnionDefinition>. <cxxUnionAPIItemLocation> specifies the location of the API.
- cxxUnionDeclarationFile
  The <cxxUnionDeclarationFile> element is defined within <cxxUnionAPIItemLocation>. <cxxUnionDeclarationFile> specifies the file in which the API declaration is present.
- cxxUnionDeclarationFileLine
  The <cxxUnionDeclarationFileLine> element is defined within <cxxUnionAPIItemLocation>. <cxxUnionDeclarationFileLine> specifies the line on which the API is declared
- cxxUnionDefinition
  The <cxxUnionDefinition> element is defined within <cxxUnionDetail>. <cxxUnionDefinition> represents the C++ union declaration.
- cxxUnionDefinitionFile
  The <cxxUnionDefinitionFile> element is defined within <cxxUnionAPIItemLocation>. <cxxUnionDefinitionFile> specifies the file in which the API definition is present.
- cxxUnionDefinitionFileLineEnd
  The <cxxUnionDefinitionFileLineEnd> element specifies the end of the union definition.
- cxxUnionDefinitionFileLineStart
  The <cxxUnionDefinitionFileLineStart> element specifies the beginning of the union definition.
- cxxUnionDetail
  The <cxxUnionDetail> element provides detailed information about the structure and behaviors of the C++ union.
- cxxUnionNested
  The <cxxUnionNested> element within <cxxUnion> contains <cxxUnionNestedDetail> which gives details of nested members of this c++ union
- cxxUnionNestedClass
  The <cxxUnionNestedClass> element within <cxxUnionNestedDetail> provides the name of a class nested within a union.
- cxxUnionNestedDetail
  The <cxxUnionNestedDetail> element provides details about the nested members of a C++ union.
- cxxUnionNestedStruct
  The <cxxUnionNestedStruct> element within <cxxUnionNestedDetail> provides the name of a struct nested in a union.
- cxxUnionNestedUnion
  The <cxxUnionNestedUnion> element within <cxxUnionNestedDetail> provides the name of a union nested in a union.
- cxxUnionTemplateParameter
  The <cxxUnionTemplateParameter> element describes a union parameter.
- cxxUnionTemplateParameters
  The <cxxUnionTemplateParameters> element contains a set of union parameters.
- cxxUnionTemplateParameterType
  The <cxxUnionTemplateParameterType> element specifies the parameter type.

Parent topic: C++ topic types