WSF
UtPackType Class Reference

#include <UtPackSchema.hpp>

Inheritance diagram for UtPackType:
Collaboration diagram for UtPackType:

Public Types

enum  Encoding {
  cENC_NONE , cENC_LITTLE_ENDIAN , cENC_VAR_BYTES , cENC_BIT ,
  cENC_STRUCT , cENC_LIST
}
using NestedTypesList = std::vector<std::pair<std::string, std::unique_ptr<UtPackType>>>

Public Member Functions

 UtPackType (const UtPackType &)=delete
UtPackTypeoperator= (const UtPackType &)=delete
virtual ~UtPackType ()=default
const std::string & GetTypeName () const
std::string GetTypePath () const
 Returns the full path to the type, with '.' as a separator. example: "Track.TrackId".
UtPackTypeFindType (const std::string &aTypeName)
const UtPackTypeFindType (const std::string &aTypeName) const
virtual void Resolve ()
Encoding GetEncoding () const
bool IsStruct () const
bool IsUnion () const
bool IsBasicType () const
bool IsEnum () const
bool IsList () const
const NestedTypesListGetNestedTypes () const

Protected Member Functions

const UtPackTypeFindTypeP (const std::string &aTypeName) const
 UtPackType (UtPackType *aParentTypePtr)
const UtPackTypeGetRootType () const
UtPackTypeGetRootType ()
UtPackSchemaGetSchema () const
void Read (UtmlObject &aInput)
void ReadNestedTypes (UtmlObject &aInput)

Protected Attributes

Encoding mEncoding
UtPackTypemParentType
std::string mTypeName
NestedTypesList mNestedTypes

Member Typedef Documentation

◆ NestedTypesList

using UtPackType::NestedTypesList = std::vector<std::pair<std::string, std::unique_ptr<UtPackType>>>

Member Enumeration Documentation

◆ Encoding

Enumerator
cENC_NONE 
cENC_LITTLE_ENDIAN 
cENC_VAR_BYTES 
cENC_BIT 
cENC_STRUCT 
cENC_LIST 

Constructor & Destructor Documentation

◆ UtPackType() [1/2]

◆ ~UtPackType()

virtual UtPackType::~UtPackType ( )
virtualdefault

◆ UtPackType() [2/2]

UtPackType::UtPackType ( UtPackType * aParentTypePtr)
protected

Member Function Documentation

◆ FindType() [1/2]

UtPackType * UtPackType::FindType ( const std::string & aTypeName)

◆ FindType() [2/2]

const UtPackType * UtPackType::FindType ( const std::string & aTypeName) const

References FindTypeP(), and UtPackType().

◆ FindTypeP()

const UtPackType * UtPackType::FindTypeP ( const std::string & aTypeName) const
protected

References mNestedTypes, mParentType, and UtPackType().

Referenced by FindType().

◆ GetEncoding()

Encoding UtPackType::GetEncoding ( ) const
inline

References mEncoding.

◆ GetNestedTypes()

const NestedTypesList & UtPackType::GetNestedTypes ( ) const
inline

References mNestedTypes.

◆ GetRootType() [1/2]

UtPackType * UtPackType::GetRootType ( )
protected

References mParentType, and UtPackType().

◆ GetRootType() [2/2]

const UtPackType * UtPackType::GetRootType ( ) const
protected

References mParentType, and UtPackType().

Referenced by GetSchema().

◆ GetSchema()

UtPackSchema * UtPackType::GetSchema ( ) const
protected

◆ GetTypeName()

const std::string & UtPackType::GetTypeName ( ) const

References mTypeName.

◆ GetTypePath()

std::string UtPackType::GetTypePath ( ) const

Returns the full path to the type, with '.' as a separator. example: "Track.TrackId".

References mParentType, and mTypeName.

Referenced by UtPackStruct::Resolve(), and UtPackUnion::Resolve().

◆ IsBasicType()

bool UtPackType::IsBasicType ( ) const

◆ IsEnum()

bool UtPackType::IsEnum ( ) const

◆ IsList()

bool UtPackType::IsList ( ) const

◆ IsStruct()

bool UtPackType::IsStruct ( ) const

◆ IsUnion()

bool UtPackType::IsUnion ( ) const

◆ operator=()

UtPackType & UtPackType::operator= ( const UtPackType & )
delete

References UtPackType().

◆ Read()

◆ ReadNestedTypes()

void UtPackType::ReadNestedTypes ( UtmlObject & aInput)
protected

◆ Resolve()

void UtPackType::Resolve ( )
virtual

Member Data Documentation

◆ mEncoding

Encoding UtPackType::mEncoding
protected

◆ mNestedTypes

NestedTypesList UtPackType::mNestedTypes
protected

◆ mParentType

UtPackType* UtPackType::mParentType
protected

◆ mTypeName


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved