IDL compiler front-end library
Public Types | Public Member Functions | List of all members
AST::UnionElement Class Reference

union element definition. More...

#include <UnionElement.h>

Inheritance diagram for AST::UnionElement:
AST::Member AST::NamedItem AST::Type AST::Item AST::Location

Public Types

typedef std::vector< VariantLabels
 The vector of case labels.
 
- Public Types inherited from AST::Item
enum class  Kind {
  ROOT , INCLUDE , NATIVE , TYPE_DEF ,
  CONSTANT , MODULE , MODULE_ITEMS , INTERFACE_DECL ,
  INTERFACE , OPERATION , PARAMETER , ATTRIBUTE ,
  EXCEPTION , STRUCT_DECL , STRUCT , MEMBER ,
  UNION_DECL , UNION , UNION_ELEMENT , ENUM ,
  ENUM_ITEM , VALUE_TYPE_DECL , VALUE_TYPE , VALUE_BOX ,
  STATE_MEMBER , VALUE_FACTORY
}
 The kind of item. More...
 
- Public Types inherited from AST::Type
enum class  Kind {
  VOID , BASIC_TYPE , NAMED_TYPE , STRING ,
  WSTRING , FIXED , SEQUENCE , ARRAY
}
 The kind of type. More...
 

Public Member Functions

const Labelslabels () const noexcept
 
bool is_default () const noexcept
 
- Public Member Functions inherited from AST::NamedItem
const Identifiername () const noexcept
 
const ItemScopeparent () const noexcept
 
std::string qualified_name () const
 
ScopedName scoped_name () const
 
const Symbolsparent_scope () const noexcept
 
- Public Member Functions inherited from AST::Item
Kind kind () const noexcept
 
bool is_type () const noexcept
 
bool is_forward_decl () const noexcept
 
- Public Member Functions inherited from AST::Location
const std::filesystem::path & file () const noexcept
 
unsigned line () const noexcept
 
- Public Member Functions inherited from AST::Type
Kind tkind () const noexcept
 
BasicType basic_type () const noexcept
 
const NamedItemnamed_type () const noexcept
 
Dim string_bound () const noexcept
 
Dim string_size () const noexcept
 Obsolete. Use Type::string_bound () instead.
 
const Sequencesequence () const noexcept
 
const Arrayarray () const noexcept
 
uint16_t fixed_digits () const noexcept
 
uint16_t fixed_scale () const noexcept
 
const Typedereference_type () const noexcept
 
 ~Type ()
 Destructor.
 
 Type ()
 Default constructor.
 
 Type (const Type &src)
 Copy constructor.
 
 Type (Type &&src) noexcept
 Move constructor.
 
Typeoperator= (const Type &src)
 Copy assignment.
 
Typeoperator= (Type &&src) noexcept
 Move assignment.
 
bool operator== (const Type &rhs) const noexcept
 Check types for equality.
 

Detailed Description

union element definition.

Invariant
kind () == Item::Kind::UNION_ELEMENT

Definition at line 41 of file UnionElement.h.

Member Function Documentation

◆ labels()

const Labels& AST::UnionElement::labels ( ) const
inlinenoexcept
Returns
The vector of case labels for this element. Empty for the default case.

Definition at line 49 of file UnionElement.h.

◆ is_default()

bool AST::UnionElement::is_default ( ) const
inlinenoexcept
Returns
true if this is the default element.

Definition at line 55 of file UnionElement.h.


The documentation for this class was generated from the following file: