: m_SourceLine(0), m_Errors(
false), m_Name(
n),
72 type->Warning(
"redefinition, original: "+
96 import->moduleName = module;
97 import->types.insert(import->types.end(),
types.begin(),
types.end());
122 if(sub_ns.empty()) {
133 out<<
"["<< s->first <<
"]"<< endl;
136 out<< *v <<
" = "<< endl;
156 out<<
" TAGS ::=\nBEGIN\n\n";
180 if(
i!= imp.
types.begin() )
194 i->second->PrintASN(
out, 0);
213 out<<
"T,"<<
i->second->GetSourceLine() <<
',' 214<<
GetName() <<
':'<<
i->second->GetMemberName();
219 i->second->PrintSpecDump(
out, 0);
239 i->second->PrintJSONSchema(
out,
indent, req);
253 i->second->PrintJSONSchema(
out,
indent, req);
275 "<!-- ============================================ -->\n" 276 "<!-- This section is mapped from module \""<<
GetName() <<
"\"\n" 277 "================================================= -->\n";
283 "<!-- Elements used by other modules:\n";
295 "<!-- Elements referenced from other modules:\n";
299 const Import* imp =
i->get();
301 if(
t!= imp->
types.begin() )
313 "<!-- ============================================ -->\n\n";
319 #if !_DATATOOL_USE_SCHEMA_STYLE_COMMENTS 320 i->second->PrintDTDTypeComments(
out, 0);
322 i->second->PrintXMLSchema(
out,0);
339 "<!-- ============================================ -->\n" 340 "<!-- This section is mapped from module \""<<
GetName() <<
"\"\n" 341 "================================================= -->\n";
347 "\n\n<!-- Elements used by other modules:\n";
359 "\n\n<!-- Elements referenced from other modules:\n";
363 const Import* imp =
i->get();
365 if(
t!= imp->
types.begin() )
377 "\n<!-- ============================================ -->";
383 i->second->PrintDTD(
out);
411 if( !
isalnum((
unsigned char) c) )
431 const string& name,
const string& suffix)
437<< fileName <<
"_module PUBLIC \"-//NCBI//"<< pubName <<
" Module//EN\" \"" 438<< fileName << suffix <<
".mod.dtd\">\n%" 439<< fileName <<
"_module;\n";
446 " This file is built from a series of basic modules.\n" 447 " The actual ELEMENT and ENTITY declarations are in the modules.\n" 448 " This file is used to put them together.\n" 467 " This file is built from a series of basic modules.\n" 468 " The actual declarations are in the modules.\n" 469 " This file is used to put them together.\n" 488 if( !d->second->Check() )
498 const string& name = *e;
512 const string& name = *
t;
515 "import conflicts with local definition: "<< name);
519pair<TImportsByName::iterator, bool> ins =
532 boolallowInternal)
const 539 if( !allowInternal &&
577 const string& typeName,
const string& varName,
boolcollect)
const 587 const strings =
x_GetVar(typeName, varName, collect);
601 const string& section,
const string&
value,
boolcollect)
const 641 asn.reserve(name.size());
642 bool first=
true, hyphen =
false;
643 for(string::const_iterator
i= name.begin();
i!= name.end();) {
644 unsigned charu = (
unsignedchar)(*
i);
661}
else if(!hyphen) {
668 asn.resize(
asn.size()-1 );
683 types.insert(
i->second->GetTypeInfo().Get());
string GetSubnamespace(void) const
list< AutoPtr< Import > > TImports
void PrintXMLSchemaModular(CNcbiOstream &out) const
void AddImports(const TImports &imports)
virtual ~CDataTypeModule()
TImportsByName m_ImportedTypes
map< string, list< string > > m_DefSectionEntries
void AddExports(const TExports &exports)
TTypesByName m_ExportedTypes
virtual void PrintJSONSchema(CNcbiOstream &out) const
virtual void PrintXMLSchema(CNcbiOstream &out) const
static string ToAsnName(const string &name)
set< string > m_ImportRef
virtual void PrintDTD(CNcbiOstream &out) const
TTypesByName m_LocalTypes
void CollectAllTypeinfo(set< TTypeInfo > &types) const
map< string, bool > m_DefSections
void PrintSampleDEF(CNcbiOstream &out) const
void PrintDTDModular(CNcbiOstream &out) const
virtual void PrintSpecDump(CNcbiOstream &out) const
bool AddImportRef(const string &imp)
static string ToAsnId(const string &name)
CDataType * ExternalResolve(const string &name, bool allowInternal=false) const
static string GetModuleFileSuffix(void)
virtual string GetFileNamePrefix(void) const override
virtual void PrintASN(CNcbiOstream &out) const
void AddExtraSchemaOutput(const string &extra) const
void SetSourceLine(int line)
map< string, set< string > > m_DefVars
CAsnBinaryDefs::ETagType m_TagDefault
const string & GetName(void) const
const string x_GetVar(const string §ion, const string &value, bool collect=false) const
void SetSubnamespace(const string &sub_ns)
CDataTypeModule(const string &name)
string GetDTDPublicName(void) const
CDataType * Resolve(const string &name) const
const string GetVar(const string §ion, const string &value, bool collect) const
void AddDefinition(const string &name, const AutoPtr< CDataType > &type)
AutoPtr< CNamespace > m_Namespace
static string s_ModuleFileSuffix
TDefinitions m_Definitions
string GetDTDFileNameBase(void) const
virtual const CNamespace & GetNamespace(void) const override
list< pair< string, AutoPtr< CDataType > > > TDefinitions
void SetParent(const CDataType *parent, const string &memberName, string xmlName=kEmptyStr)
string LocationString(void) const
static EDataSpec GetSourceDataSpec(void)
virtual CDataType * InternalResolve(const string &moduleName, const string &typeName) const
virtual string GetFileNamePrefix(void) const
virtual EFileNamePrefixSource GetFileNamePrefixSource(void) const
const CModuleContainer & GetModuleContainer(void) const
virtual const CNamespace & GetNamespace(void) const
bool MakeFileNamePrefixFromModuleName(void) const
bool UseAllFileNamePrefixes(void) const
virtual const CMemoryRegistry & GetConfig(void) const
string ToString(void) const
container_type::const_iterator const_iterator
container_type::iterator iterator
const_iterator begin() const
const_iterator end() const
iterator_bool insert(const value_type &val)
container_type::value_type value_type
const_iterator find(const key_type &key) const
iterator_bool insert(const value_type &val)
const_iterator find(const key_type &key) const
const_iterator end() const
Include a standard set of the NCBI C++ Toolkit most basic headers.
std::ofstream out("events_result.xml")
main entry point for tests
string Path(const string &dir, const string &file)
static DLIST_TYPE *DLIST_NAME() first(DLIST_LIST_TYPE *list)
static const struct type types[]
void reset(element_type *p=0, EOwnership ownership=eTakeOwnership)
Reset will delete the old pointer (if owned), set content to the new value, and assume the ownership ...
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
element_type * get(void) const
Get pointer.
#define ERR_POST_X(err_subcode, message)
Error posting with default error code and given error subcode.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
void Warning(CExceptionArgs_Base &args)
virtual const string & Get(const string §ion, const string &name, TFlags flags=0) const
Get the parameter value.
virtual bool HasEntry(const string §ion, const string &name=kEmptyStr, TFlags flags=0) const
virtual void EnumerateEntries(const string §ion, list< string > *entries, TFlags flags=fAllLayers) const
Enumerate parameter names for a specified section.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
static bool EndsWith(const CTempString str, const CTempString end, ECase use_case=eCase)
Check if a string ends with a specified suffix value.
Definition of all error codes used in serial libraries (xser.lib, xcser.lib).
static string DTDPublicModuleName(const string &name)
static void PrintModularDTDModuleReference(CNcbiOstream &out, const string &name, const string &suffix)
static string DTDFileNameBase(const string &name)
const GenericPointer< typename T::ValueType > T2 value
Defines NCBI C++ diagnostic APIs, classes, and macros.
Process information in the NCBI Registry, including working with configuration files.
static SLJIT_INLINE sljit_ins l(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
string Identifier(const string &typeName, bool capitalize)
CNcbiOstream & PrintASNNewLine(CNcbiOstream &out, int indent)
static wxAcceleratorEntry entries[3]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4