m_CurrentTagState = eTagStart;
127 #if CHECK_INSTREAM_LIMITS 128m_CurrentTagLimit = 0;
129 while(!m_Limits.empty()) {
156 const size_tKBitsInByte = 8;
157 const size_tKTagBits =
sizeof(
tag) * KBitsInByte - 1;
160 if(
tag>= (1 << (KTagBits - 7)) ) {
165 tag= (
tag<< 7) | (
byte& 0x7f);
166}
while( (
byte& 0x80) != 0 );
167 #if CHECK_INSTREAM_STATE 168m_CurrentTagState = eTagParsed;
175 TByteexpected_class_byte)
183 size_texpected_length)
208 strings(
"Unexpected tag: ");
210s +=
"Application ";
211}
else if(tag_class ==
ePrivate) {
229name += char(c & 0x7f);
234 #if CHECK_INSTREAM_STATE 235m_CurrentTagState = eTagParsed;
238name += char(c & 0x7f);
248 #if CHECK_INSTREAM_STATE 249m_CurrentTagState = eTagParsed;
261}
while( (
byte& 0x80) != 0 );
262 #if CHECK_INSTREAM_STATE 263m_CurrentTagState = eTagParsed;
289 if( sx_ReadAnyUtf8->
Get() ) {
301 if( sx_ReadAny->
Get() ) {
306 if( sx_ReadAny->
Get() == 1 ) {
308 "CObjectIStreamAsnBinary: UTF8String data for VisibleString member "<<
GetStackTraceASN()<<
", ASN.1 specification may need an update");
320 const char*cls, *con;
327 case ePrivate: cls =
"private/";
break;
339 case eNone: v=
"None";
break;
340 case eBoolean: v=
"Boolean";
break;
341 case eInteger: v=
"Integer";
break;
344 case eNull: v=
"Null";
break;
348 case eReal: v=
"Real";
break;
351 case eSet: v=
"Set";
break;
357 case eUTCTime: v=
"UTCTime";
break;
365 default: v=
"unknown";
break;
392 #define ReadLength ReadLengthInlined 396 size_tlengthLength =
byte- 0x80;
397 if( lengthLength == 0 ) {
400 if( lengthLength >
sizeof(
size_t) ) {
407 while( --lengthLength > 0 ) {
415 #if CHECK_INSTREAM_STATE 416 if( m_CurrentTagState != eData ) {
422 #if CHECK_INSTREAM_LIMITS 425 if( end_pos < cur_pos ||
426(m_CurrentTagLimit != 0 && end_pos > m_CurrentTagLimit) )
434 #if CHECK_INSTREAM_STATE 435 if( m_CurrentTagState != eData ) {
440 if( !
str.empty() ) {
445 #if CHECK_INSTREAM_LIMITS 448 if( end_pos < cur_pos ||
449(m_CurrentTagLimit != 0 && end_pos > m_CurrentTagLimit) )
458 #if CHECK_INSTREAM_STATE 459 if( m_CurrentTagState != eData ) {
465 #if CHECK_INSTREAM_LIMITS 468 if( end_pos < cur_pos ||
469(m_CurrentTagLimit != 0 && end_pos > m_CurrentTagLimit) )
475 template<
typenameT>
478 size_tlength =
in.ReadShortLength();
480 in.ThrowError(
in.fFormatError,
"zero length of number");
483 if( length >
sizeof(
data) ) {
487 if( c != 0 && c != -1 ) {
488 in.ThrowError(
in.fOverflow,
"overflow error");
490 while( length >
sizeof(
data) ) {
492 if(
in.ReadSByte() != c ) {
493 in.ThrowError(
in.fOverflow,
"overflow error");
498 if( ((
n^ c) & 0x80) != 0 ) {
499 in.ThrowError(
in.fOverflow,
"overflow error");
506 while( length > 0 ) {
508 n= (
n<< 8) |
in.ReadByte();
514 template<
typenameT>
517 size_tlength =
in.ReadShortLength();
519 in.ThrowError(
in.fFormatError,
"zero length of number");
522 if( length >
sizeof(
data) ) {
524 while( length >
sizeof(
data) ) {
526 if(
in.ReadSByte() != 0 ) {
527 in.ThrowError(
in.fOverflow,
"overflow error");
533 else if( length ==
sizeof(
data) ) {
536 if( (
n& 0x80) != 0 ) {
537 in.ThrowError(
in.fOverflow,
"overflow error");
543 while( length > 0 ) {
545 n= (
n<< 8) |
in.ReadByte();
619 returnHUGE_VAL/HUGE_VAL;
642 if( *endptr != 0 ) {
660 for(
size_t i=0;
i<
count; ++
i) {
662 #if SERIAL_ALLOW_UTF8_IN_VISIBLESTRING_ON_READING 677 for(
size_t i=0;
i<
count; ++
i) {
679 #if SERIAL_ALLOW_UTF8_IN_VISIBLESTRING_ON_READING 708string::iterator to =
str.end();
710 for(string::iterator
i=
str.begin();
i< to; ++
i) {
712 #if SERIAL_ALLOW_UTF8_IN_VISIBLESTRING_ON_READING 726 for(string::iterator
i=
str.begin();
i< to; ++
i) {
728 #if SERIAL_ALLOW_UTF8_IN_VISIBLESTRING_ON_READING 767pair<CPackString::iterator, bool> found =
769 if( found.second ) {
770pack_string.
AddOld(s, found.first);
808 if( length != s.size() || length >
BUFFER_SIZE) {
822 if( memcmp(s.data(),
buffer, length) != 0 ) {
823s.assign(
buffer, length);
833 char* s =
static_cast<char*
>(
malloc(length + 1));
846 boolneed_eoc =
false;
847 if(namedTypeInfo->
HasTag()) {
852namedTypeInfo->
GetTag());
873 #ifdef VIRTUAL_MID_LEVEL_IO 878 #ifndef VIRTUAL_MID_LEVEL_IO 883 #ifndef VIRTUAL_MID_LEVEL_IO 889 boolneed_eoc =
false;
890 if(namedTypeInfo->
HasTag()) {
895namedTypeInfo->
GetTag());
975 boolold_element = cType->
InitIterator(iter, containerPtr);
1061 "], should be one of: ";
1184 #ifdef VIRTUAL_MID_LEVEL_IO 1378 #ifdef VIRTUAL_MID_LEVEL_IO 1471 "Unable to identify the type of byte block");
1476 char* dst,
size_tlength)
1494 char* dst,
size_tlength)
1515 "CObjectIStreamAsnBinary::ReadAnyContentObject: " 1516 "unable to read AnyContent object in ASN binary");
1538 if( --
depth== 0 ) {
1578}
while(
depth!= 0);
1588vector<int> pattern;
1592 #if CHECK_INSTREAM_STATE 1593ETagState
state= m_CurrentTagState;
1595 #if CHECK_INSTREAM_LIMITS 1596 Int8lim = m_CurrentTagLimit;
1606 #if CHECK_INSTREAM_STATE 1607m_CurrentTagState =
state;
1609 #if CHECK_INSTREAM_LIMITS 1610m_CurrentTagLimit = lim;
1619 #if CHECK_INSTREAM_STATE 1620m_CurrentTagState =
state;
1622 #if CHECK_INSTREAM_LIMITS 1623m_CurrentTagLimit = lim;
1630 #if CHECK_INSTREAM_STATE 1631m_CurrentTagState =
state;
1633 #if CHECK_INSTREAM_LIMITS 1634m_CurrentTagLimit = lim;
1638 if(pattern.size() != 0) {
1642 if(ti.
MatchPattern(pattern,pos,0) && pos == pattern.size()) {
1643matching_types.
insert(*
t);
1647 returnmatching_types;
1658pattern.push_back(0);
1659pattern.push_back(0);
1661pattern.push_back(0);
1678 if( --
depth== 0 ) {
1690 if(counter%2 == 0) {
1691pattern.push_back(
depth);
1694pattern.push_back(0);
1700 if(pattern.size() >= max_length) {
1735 #if !BITSTRING_AS_VECTOR 1748 #if BITSTRING_AS_VECTOR 1749obj.reserve((--length)*8);
1756 const size_tstep = 128;
1758 while( length != 0 ) {
1761 for(
size_t i=0;
i<
count; ++
i) {
1763 #if BITSTRING_AS_VECTOR 1765obj.push_back( (
byte&
mask) != 0 );
1770 if((
byte&
mask) != 0 ) {
1807 #if CHECK_INSTREAM_STATE 1808m_CurrentTagState = eTagParsed;
1853 for(
int i= 0;
i< 256; ++
i) {
1855cout <<
i<<
": "<<
cnt[
i] << endl;
1861pair<TObjectPtr, TTypeInfo>
1864 _TRACE(
"CObjectIStream::ReadPointer("<<declaredType->
GetName()<<
")");
1878 _TRACE(
"CObjectIStream::ReadPointer: null");
1879 #if CHECK_INSTREAM_STATE 1880m_CurrentTagState = eTagParsed;
1885 returnpair<TObjectPtr, TTypeInfo>((
TObjectPtr)0, declaredType);
1889 _TRACE(
"CObjectIStream::ReadPointer: @...");
1891 _TRACE(
"CObjectIStream::ReadPointer: @"<< index);
1893objectType =
info.GetTypeInfo();
1894objectPtr =
info.GetObjectPtr();
1897 "invalid reference to skipped object: object ptr is NULL");
1903 _TRACE(
"CObjectIStream::ReadPointer: new...");
1905 _TRACE(
"CObjectIStream::ReadPointer: new "<< className);
1906objectType =
MapType(className);
1916objectPtr = objectType->
Create();
1932 _TRACE(
"CObjectIStream::ReadPointer: new");
1939objectPtr = declaredType->
Create();
1945 returnmake_pair(objectPtr, declaredType);
1948 while( objectType != declaredType ) {
1955 if( parentClass ) {
1956objectType = parentClass;
1962 returnmake_pair(objectPtr, objectType);
1967 _TRACE(
"CObjectIStream::SkipPointer("<<declaredType->
GetName()<<
")");
1978 _TRACE(
"CObjectIStream::SkipPointer: null");
1979 #if CHECK_INSTREAM_STATE 1980m_CurrentTagState = eTagParsed;
1990 _TRACE(
"CObjectIStream::SkipPointer: @...");
1992 _TRACE(
"CObjectIStream::SkipPointer: @"<< index);
1998 _TRACE(
"CObjectIStream::ReadPointer: new...");
2000 _TRACE(
"CObjectIStream::ReadPointer: new "<< className);
2015 _TRACE(
"CObjectIStream::ReadPointer: new");
2093 if( length != 0 ) {
ncbi::TMaskedQueryRegions mask
Serializable object that stores any combination of parsable data.
CObjectIStreamAsnBinary â.
size_t GetLengthLimit(void) const
pair< iterator, bool > Locate(const char *data, size_t size)
void AddOld(string &s, const iterator &iter)
bool AddNew(string &s, const char *data, size_t size, iterator iter)
T & Get(void)
Create the variable if not created yet, return the reference.
CTempString implements a light-weight string on top of a storage buffer whose lifetime management is ...
CTypeInfo class contains all information about C++ types (both basic and classes): members and layout...
void resize(size_type new_size)
Change size of the bvector.
size_type size() const noexcept
Returns bvector's capacity (number of bits it can store)
bool set_bit(size_type n, bool val=true)
Sets bit n.
bvector_size_type size_type
void clear(const size_type *ids, size_type ids_size, bm::sort_order so=bm::BM_UNKNOWN)
clear list of bits in this bitset
iterator_bool insert(const value_type &val)
Include a standard set of the NCBI C++ Toolkit most basic headers.
static unsigned char depth[2 *(256+1+29)+1]
static const int BUFFER_SIZE
static const char * str(char *buf, int n)
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
@ eTakeOwnership
An object can take ownership of another.
@ eNoOwnership
No ownership is assumed.
#define ERR_POST_X_ONCE(err_subcode, message)
Error posting only once during program execution with default error code and given error subcode.
TErrCode GetErrCode(void) const
Get error code.
void Warning(CExceptionArgs_Base &args)
const string & FindName(TEnumValueType value, bool allowBadValue) const
Find name of the enum by its numeric value.
const CMemberId & GetId(void) const
bool IsAttlist(void) const
const string & GetName(void) const
TMemberIndex Find(const CTempString &name) const
void ReadVariant(CObjectIStream &in, TObjectPtr choicePtr) const
bool IsTagImplicit(void) const
const CItemInfo * GetItemInfo(TMemberIndex index) const
void SkipVariant(CObjectIStream &in) const
bool IsInteger(void) const
Check whether the type is defined as INTEGER in ASN.1 spec.
EFixNonPrint
How to process non-printing character in the ASN VisibleString.
size_t TMemberIndex
Type used for indexing class members and choice variants.
const TMemberIndex kFirstMemberIndex
Start if member indexing.
const TMemberIndex kInvalidMember
Special value returned from FindMember.
static const TObjectType * SafeCast(TTypeInfo type)
@ eFNP_Allow
pass through unchanged, post no error message
@ eFNP_Replace
replace with '#' silently
@ eStringTypeUTF8
UTF8-encoded string.
@ eStringTypeVisible
VisibleString (in ASN.1 sense)
@ eSerial_AsnBinary
ASN.1 binary.
vector< Int8 > m_DataLimits
void ExpectContainer(bool random)
virtual void SkipAnyContentVariant(void) override
virtual void ReadNull(void) override
static ETagValue GetTagValue(TByte byte)
static ETagConstructed GetTagConstructed(TByte byte)
virtual void SkipPointer(TTypeInfo declaredType) override
char ReplaceVisibleChar(char c, EFixNonPrint fix_method, const CObjectStack *io, const CTempString &str, char subst)
virtual void ReadOtherPointerEnd(void) override
void ExpectSysTagByte(TByte byte)
virtual void ReadPackedString(string &s, CPackString &pack_string, EStringType type) override
TByte StartTag(TByte first_tag_byte)
TByte PeekAnyTagFirstByte(void)
MLIOVIR void ReadClassSequential(const CClassTypeInfo *classType, TObjectPtr classPtr)
virtual Uint4 ReadUint4(void) override
static ETagClass GetTagClass(TByte byte)
virtual size_t ReadBytes(ByteBlock &block, char *dst, size_t length) override
virtual void ResetState(void) override
void GetTagPattern(vector< int > &pattern, size_t max_length)
CObjectIStreamAsnBinary(EFixNonPrint how=eFNP_Default)
Constructor.
MLIOVIR void SkipChoiceSimple(const CChoiceTypeInfo *choiceType)
virtual void SkipNull(void) override
virtual void SkipBitString(void) override
virtual void BeginContainer(const CContainerTypeInfo *containerType) override
#define BEGIN_OBJECT_FRAME(Type)
#define ThrowError(flag, mess)
static bool IsTagConstructed(TByte byte)
void RegisterObject(TTypeInfo typeInfo)
void ExpectIntegerTag(void)
bool PeekIndefiniteLength(void)
virtual void SkipUNumber(void) override
virtual void SkipStringStore(void) override
virtual void EndClass(void) override
virtual void SkipSNumber(void) override
EFixNonPrint FixNonPrint(EFixNonPrint how)
virtual TMemberIndex BeginChoiceVariant(const CChoiceTypeInfo *choiceType) override
bool IsCompressed(void) const
virtual void SkipFNumber(void) override
#define BEGIN_OBJECT_FRAME2(Type, Arg)
virtual Uint8 ReadUint8(void) override
MLIOVIR void ReadContainer(const CContainerTypeInfo *containerType, TObjectPtr containerPtr)
virtual void ReadBitString(CBitString &obj) override
void UnexpectedLongLength(void)
const CReadObjectInfo & GetRegisteredObject(TObjectIndex index)
void SkipObject(const CObjectTypeInfo &objectType)
Skip child object.
virtual void SkipString(EStringType type=eStringTypeVisible) override
virtual TEnumValueType ReadEnum(const CEnumeratedTypeValues &values) override
virtual void EndChoice(void) override
virtual EPointerType ReadPointerType(void) override
void ExpectSysTag(ETagClass tag_class, ETagConstructed tag_constructed, ETagValue tag_value)
virtual double ReadDouble(void) override
CObjectInfo ReadObject(void)
virtual void ResetState(void) override
void SetNotag(bool set=true)
void ReadStringValue(size_t length, string &s, EFixNonPrint fix_type)
bool CanSkipUnknownMembers(void)
Simple check if it's allowed to skip unknown members.
virtual void ReadStringStore(string &s) override
virtual char ReadChar(void) override
size_t ReadLengthInlined(void)
TFrame & FetchFrameFromTop(size_t index)
virtual void EndChars(const CharBlock &block) override
void UnexpectedTagClassByte(TByte first_tag_byte, TByte expected_class_byte)
string GetStackTraceASN(void) const
void ExpectShortLength(size_t length)
void SetLength(size_t length)
virtual void BeginChars(CharBlock &block) override
bool HaveMoreElements(void)
virtual pair< TObjectPtr, TTypeInfo > ReadPointer(TTypeInfo declaredType) override
bool MatchPattern(vector< int > &pattern, size_t &pos, int depth, const CItemInfo *item=NULL) const
virtual string ReadOtherPointer(void) override
void UnexpectedContinuation(void)
void UnexpectedByte(TByte byte)
virtual void EndNamedType(void) override
virtual void BeginNamedType(TTypeInfo namedTypeInfo) override
#define END_OBJECT_FRAME()
size_t GetStackDepth(void) const
static CObjectIStream * Open(ESerialDataFormat format, CNcbiIstream &inStream, bool deleteInStream)
Create serial object reader and attach it to an input stream.
void SetNoEOC(bool set=true)
TByte PeekByte(size_t index=0)
bool FixVisibleChars(char *buffer, size_t &count, EFixNonPrint fix_method)
virtual void EndClassMember(void) override
const TFrame & TopFrame(void) const
TTypeInfo GetTypeInfo(void) const
virtual void BeginChoice(const CChoiceTypeInfo *choiceType) override
virtual void BeginClass(const CClassTypeInfo *classInfo) override
virtual TMemberIndex BeginClassMember(const CClassTypeInfo *classType) override
string PeekClassTag(void)
EFixNonPrint x_FixCharsMethod(void) const
size_t m_CurrentTagLength
virtual bool BeginContainerElement(TTypeInfo elementType) override
size_t ReadLengthLong(TByte byte)
TFailFlags SetFailFlags(TFailFlags flags, const char *message=0)
Set fail flags.
virtual void SkipChar(void) override
MLIOVIR void ReadChoiceSimple(const CChoiceTypeInfo *choiceType, TObjectPtr choicePtr)
virtual size_t ReadChars(CharBlock &block, char *dst, size_t length) override
void UnexpectedFixedLength(void)
void SetTopMemberId(const CMemberId &memberId)
virtual char * ReadCString(void) override
const CMemberId & GetMemberId(void) const
TByte PeekTagByte(size_t index=0)
void ExpectEndOfContent(void)
size_t StartTagData(size_t length)
MLIOVIR void ReadNamedType(TTypeInfo namedTypeInfo, TTypeInfo typeInfo, TObjectPtr object)
virtual void SkipByteBlock(void) override
virtual TObjectIndex ReadObjectPointer(void) override
void SkipAnyContent(void)
virtual void BeginBytes(ByteBlock &block) override
MLIOVIR void SkipContainer(const CContainerTypeInfo *containerType)
MLIOVIR void SkipClassSequential(const CClassTypeInfo *classType)
void ExpectStringTag(EStringType type)
void SetLength(size_t length)
string TagToString(TByte byte)
TLongTag PeekTag(TByte first_tag_byte)
static CObjectIStream * CreateObjectIStreamAsnBinary(void)
virtual void SkipAnyContentObject(void) override
void ExpectIndefiniteLength(void)
virtual void SkipBool(void) override
bool CanSkipUnknownVariants(void)
Simple check if it's allowed to skip unknown variants.
void UnexpectedMember(TLongTag tag, const CItemsInfo &items)
static TByte MakeTagByte(ETagClass tag_class, ETagConstructed tag_constructed, ETagValue tag_value)
virtual bool ReadBool(void) override
void UnexpectedTagValue(ETagClass tag_class, TLongTag tag_got, TLongTag tag_expected)
#define BEGIN_OBJECT_FRAME3(Type, Arg1, Arg2)
CObjectMemoryPool * GetMemoryPool(void)
virtual void ReadString(string &s, EStringType type=eStringTypeVisible) override
virtual set< TTypeInfo > GuessDataType(const set< TTypeInfo > &known_types, size_t max_length=16, size_t max_bytes=1024 *1024) override
Identify the type of data in the stream.
void UnexpectedSysTagByte(TByte byte)
char x_FixCharsSubst(void) const
void SkipBytes(size_t count)
virtual void EndContainer(void) override
void ExpectTag(ETagClass tag_class, ETagConstructed tag_constructed, TLongTag tag_value)
void OpenFromBuffer(const char *buffer, size_t size)
Attach reader to a data source.
MLIOVIR void SkipClassRandom(const CClassTypeInfo *classType)
virtual void EndBytes(const ByteBlock &block) override
void UnexpectedShortLength(size_t got_length, size_t expected_length)
virtual Int4 ReadInt4(void) override
MLIOVIR void SkipNamedType(TTypeInfo namedTypeInfo, TTypeInfo typeInfo)
virtual Int8 ReadInt8(void) override
void ReadCompressedBitString(CBitString &data)
MLIOVIR void ReadClassRandom(const CClassTypeInfo *classType, TObjectPtr classPtr)
TLongTag PeekLongTag(void)
virtual void EndChoiceVariant(void) override
void ResetThisState(void)
virtual void ReadAnyContentObject(CAnyContentObject &obj) override
@ fOverflow
Data read is beyond the allowed limits.
@ fIllegalCall
Illegal in a given context function call.
@ fNotImplemented
Method is not implemented.
@ fUnknownValue
Unknown value was present in the input.
@ fFormatError
Input file formatting does not conform with specification.
void Reset(void)
Reset reference object.
TObjectType * Release(void)
Release a reference to the object and return a pointer to the object.
#define NCBI_PARAM_TYPE(section, name)
Generate typename for a parameter from its {section, name} attributes.
@ eParam_NoThread
Do not use per-thread values.
uint8_t Uint1
1-byte (8-bit) unsigned integer
int32_t Int4
4-byte (32-bit) signed integer
uint32_t Uint4
4-byte (32-bit) unsigned integer
int64_t Int8
8-byte (64-bit) signed integer
uint64_t Uint8
8-byte (64-bit) unsigned integer
int8_t Int1
1-byte (8-bit) signed integer
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
void ResetBufferLock(size_t pos)
Int8 GetStreamPosAsInt8(void) const
void GetChars(char *buffer, size_t count)
size_t SetBufferLock(size_t size)
IO_PREFIX::istream CNcbiIstream
Portable alias for istream.
static string SizetToString(size_t value, TNumToStringFlags flags=0, int base=10)
Convert size_t to string.
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
static double StringToDoublePosix(const char *str, char **endptr=0, TStringToNumFlags flags=0)
Convert string to double-precision value (analog of strtod function)
static enable_if< is_arithmetic< TNumeric >::value||is_convertible< TNumeric, Int8 >::value, string >::type NumericToString(TNumeric value, TNumToStringFlags flags=0, int base=10)
Convert numeric value to string.
static bool EvaluateFirst(char ch, SIZE_TYPE &more)
Check that the character is valid first byte of an UTF8 byte sequence.
@ fDecimalPosixFinite
StringToDouble*(): Keep result finite and normalized: if DBL_MAX < result < INF, result becomes DBL_M...
const string & GetName(void) const
Get name of this type.
CAsnBinaryDefs::ETagClass GetTagClass(void) const
CAsnBinaryDefs::ETagConstructed GetTagConstructed(void) const
const CItemsInfo & GetItems(void) const
bool RandomElementsOrder(void) const
CAsnBinaryDefs::ETagType GetTagType(void) const
ETypeFamily GetTypeFamily(void) const
TObjectPtr AddElement(TObjectPtr containerPtr, TConstObjectPtr elementPtr, ESerialRecursionMode how=eRecursive) const
bool RandomOrder(void) const
const CItemsInfo & GetVariants(void) const
const CMemberInfo * GetMemberInfo(TMemberIndex index) const
static TTypeInfo GetClassInfoByName(const string &name)
bool IsCObject(void) const
Check is this TypeInfo object is kind of CClassTypeInfoBase.
const CVariantInfo * GetVariantInfo(TMemberIndex index) const
void ReadData(CObjectIStream &in, TObjectPtr object) const
CAsnBinaryDefs::TLongTag GetTag(void) const
bool IsTagConstructed(void) const
TConstObjectPtr GetElementPtr(const CConstIterator &it) const
bool InitIterator(CConstIterator &it, TConstObjectPtr containerPtr) const
bool IsTagImplicit(void) const
bool NextElement(CConstIterator &it) const
void EraseAllElements(CIterator &it) const
const CItemsInfo & GetMembers(void) const
TTypeInfo GetElementType(void) const
TObjectPtr Create(CObjectMemoryPool *memoryPool=0) const
Create object of this type on heap (can be deleted by operator delete)
enum ENcbiOwnership EOwnership
Ownership relations between objects.
Definition of all error codes used in serial libraries (xser.lib, xcser.lib).
static const CS_INT unused
static void byte(MDB_val *v)
const struct ncbi::grid::netcache::search::fields::SIZE size
const GenericPointer< typename T::ValueType > T2 value
std::istream & in(std::istream &in_, double &x_)
NCBI_PARAM_DEF_EX(bool, SERIAL, READ_ANY_UTF8STRING_TAG, true, eParam_NoThread, SERIAL_READ_ANY_UTF8STRING_TAG)
NCBI_PARAM_DECL(bool, SERIAL, READ_ANY_UTF8STRING_TAG)
bool BadVisibleChar(char c)
void ReadStdSigned(CObjectIStreamAsnBinary &in, T &data)
static TTypeInfo MapType(const string &name)
static const size_t kMaxDoubleLength
void ReadStdUnsigned(CObjectIStreamAsnBinary &in, T &data)
#define SkipClassSequentialContentsEnd()
#define SkipClassRandomContentsMember()
#define ReadClassSequentialContentsEnd(classPtr)
#define SkipClassSequentialContentsBegin(classType)
#define ReadClassRandomContentsBegin(classType)
#define ReadClassSequentialContentsMember(classPtr)
#define ReadClassSequentialContentsBegin(classType)
#define ReadClassRandomContentsMember(classPtr)
#define SkipClassSequentialContentsMember()
#define SkipClassRandomContentsEnd()
#define SkipClassRandomContentsBegin(classType)
#define ReadClassRandomContentsEnd()
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