15#ifndef WSFPARSETYPE_HPP
16#define WSFPARSETYPE_HPP
18#include "wsf_parser_export.h"
27#include "UtStringRef.hpp"
56 , mSourceTypePtr(nullptr)
57 , mContainer(aParentPtr)
73 void Print(std::ostream& aStream,
const std::string& aIndent);
82 const WsfParseType* FindType(
const UtStringRef& aKey)
const;
93 WsfParseType* FindTypeLocal(
const UtStringRef& aKey)
const;
100 bool RemoveType(
const UtStringRef& aKey);
112 SymbolTable::const_iterator
begin()
const {
return mSymbols.begin(); }
113 SymbolTable::const_iterator
end()
const {
return mSymbols.end(); }
117 if (mContainer ==
nullptr)
121 return mContainer->GetDepth();
124 void GetAncestry(std::vector<WsfParseType*>& aAncestry);
125 void GetAncestry(std::vector<const WsfParseType*>& aAncestry)
const;
132 SymbolTable mSymbols;
std::vector< UtStringRef > WsfParseTypePath
Definition WsfParseTypePath.hpp:21
bool operator==(int aId, const WsfStringInt &aRhs)
Equal relational operator for the case of an integer on the LHS and a StringId on the RHS.
Definition WsfStringId.hpp:69
Definition WsfParseRule.hpp:131
bool mNestedLookup
Definition WsfParseType.hpp:146
WsfParseTypeName()
Definition WsfParseType.hpp:141
size_t mOrdinal
Definition WsfParseType.hpp:150
WsfParseTypePath mPath
Definition WsfParseType.hpp:147
Definition WsfParseType.hpp:40
WsfParseType * FindTypeLocal(const WsfParseTypePath &aKey)
Definition WsfParseType.hpp:89
WsfParseType * GetContainer() const
Definition WsfParseType.hpp:71
const UtStringRef & GetTypeName() const
Definition WsfParseType.hpp:65
int GetDepth() const
Definition WsfParseType.hpp:115
bool HasSymbols() const
Definition WsfParseType.hpp:108
SymbolTable::const_iterator begin() const
Definition WsfParseType.hpp:112
WsfParseType(const UtStringRef &aName, WsfParseType *aParentPtr=nullptr)
Definition WsfParseType.hpp:53
const SymbolTable & GetSymbols() const
Definition WsfParseType.hpp:110
WsfParseType * FindType(const WsfParseTypePath &aKey)
Definition WsfParseType.hpp:77
std::map< UtStringRef, WsfParseType * > SymbolTable
Definition WsfParseType.hpp:44
void SetSourceType(WsfParseType *aSourceTypePtr)
Definition WsfParseType.hpp:68
WsfParseRule * GetRule() const
Definition WsfParseType.hpp:106
void SetRule(WsfParseRule *aReaderPtr)
Definition WsfParseType.hpp:105
const WsfParseType * FindNestedSymbol(const WsfParseTypePath &aKey) const
Definition WsfParseType.cpp:136
void SetContainer(WsfParseType *aContainerPtr)
Definition WsfParseType.hpp:72
const WsfParseType * FindType(const WsfParseTypePath &aKey) const
Definition WsfParseType.cpp:261
WsfParseType * FindNestedSymbol(const WsfParseTypePath &aKey)
Definition WsfParseType.hpp:47
WsfParseType * GetSourceType() const
Definition WsfParseType.hpp:67
WsfParseType * FindType(const UtStringRef &aKey)
Definition WsfParseType.hpp:83
SymbolTable::const_iterator end() const
Definition WsfParseType.hpp:113
Definition WsfSensorErrorModel.hpp:21