NCBI C++ ToolKit
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
CDataTypeModule Class Reference

Search Toolkit Book for CDataTypeModule

#include "module.hpp"
(Private to src/serial/datatool.)

+ Inheritance diagram for CDataTypeModule:
+ Collaboration diagram for CDataTypeModule:

Classes

class  Import
 

Public Types

typedef list< AutoPtr< Import > > TImports
 
typedef list< stringTExports
 
typedef list< pair< string, AutoPtr< CDataType > > > TDefinitions
 

Public Member Functions

 CDataTypeModule (const string &name)
 
virtual ~CDataTypeModule ()
 
void SetSourceLine (int line)
 
int GetSourceLine (void) const
 
bool Errors (void) const
 
const string GetVar (const string &section, const string &value, bool collect) const
 
virtual string GetFileNamePrefix (void) const override
 
void AddDefinition (const string &name, const AutoPtr< CDataType > &type)
 
void AddExports (const TExports &exports)
 
void AddImports (const TImports &imports)
 
void AddImports (const string &module, const list< string > &types)
 
void SetSubnamespace (const string &sub_ns)
 
virtual const CNamespaceGetNamespace (void) const override
 
void PrintSampleDEF (CNcbiOstream &out) const
 
virtual void PrintASN (CNcbiOstream &out) const
 
virtual void PrintSpecDump (CNcbiOstream &out) const
 
virtual void PrintJSONSchema (CNcbiOstream &out) const
 
virtual void PrintXMLSchema (CNcbiOstream &out) const
 
virtual void PrintDTD (CNcbiOstream &out) const
 
void PrintDTDModular (CNcbiOstream &out) const
 
void PrintXMLSchemaModular (CNcbiOstream &out) const
 
string GetDTDPublicName (void) const
 
string GetDTDFileNameBase (void) const
 
bool Check ()
 
bool CheckNames ()
 
const stringGetName (void) const
 
const TDefinitionsGetDefinitions (void) const
 
CDataTypeResolve (const string &name) const
 
CDataTypeExternalResolve (const string &name, bool allowInternal=false) const
 
void CollectAllTypeinfo (set< TTypeInfo > &types) const
 
CCommentsComments (void)
 
CCommentsLastComments (void)
 
const TImportsGetImports (void) const
 
bool AddImportRef (const string &imp)
 
void AddExtraSchemaOutput (const string &extra) const
 
string GetSubnamespace (void) const
 
void SetTagDefault (CAsnBinaryDefs::ETagType ttype)
 
CAsnBinaryDefs::ETagType GetTagDefault (void) const
 
- Public Member Functions inherited from CModuleContainer
 CModuleContainer (void)
 
virtual ~CModuleContainer (void)
 
virtual const CMemoryRegistryGetConfig (void) const
 
virtual const stringGetSourceFileName (void) const
 
virtual EFileNamePrefixSource GetFileNamePrefixSource (void) const
 
bool MakeFileNamePrefixFromSourceFileName (void) const
 
bool MakeFileNamePrefixFromModuleName (void) const
 
bool UseAllFileNamePrefixes (void) const
 
virtual CDataTypeInternalResolve (const string &moduleName, const string &typeName) const
 
virtual string GetNamespaceRef (const CNamespace &ns) const
 
void SetModuleContainer (const CModuleContainer *parent)
 
const CModuleContainerGetModuleContainer (void) const
 

Static Public Member Functions

static void SetModuleFileSuffix (const string &suffix)
 
static string GetModuleFileSuffix (void)
 
static string ToAsnName (const string &name)
 
static string ToAsnId (const string &name)
 

Private Types

typedef map< string, CDataType * > TTypesByName
 
typedef map< string, stringTImportsByName
 

Private Member Functions

const string x_GetVar (const string &section, const string &value, bool collect=false) const
 

Private Attributes

int m_SourceLine
 
bool m_Errors
 
string m_Name
 
CComments m_Comments
 
CComments m_LastComments
 
string m_PrefixFromName
 
TExports m_Exports
 
TImports m_Imports
 
TDefinitions m_Definitions
 
string m_Subnamespace
 
AutoPtr< CNamespacem_Namespace
 
TTypesByName m_LocalTypes
 
