(
void);
77cout <<
"..."<< endl;
82 switch(
info.GetTypeFamily()) {
84cout <<
"ERROR: unknown type family"<< endl;
108 stringoff(
offset,
' ');
109cout << off <<
"primitive: ";
121cout << (
info.IsPrimitiveValueSigned() ?
"signed":
"unsigned")
135cout <<
" integer: ";
139cout << off <<
" "<< v.first <<
" ("<< v.second <<
")"<< endl;
145cout <<
"octetstring";
148cout <<
"bitstring";
163 stringoff(
offset,
' ');
169}
else if(info_class->
Implicit()) {
170cout <<
"implicit ";
172cout <<
"sequential ";
174cout <<
"class: "<<
info.GetName() <<
" {"<< endl;
176 for( ; mem.
Valid(); ++mem) {
181cout << off <<
" }";
183cout <<
" optional";
186cout <<
" with default: {"<< endl;
190cout << off <<
" }"<< endl;
194cout << off <<
"} end of "<<
info.GetName() << endl;
200 stringoff(
offset,
' ');
201cout << off <<
"choice: "<<
info.GetName() <<
" {"<< endl;
203 for(; var.
Valid(); ++var) {
208cout << off <<
" }"<< endl;
210cout << off <<
"} end of "<<
info.GetName() << endl;
216 stringoff(
offset,
' ');
217cout << off <<
"container of: "<<
info.GetName() <<
" {"<< endl;
219cout << off <<
"} end of "<<
info.GetName() << endl;
225 stringoff(
offset,
' ');
230 int main(
intargc,
const char* argv[])
int main(int argc, const char *argv[])
Derive our application class from CwxNCBIApp and use it together with standard CNCBIwxApplication.
void WalkContainer(size_t offset, const CConstObjectInfo &info)
void WalkPrimitive(size_t offset, const CConstObjectInfo &info)
virtual int Run(void)
Run the application.
void WalkClass(size_t offset, const CConstObjectInfo &info)
void WalkPointer(size_t offset, const CConstObjectInfo &info)
void WalkChoice(size_t offset, const CConstObjectInfo &info)
virtual int Run(void)
Run the application.
void Dispatch(size_t offset, const CConstObjectInfo &info)
static unsigned char depth[2 *(256+1+29)+1]
int AppMain(int argc, const char *const *argv, const char *const *envp=0, EAppDiagStream diag=eDS_Default, const char *conf=NcbiEmptyCStr, const string &name=NcbiEmptyString)
Main function (entry point) for the NCBI application.
bool Optional(void) const
const CMemberId & GetId(void) const
const string & GetName(void) const
TConstObjectPtr GetDefault(void) const
const TValues & GetValues(void) const
Get the list of name-value pairs.
TTypeInfo GetTypeInfo(void) const
bool IsInteger(void) const
Check whether the type is defined as INTEGER in ASN.1 spec.
EPrimitiveValueType
Primitive value type.
@ ePrimitiveValueSpecial
null, void
@ ePrimitiveValueOctetString
vector<(signed|unsigned)? char>
@ ePrimitiveValueString
string|char*|const char*
@ ePrimitiveValueInteger
(signed|unsigned) (char|short|int|long)
@ ePrimitiveValueChar
char
@ ePrimitiveValueBool
bool
@ ePrimitiveValueEnum
enum
@ ePrimitiveValueReal
float|double
@ ePrimitiveValueBitString
bool Valid(void) const
Is iterator valid.
TMemberIndex GetVariantIndex(void) const
Get index of the variant in the choice.
TMemberIndex GetMemberIndex(void) const
Get index of the member in the class.
const CMemberInfo * GetMemberInfo(void) const
CObjectTypeInfo GetMemberType(void) const
Get data type information.
CObjectTypeInfo GetVariantType(void) const
Get data type information.
const CVariantInfo * GetVariantInfo(void) const
bool RandomOrder(void) const
bool Implicit(void) const
Magic spell ;-) needed for some weird compilers... very empiric.
Defines the CNcbiApplication and CAppException classes for creating NCBI applications.
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