TTypesByName m_ExportedTypes
 
TImportsByName m_ImportedTypes
 
set< stringm_ImportRef
 
map< string, set< string > > m_DefVars
 
map< string, boolm_DefSections
 
map< string, list< string > > m_DefSectionEntries
 
string m_ExtraDefs
 
CAsnBinaryDefs::ETagType m_TagDefault
 

Static Private Attributes

static string s_ModuleFileSuffix
 

Detailed Description

Definition at line 52 of file module.hpp.

Member Typedef Documentation

◆ TDefinitions

Definition at line 70 of file module.hpp.

◆ TExports

Definition at line 69 of file module.hpp.

◆ TImports

Definition at line 68 of file module.hpp.

◆ TImportsByName

Definition at line 171 of file module.hpp.

◆ TTypesByName

Definition at line 170 of file module.hpp.

Constructor & Destructor Documentation

◆ CDataTypeModule()

CDataTypeModule::CDataTypeModule ( const string name)

Definition at line 52 of file module.cpp.

◆ ~CDataTypeModule()

CDataTypeModule::~CDataTypeModule ( )
virtual

Definition at line 58 of file module.cpp.

Member Function Documentation

◆ AddDefinition()

void CDataTypeModule::AddDefinition ( const string name,
const AutoPtr< CDataType > &  type 
)

◆ AddExports()

void CDataTypeModule::AddExports ( const TExports exports)

Definition at line 83 of file module.cpp.

References m_Exports.

Referenced by ASNParser::Exports().

◆ AddExtraSchemaOutput()

void CDataTypeModule::AddExtraSchemaOutput ( const string extra) const

Definition at line 330 of file module.cpp.

References m_ExtraDefs.

◆ AddImportRef()

bool CDataTypeModule::AddImportRef ( const string imp)

◆ AddImports() [1/2]

void CDataTypeModule::AddImports ( const string module,
const list< string > &  types 
)

Definition at line 93 of file module.cpp.

References m_Imports, and types.

◆ AddImports() [2/2]

void CDataTypeModule::AddImports ( const TImports imports)

Definition at line 88 of file module.cpp.

References m_Imports.

Referenced by ASNParser::Imports().

◆ Check()

bool CDataTypeModule::Check ( void  )

Definition at line 484 of file module.cpp.

References ITERATE, m_Definitions, and ok.

◆ CheckNames()

bool CDataTypeModule::CheckNames ( )

◆ CollectAllTypeinfo()

void CDataTypeModule::CollectAllTypeinfo ( set< TTypeInfo > &  types) const

Definition at line 680 of file module.cpp.

References i, ITERATE, m_Definitions, and types.

◆ Comments()

CComments& CDataTypeModule::Comments ( void  )
inline

◆ Errors()

bool CDataTypeModule::Errors ( void  ) const
inline

Definition at line 72 of file module.hpp.

References m_Errors.

◆ ExternalResolve()

CDataType * CDataTypeModule::ExternalResolve ( const string name,
bool  allowInternal = false 
) const

◆ GetDefinitions()

const TDefinitions& CDataTypeModule::GetDefinitions ( void  ) const
inline

Definition at line 107 of file module.hpp.

References m_Definitions.

Referenced by CCodeGenerator::IncludeAllMainTypes().

◆ GetDTDFileNameBase()

string CDataTypeModule::GetDTDFileNameBase ( void  ) const

Definition at line 424 of file module.cpp.

References DTDFileNameBase(), and GetName().

◆ GetDTDPublicName()

string CDataTypeModule::GetDTDPublicName ( void  ) const

Definition at line 419 of file module.cpp.

References DTDPublicModuleName(), and GetName().

◆ GetFileNamePrefix()

string CDataTypeModule::GetFileNamePrefix ( void  ) const
overridevirtual

◆ GetImports()

const TImports& CDataTypeModule::GetImports ( void  ) const
inline

Definition at line 127 of file module.hpp.

References m_Imports.

Referenced by CCodeGenerator::ResolveImportRefs().

◆ GetModuleFileSuffix()

static string CDataTypeModule::GetModuleFileSuffix ( void  )
inlinestatic

Definition at line 137 of file module.hpp.

References s_ModuleFileSuffix.

Referenced by PrintDTDModular(), and PrintXMLSchemaModular().

◆ GetName()

const string& CDataTypeModule::GetName ( void  ) const
inline

◆ GetNamespace()

const CNamespace & CDataTypeModule::GetNamespace ( void  ) const
overridevirtual

◆ GetSourceLine()

int CDataTypeModule::GetSourceLine ( void  ) const
inline

Definition at line 58 of file module.hpp.

References m_SourceLine.

◆ GetSubnamespace()

string CDataTypeModule::GetSubnamespace ( void  ) const

Definition at line 106 of file module.cpp.

References GetName(), GetVar(), and m_Subnamespace.

Referenced by GetNamespace().

◆ GetTagDefault()

CAsnBinaryDefs::ETagType CDataTypeModule::GetTagDefault ( void  ) const
inline

Definition at line 150 of file module.hpp.

References m_TagDefault.

◆ GetVar()

const string CDataTypeModule::GetVar ( const string section,
const string value,
bool  collect 
) const

Definition at line 576 of file module.cpp.

References _ASSERT, GetName(), and x_GetVar().

Referenced by GetSubnamespace(), and CDataType::GetVar().

◆ LastComments()

CComments& CDataTypeModule::LastComments ( void  )
inline

Definition at line 123 of file module.hpp.

References m_LastComments.

◆ PrintASN()

void CDataTypeModule::PrintASN ( CNcbiOstream out) const
virtual

◆ PrintDTD()

void CDataTypeModule::PrintDTD ( CNcbiOstream out) const
virtual

◆ PrintDTDModular()

void CDataTypeModule::PrintDTDModular ( CNcbiOstream out) const

◆ PrintJSONSchema()

void CDataTypeModule::PrintJSONSchema ( CNcbiOstream out) const
virtual

◆ PrintSampleDEF()

void CDataTypeModule::PrintSampleDEF ( CNcbiOstream out) const

◆ PrintSpecDump()

void CDataTypeModule::PrintSpecDump ( CNcbiOstream out) const
virtual

◆ PrintXMLSchema()

void CDataTypeModule::PrintXMLSchema ( CNcbiOstream out) const
virtual

◆ PrintXMLSchemaModular()

void CDataTypeModule::PrintXMLSchemaModular ( CNcbiOstream out) const

Definition at line 463 of file module.cpp.

References DTDFileNameBase(), GetModuleFileSuffix(), GetName(), i, ITERATE, m_ImportRef, and out().

◆ Resolve()

CDataType * CDataTypeModule::Resolve ( const string name) const

◆ SetModuleFileSuffix()

static void CDataTypeModule::SetModuleFileSuffix ( const string suffix)
inlinestatic

Definition at line 133 of file module.hpp.

References s_ModuleFileSuffix, and suffix.

Referenced by CDataTool::ProcessModules().

◆ SetSourceLine()

void CDataTypeModule::SetSourceLine ( int  line)

Definition at line 62 of file module.cpp.

References m_SourceLine.

◆ SetSubnamespace()

void CDataTypeModule::SetSubnamespace ( const string sub_ns)

Definition at line 101 of file module.cpp.

References m_Subnamespace.

◆ SetTagDefault()

void CDataTypeModule::SetTagDefault ( CAsnBinaryDefs::ETagType  ttype)
inline

Definition at line 147 of file module.hpp.

References m_TagDefault.

◆ ToAsnId()

string CDataTypeModule::ToAsnId ( const string name)
static

Definition at line 673 of file module.cpp.

References asn, and tolower().

Referenced by CEnumDataType::PrintASN().

◆ ToAsnName()

string CDataTypeModule::ToAsnName ( const string name)
static

Definition at line 638 of file module.cpp.

References asn, first(), i, isalpha(), isdigit(), and toupper().

Referenced by PrintASN(), and CReferenceDataType::PrintASN().

◆ x_GetVar()

const string CDataTypeModule::x_GetVar ( const string section,
const string value,
bool  collect = false 
) const
private

Member Data Documentation

◆ m_Comments

CComments CDataTypeModule::m_Comments
private

Definition at line 160 of file module.hpp.

Referenced by Comments(), PrintASN(), PrintDTD(), PrintSpecDump(), and PrintXMLSchema().

◆ m_Definitions

TDefinitions CDataTypeModule::m_Definitions
private

◆ m_DefSectionEntries

map< string, list< string > > CDataTypeModule::m_DefSectionEntries
mutableprivate

Definition at line 180 of file module.hpp.

Referenced by x_GetVar().

◆ m_DefSections

map< string, bool > CDataTypeModule::m_DefSections
mutableprivate

Definition at line 179 of file module.hpp.

Referenced by x_GetVar().

◆ m_DefVars

map< string, set< string > > CDataTypeModule::m_DefVars
mutableprivate

Definition at line 178 of file module.hpp.

Referenced by PrintSampleDEF(), and x_GetVar().

◆ m_Errors

bool CDataTypeModule::m_Errors
private

Definition at line 158 of file module.hpp.

Referenced by AddDefinition(), and Errors().

◆ m_ExportedTypes

TTypesByName CDataTypeModule::m_ExportedTypes
private

Definition at line 174 of file module.hpp.

Referenced by CheckNames(), and ExternalResolve().

◆ m_Exports

TExports CDataTypeModule::m_Exports
private

Definition at line 164 of file module.hpp.

Referenced by AddExports(), CheckNames(), PrintASN(), PrintDTD(), and PrintXMLSchema().

◆ m_ExtraDefs

string CDataTypeModule::m_ExtraDefs
mutableprivate

Definition at line 181 of file module.hpp.

Referenced by AddExtraSchemaOutput(), and PrintXMLSchema().

◆ m_ImportedTypes

TImportsByName CDataTypeModule::m_ImportedTypes
private

Definition at line 175 of file module.hpp.

Referenced by CheckNames(), and Resolve().

◆ m_ImportRef

set<string> CDataTypeModule::m_ImportRef
private

Definition at line 176 of file module.hpp.

Referenced by AddImportRef(), PrintDTDModular(), and PrintXMLSchemaModular().

◆ m_Imports

TImports CDataTypeModule::m_Imports
private

Definition at line 165 of file module.hpp.

Referenced by AddImports(), CheckNames(), GetImports(), PrintASN(), PrintDTD(), and PrintXMLSchema().

◆ m_LastComments

CComments CDataTypeModule::m_LastComments
private

Definition at line 161 of file module.hpp.

Referenced by LastComments(), PrintASN(), PrintDTD(), PrintSpecDump(), and PrintXMLSchema().

◆ m_LocalTypes

TTypesByName CDataTypeModule::m_LocalTypes
private

Definition at line 173 of file module.hpp.

Referenced by AddDefinition(), CheckNames(), ExternalResolve(), and Resolve().

◆ m_Name

string CDataTypeModule::m_Name
private

Definition at line 159 of file module.hpp.

Referenced by GetFileNamePrefix(), and GetName().

◆ m_Namespace

AutoPtr<CNamespace> CDataTypeModule::m_Namespace
mutableprivate

Definition at line 168 of file module.hpp.

Referenced by GetNamespace().

◆ m_PrefixFromName

string CDataTypeModule::m_PrefixFromName
mutableprivate

Definition at line 162 of file module.hpp.

Referenced by GetFileNamePrefix().

◆ m_SourceLine

int CDataTypeModule::m_SourceLine
private

Definition at line 157 of file module.hpp.

Referenced by GetSourceLine(), and SetSourceLine().

◆ m_Subnamespace

string CDataTypeModule::m_Subnamespace
private

Definition at line 167 of file module.hpp.

Referenced by GetSubnamespace(), and SetSubnamespace().

◆ m_TagDefault

CAsnBinaryDefs::ETagType CDataTypeModule::m_TagDefault
private

Definition at line 182 of file module.hpp.

Referenced by GetTagDefault(), PrintASN(), and SetTagDefault().

◆ s_ModuleFileSuffix

string CDataTypeModule::s_ModuleFileSuffix
staticprivate

Definition at line 177 of file module.hpp.

Referenced by GetModuleFileSuffix(), and SetModuleFileSuffix().


The documentation for this class was generated from the following files:
Modified on Mon Jun 10 04:51:51 2024 by modify_doxy.py rev. 669887