NCBI C++ ToolKit
Classes | Macros | Typedefs | Enumerations | Enumerator | Functions | Variables
Object Stream Support
+ Collaboration diagram for Object Stream Support:

Classes

class  CDelayBuffer
 CDelayBuffer. More...
 
struct  CDelayBuffer::SInfo
 
class  CSerialException
 Root class for all serialization exceptions. More...
 
class  CUnassignedMember
 Thrown on an attempt to write unassigned data member. More...
 
class  CInvalidChoiceSelection
 Thrown on an attempt to access wrong choice variant. More...
 
class  CReadObjectInfo
 
class  CReadObjectList
 
class  CWriteObjectInfo
 
class  CWriteObjectList
 
class  CObjectStackFrame
 
class  CObjectStack
 
class  CAsnBinaryDefs
 
class  CPathHook
 
class  CStreamPathHookBase
 
class  CStreamPathHook< TInfo, THook >
 
class  CStreamObjectPathHook< THook >
 
class  CObjectStreamCopier
 CObjectStreamCopier –. More...
 
class  CObjectTypeInfo
 CObjectTypeInfo –. More...
 
class  CConstObjectInfo
 CConstObjectInfo –. More...
 
class  CObjectInfo
 CObjectInfo –. More...
 
class  COStreamFrame
 
class  CIStreamFrame
 
class  COStreamClassMember
 Writing class members. More...
 
class  CIStreamClassMemberIterator
 Reading (iterating through) members of the class (SET, SEQUENCE) More...
 
class  CIStreamContainerIterator
 Reading (iterating through) elements of containers (SET OF, SEQUENCE OF). More...
 
class  COStreamContainer
 Writing containers (SET OF, SEQUENCE OF). More...
 
class  CConstObjectInfoEI
 CConstObjectInfoEI –. More...
 
class  CObjectInfoEI
 CObjectInfoEI –. More...
 
class  CObjectTypeInfoII
 CObjectTypeInfoII –. More...
 
class  CObjectTypeInfoMI
 CObjectTypeInfoMI –. More...
 
class  CObjectTypeInfoVI
 CObjectTypeInfoVI –. More...
 
class  CConstObjectInfoMI
 CConstObjectInfoMI –. More...
 
class  CObjectInfoMI
 CObjectInfoMI –. More...
 
class  CObjectTypeInfoCV
 CObjectTypeInfoCV –. More...
 
class  CConstObjectInfoCV
 CConstObjectInfoCV –. More...
 
class  CObjectInfoCV
 CObjectInfoCV –. More...
 
class  CReadObjectHook
 Read hook for a standalone object. More...
 
class  CReadClassMemberHook
 Read hook for data member of a containing object (eg, SEQUENCE) More...
 
class  CPreReadClassMemberHook
 Read hook for data member of a containing object (eg, SEQUENCE) More...
 
class  CReadChoiceVariantHook
 Read hook for a choice variant (CHOICE) More...
 
class  CPreReadChoiceVariantHook
 Read hook for a choice variant (CHOICE) More...
 
class  CReadContainerElementHook
 Read hook for a container element (SEQUENCE OF) More...
 
class  CWriteObjectHook
 Write hook for a standalone object. More...
 
class  CWriteClassMemberHook
 Write hook for data member of a containing object (eg, SEQUENCE) More...
 
class  CWriteChoiceVariantHook
 Write hook for a choice variant (CHOICE) More...
 
class  CSkipObjectHook
 Skip hook for a standalone object. More...
 
class  CSkipClassMemberHook
 Skip hook for data member of a containing object (eg, SEQUENCE) More...
 
class  CSkipChoiceVariantHook
 Skip hook for a choice variant (CHOICE) More...
 
class  CCopyObjectHook
 Copy hook for a standalone object. More...
 
class  CCopyClassMemberHook
 Copy hook for data member of a containing object (eg, SEQUENCE) More...
 
class  CCopyChoiceVariantHook
 Copy hook for a choice variant (CHOICE) More...
 
class  CObjectHookGuardBase
 
class  CObjectHookGuard< T >
 Helper class: installs hooks in constructor, and uninstalls in destructor. More...
 
class  CSerial_FilterObjectsHook< TObject >
 Helper hook for Serial_FilterObjects function template; User hook class should be derived from this base class. More...
 
class  CSerial_FilterReadObjectsHook< TObject >
 
class  CObjectIStream
 CObjectIStream –. More...
 
class  CObjectIStream::AsnIo
 
class  CObjectIStream::CharBlock
 
class  CObjectIStream::ByteBlock
 
class  CStreamDelayBufferGuard
 Guard class for CObjectIStream::StartDelayBuffer/EndDelayBuffer. More...
 
class  CObjectIStreamAsn
 CObjectIStreamAsn –. More...
 
class  CObjectIStreamAsnBinary
 CObjectIStreamAsnBinary –. More...
 
class  CObjectIStreamJson
 CObjectIStreamJson –. More...
 
class  CObjectIStreamXml
 CObjectIStreamXml –. More...
 
class  CObjectOStream
 CObjectOStream –. More...
 
class  CObjectOStream::AsnIo
 
class  CObjectOStream::CharBlock
 
class  CObjectOStream::ByteBlock
 
class  CObjectOStreamAsn
 CObjectOStreamAsn –. More...
 
class  CObjectOStreamAsnBinary
 CObjectOStreamAsnBinary –. More...
 
class  CObjectOStreamJson
 CObjectOStreamJson –. More...
 
class  CObjectOStreamXml
 CObjectOStreamXml –. More...
 
class  CIStreamIteratorThread_Base< TRoot, TObject >
 
class  CIStreamObjectHook< TRoot, TObject >
 
class  CIStreamObjectIteratorThread< TRoot, TObject >
 
class  CIStreamStdIteratorThread< TRoot, TObject >
 
class  CIStreamIterator_Base< TRoot, TObject >
 
class  CIStreamObjectIterator< TRoot, TObject >
 Stream iterator for serial objects. More...
 
class  CIStreamStdIterator< TRoot, TObject >
 Stream iterator for standard type objects. More...
 

Macros

#define ThrowError(flag, mess)   ThrowError1(DIAG_COMPILE_INFO,flag,mess)
 
#define BEGIN_OBJECT_FRAME_OFx(Stream, Args)
 
#define END_OBJECT_FRAME_OF(Stream)
 
#define BEGIN_OBJECT_FRAME_OF(Stream, Type)   BEGIN_OBJECT_FRAME_OFx(Stream, (CObjectStackFrame::Type))
 
#define BEGIN_OBJECT_FRAME_OF2(Stream, Type, Arg)   BEGIN_OBJECT_FRAME_OFx(Stream, (CObjectStackFrame::Type, Arg))
 
#define BEGIN_OBJECT_FRAME_OF3(Stream, Type, Arg1, Arg2)   BEGIN_OBJECT_FRAME_OFx(Stream, (CObjectStackFrame::Type, Arg1, Arg2))
 
#define BEGIN_OBJECT_FRAME(Type)   BEGIN_OBJECT_FRAME_OF(*this, Type)
 
#define BEGIN_OBJECT_FRAME2(Type, Arg)   BEGIN_OBJECT_FRAME_OF2(*this, Type, Arg)
 
#define BEGIN_OBJECT_FRAME3(Type, Arg1, Arg2)   BEGIN_OBJECT_FRAME_OF3(*this, Type, Arg1, Arg2)
 
#define END_OBJECT_FRAME()   END_OBJECT_FRAME_OF(*this)
 
#define BEGIN_OBJECT_2FRAMES_OFx(Stream, Args)
 
#define END_OBJECT_2FRAMES_OF(Stream)
 
#define BEGIN_OBJECT_2FRAMES_OF(Stream, Type)   BEGIN_OBJECT_2FRAMES_OFx(Stream, (CObjectStackFrame::Type))
 
#define BEGIN_OBJECT_2FRAMES_OF2(Stream, Type, Arg)   BEGIN_OBJECT_2FRAMES_OFx(Stream, (CObjectStackFrame::Type, Arg))
 
#define BEGIN_OBJECT_2FRAMES(Type)   BEGIN_OBJECT_2FRAMES_OF(*this, Type)
 
#define BEGIN_OBJECT_2FRAMES2(Type, Arg)   BEGIN_OBJECT_2FRAMES_OF2(*this, Type, Arg)
 
#define END_OBJECT_2FRAMES()   END_OBJECT_2FRAMES_OF(*this)
 
#define CHECK_INSTREAM_STATE   1
 
#define CHECK_INSTREAM_LIMITS   1
 
#define CHECK_OUTSTREAM_INTEGRITY   1
 
#define USE_DEF_LEN   1
 

Typedefs

typedef CObjectIStream::TFailFlags CObjectStreamCopier::TFailFlags
 

Enumerations

enum  CSerialException::EErrCode {
  CSerialException::eNotImplemented, CSerialException::eEOF, CSerialException::eIoError, CSerialException::eFormatError,
  CSerialException::eOverflow, CSerialException::eInvalidData, CSerialException::eIllegalCall, CSerialException::eFail,
  CSerialException::eNotOpen, CSerialException::eMissingValue, CSerialException::eNullValue
}
 Error codes. More...
 
enum  CUnassignedMember::EErrCode { CUnassignedMember::eGet, CUnassignedMember::eWrite, CUnassignedMember::eUnknownMember }
 
enum  CInvalidChoiceSelection::EErrCode { CInvalidChoiceSelection::eFail }
 
enum  CObjectStackFrame::EFrameType {
  CObjectStackFrame::eFrameOther, CObjectStackFrame::eFrameNamed, CObjectStackFrame::eFrameArray, CObjectStackFrame::eFrameArrayElement,
  CObjectStackFrame::eFrameClass, CObjectStackFrame::eFrameClassMember, CObjectStackFrame::eFrameChoice, CObjectStackFrame::eFrameChoiceVariant
}
 
enum  CAsnBinaryDefs::ETagType { CAsnBinaryDefs::eExplicit = 0, CAsnBinaryDefs::eImplicit, CAsnBinaryDefs::eAutomatic }
 
enum  CAsnBinaryDefs::ETagClass {
  CAsnBinaryDefs::eUniversal = 0 << 6, CAsnBinaryDefs::eApplication = 1 << 6, CAsnBinaryDefs::eContextSpecific = 2 << 6, CAsnBinaryDefs::ePrivate = 3 << 6,
  CAsnBinaryDefs::eTagClassMask = 3 << 6
}
 
enum  CAsnBinaryDefs::ETagConstructed { CAsnBinaryDefs::ePrimitive = 0 << 5, CAsnBinaryDefs::eConstructed = 1 << 5, CAsnBinaryDefs::eTagConstructedMask = 1 << 5 }
 
enum  CAsnBinaryDefs::ETagValue {
  CAsnBinaryDefs::eNone = 0, CAsnBinaryDefs::eBoolean = 1, CAsnBinaryDefs::eInteger = 2, CAsnBinaryDefs::eBitString = 3,
  CAsnBinaryDefs::eOctetString = 4, CAsnBinaryDefs::eNull = 5, CAsnBinaryDefs::eObjectIdentifier = 6, CAsnBinaryDefs::eObjectDescriptor = 7,
  CAsnBinaryDefs::eExternal = 8, CAsnBinaryDefs::eReal = 9, CAsnBinaryDefs::eEnumerated = 10, CAsnBinaryDefs::eUTF8String = 12,
  CAsnBinaryDefs::eSequence = 16, CAsnBinaryDefs::eSequenceOf = eSequence, CAsnBinaryDefs::eSet = 17, CAsnBinaryDefs::eSetOf = eSet,
  CAsnBinaryDefs::eNumericString = 18, CAsnBinaryDefs::ePrintableString = 19, CAsnBinaryDefs::eTeletextString = 20, CAsnBinaryDefs::eT61String = 20,
  CAsnBinaryDefs::eVideotextString = 21, CAsnBinaryDefs::eIA5String = 22, CAsnBinaryDefs::eUTCTime = 23, CAsnBinaryDefs::eGeneralizedTime = 24,
  CAsnBinaryDefs::eGraphicString = 25, CAsnBinaryDefs::eVisibleString = 26, CAsnBinaryDefs::eISO646String = 26, CAsnBinaryDefs::eGeneralString = 27,
  CAsnBinaryDefs::eMemberReference = 29, CAsnBinaryDefs::eObjectReference = 30, CAsnBinaryDefs::eLongTag = 31, CAsnBinaryDefs::eStringStore = 1,
  CAsnBinaryDefs::eTagValueMask = 31
}
 
enum  CAsnBinaryDefs::ESpecialOctets { CAsnBinaryDefs::eContainterTagByte = TByte(eConstructed) | TByte(eSequence), CAsnBinaryDefs::eIndefiniteLengthByte = 0x80, CAsnBinaryDefs::eEndOfContentsByte = 0, CAsnBinaryDefs::eZeroLengthByte = 0 }
 
enum  CAsnBinaryDefs::ERealRadix {
  CAsnBinaryDefs::eDecimal = 0, CAsnBinaryDefs::eDecimalEncoding = 0xC0, CAsnBinaryDefs::eDecimal_NR1 = 1, CAsnBinaryDefs::eDecimal_NR2 = 2,
  CAsnBinaryDefs::eDecimal_NR3 = 3, CAsnBinaryDefs::ePositiveInfinity = 0x40, CAsnBinaryDefs::eNegativeInfinity = 0x41, CAsnBinaryDefs::eNotANumber = 0x42,
  CAsnBinaryDefs::eNegativeZero = 0x43
}
 
enum  CObjectStreamCopier::ENoFileHeader { CObjectStreamCopier::eNoFileHeader }
 
enum  CConstObjectInfo::ENonCObject { CConstObjectInfo::eNonCObject }
 
enum  CIStreamContainerIterator::EState {
  CIStreamContainerIterator::eElementBegin, CIStreamContainerIterator::eElementEnd, CIStreamContainerIterator::eNoMoreElements, CIStreamContainerIterator::eFinished,
  CIStreamContainerIterator::eError
}
 
enum  CObjectInfoMI::EEraseFlag { CObjectInfoMI::eErase_Optional, CObjectInfoMI::eErase_Mandatory }
 Erase types. More...
 
enum  EDefaultHookAction { eDefault_Normal, eDefault_Skip }
 
enum  CObjectHookGuardBase::EHookMode {
  CObjectHookGuardBase::eHook_None, CObjectHookGuardBase::eHook_Read, CObjectHookGuardBase::eHook_Write, CObjectHookGuardBase::eHook_Skip,
  CObjectHookGuardBase::eHook_Copy
}
 
enum  CObjectHookGuardBase::EHookType {
  CObjectHookGuardBase::eHook_Null, CObjectHookGuardBase::eHook_Object, CObjectHookGuardBase::eHook_Member, CObjectHookGuardBase::eHook_Variant,
  CObjectHookGuardBase::eHook_Element
}
 
enum  CObjectIStream::EFailFlags {
  CObjectIStream::fNoError = 0, CObjectIStream::eNoError = fNoError, CObjectIStream::fEOF = 1 << 0, CObjectIStream::eEOF = fEOF,
  CObjectIStream::fReadError = 1 << 1, CObjectIStream::eReadError = fReadError, CObjectIStream::fFormatError = 1 << 2, CObjectIStream::eFormatError = fFormatError,
  CObjectIStream::fOverflow = 1 << 3, CObjectIStream::eOverflow = fOverflow, CObjectIStream::fInvalidData = 1 << 4, CObjectIStream::eInvalidData = fInvalidData,
  CObjectIStream::fIllegalCall = 1 << 5, CObjectIStream::eIllegalCall = fIllegalCall, CObjectIStream::fFail = 1 << 6, CObjectIStream::eFail = fFail,
  CObjectIStream::fNotOpen = 1 << 7, CObjectIStream::eNotOpen = fNotOpen, CObjectIStream::fNotImplemented = 1 << 8, CObjectIStream::eNotImplemented = fNotImplemented,
  CObjectIStream::fMissingValue = 1 << 9, CObjectIStream::eMissingValue = fMissingValue, CObjectIStream::fUnknownValue = 1 << 10, CObjectIStream::eUnknownValue = fUnknownValue,
  CObjectIStream::fNullValue = 1 << 11, CObjectIStream::eNullValue = fNullValue
}
 Fail flags. More...
 
enum  CObjectIStream::EDelayBufferParsing { CObjectIStream::eDelayBufferPolicyNotSet, CObjectIStream::eDelayBufferPolicyAlwaysParse, CObjectIStream::eDelayBufferPolicyNeverParse }
 DelayBuffer parsing policy. More...
 
enum  CObjectIStream::ENoFileHeader { CObjectIStream::eNoFileHeader }
 
enum  CObjectIStream::EPointerType { CObjectIStream::eNullPointer, CObjectIStream::eObjectPointer, CObjectIStream::eThisPointer, CObjectIStream::eOtherPointer }
 
enum  CObjectIStream::EFlags {
  CObjectIStream::fFlagNone = 0, CObjectIStream::eFlagNone = fFlagNone, CObjectIStream::fFlagAllowNonAsciiChars = 1 << 0, CObjectIStream::eFlagAllowNonAsciiChars = fFlagAllowNonAsciiChars,
  CObjectIStream::fFlagEnforcedStdXml = 1 << 1, CObjectIStream::eFlagEnforcedStdXml = fFlagEnforcedStdXml
}
 
enum  CObjectIStream::ESpecialCaseRead { CObjectIStream::eReadAsNormal = 0, CObjectIStream::eReadAsDefault = 1, CObjectIStream::eReadAsNil = 2 }
 
enum  CObjectIStreamJson::EBinaryDataFormat {
  CObjectIStreamJson::eDefault, CObjectIStreamJson::eArray_Bool, CObjectIStreamJson::eArray_01, CObjectIStreamJson::eArray_Uint,
  CObjectIStreamJson::eString_Hex, CObjectIStreamJson::eString_01, CObjectIStreamJson::eString_01B, CObjectIStreamJson::eString_Base64
}
 formatting of binary data ('OCTET STRING', 'hexBinary', 'base64Binary') More...
 
enum  CObjectIStreamXml::ETagState { CObjectIStreamXml::eTagOutside, CObjectIStreamXml::eTagInsideOpening, CObjectIStreamXml::eTagInsideClosing, CObjectIStreamXml::eTagSelfClosed }
 
enum  CObjectOStream::EFailFlags {
  CObjectOStream::fNoError = 0, CObjectOStream::eNoError = fNoError, CObjectOStream::fWriteError = 1 << 1, CObjectOStream::eWriteError = fWriteError,
  CObjectOStream::fOverflow = 1 << 3, CObjectOStream::eOverflow = fOverflow, CObjectOStream::fInvalidData = 1 << 4, CObjectOStream::eInvalidData = fInvalidData,
  CObjectOStream::fIllegalCall = 1 << 5, CObjectOStream::eIllegalCall = fIllegalCall, CObjectOStream::fFail = 1 << 6, CObjectOStream::eFail = fFail,
  CObjectOStream::fNotOpen = 1 << 7, CObjectOStream::eNotOpen = fNotOpen, CObjectOStream::fNotImplemented = 1 << 8, CObjectOStream::eNotImplemented = fNotImplemented,
  CObjectOStream::fUnassigned = 1 << 9, CObjectOStream::eUnassigned = fUnassigned
}
 Fail flags. More...
 
enum  CObjectOStream::EDelayBufferParsing { CObjectOStream::eDelayBufferPolicyNotSet, CObjectOStream::eDelayBufferPolicyAlwaysParse, CObjectOStream::eDelayBufferPolicyNeverParse }
 DelayBuffer parsing policy. More...
 
enum  CObjectOStream::EFlags {
  CObjectOStream::fFlagNone = 0, CObjectOStream::eFlagNone = fFlagNone, CObjectOStream::fFlagAllowNonAsciiChars = 1 << 0, CObjectOStream::eFlagAllowNonAsciiChars = fFlagAllowNonAsciiChars,
  CObjectOStream::fFlagNoAutoFlush = 1 << 1
}
 
enum  CObjectOStream::ESpecialCaseWrite { CObjectOStream::eWriteAsNormal = 0, CObjectOStream::eWriteAsDefault = 1, CObjectOStream::eWriteAsNil = 2 }
 
enum  CObjectOStreamJson::EBinaryDataFormat {
  CObjectOStreamJson::eDefault, CObjectOStreamJson::eArray_Bool, CObjectOStreamJson::eArray_01, CObjectOStreamJson::eArray_Uint,
  CObjectOStreamJson::eString_Hex, CObjectOStreamJson::eString_01, CObjectOStreamJson::eString_01B, CObjectOStreamJson::eString_Base64
}
 formatting of binary data ('OCTET STRING', 'hexBinary', 'base64Binary') More...
 
enum  CObjectOStreamXml::ERealValueFormat { CObjectOStreamXml::eRealFixedFormat, CObjectOStreamXml::eRealScientificFormat }
 formatting of values of type 'real' ('double') More...
 
enum  CObjectOStreamXml::ETagAction { CObjectOStreamXml::eTagOpen, CObjectOStreamXml::eTagClose, CObjectOStreamXml::eTagSelfClosed, CObjectOStreamXml::eAttlistTag }
 

Functions

 CObjectStreamCopier::CObjectStreamCopier (CObjectIStream &in, CObjectOStream &out)
 Constructor. More...
 
 CObjectStreamCopier::~CObjectStreamCopier (void)
 Destructor. More...
 
CObjectIStreamCObjectStreamCopier::In (void) const
 
CObjectOStreamCObjectStreamCopier::Out (void) const
 
void CObjectStreamCopier::ResetLocalHooks (void)
 
void CObjectStreamCopier::Copy (const CObjectTypeInfo &type)
 Copy data. More...
 
void CObjectStreamCopier::Copy (TTypeInfo type, ENoFileHeader noFileHeader)
 Copy data when the input file header is already read. More...
 
void CObjectStreamCopier::CopyObject (TTypeInfo type)
 Copy object, omitting file header both in input and output streams. More...
 
void CObjectStreamCopier::CopyExternalObject (TTypeInfo type)
 
void CObjectStreamCopier::CopyString (EStringType type=eStringTypeVisible)
 
void CObjectStreamCopier::CopyStringStore (void)
 
void CObjectStreamCopier::CopyByteBlock (void)
 
void CObjectStreamCopier::CopyAnyContentObject (void)
 
void CObjectStreamCopier::CopyNamedType (TTypeInfo namedTypeInfo, TTypeInfo objectType)
 
void CObjectStreamCopier::CopyPointer (TTypeInfo declaredType)
 
bool CObjectStreamCopier::CopyNullPointer (void)
 
void CObjectStreamCopier::CopyContainer (const CContainerTypeInfo *containerType)
 
void CObjectStreamCopier::CopyClassRandom (const CClassTypeInfo *classType)
 
void CObjectStreamCopier::CopyClassSequential (const CClassTypeInfo *classType)
 
void CObjectStreamCopier::CopyChoice (const CChoiceTypeInfo *choiceType)
 
void CObjectStreamCopier::CopyAlias (const CAliasTypeInfo *aliasType)
 
void CObjectStreamCopier::ThrowError1 (const CDiagCompileInfo &diag_info, TFailFlags fail, const char *message)
 
void CObjectStreamCopier::ThrowError1 (const CDiagCompileInfo &diag_info, TFailFlags fail, const string &message)
 
void CObjectStreamCopier::ExpectedMember (const CMemberInfo *memberInfo)
 
void CObjectStreamCopier::DuplicatedMember (const CMemberInfo *memberInfo)
 
void CObjectStreamCopier::SetPathCopyObjectHook (const string &path, CCopyObjectHook *hook)
 
void CObjectStreamCopier::SetPathCopyMemberHook (const string &path, CCopyClassMemberHook *hook)
 
void CObjectStreamCopier::SetPathCopyVariantHook (const string &path, CCopyChoiceVariantHook *hook)
 
void CObjectStreamCopier::SetPathHooks (CObjectStack &stk, bool set)
 
template<class C >
TTypeInfo ObjectType (const C &)
 
template<class C >
pair< TObjectPtr, TTypeInfoObjectInfo (C &obj)
 
template<class C >
pair< TConstObjectPtr, TTypeInfoConstObjectInfo (const C &obj)
 
template<class C >
pair< TConstObjectPtr, TTypeInfoObjectInfo (const C &obj)
 
template<class C >
pair< TObjectPtr, TTypeInfoRefChoiceInfo (CRef< C > &obj)
 
template<class C >
pair< TConstObjectPtr, TTypeInfoConstRefChoiceInfo (const CRef< C > &obj)
 
template<typename T >
void operator>> (CIStreamContainerIterator &i, T &element)
 
template<typename T >
void operator<< (COStreamContainer &o, const T &element)
 
void Serial_FilterSkip (CObjectIStream &in, CObjectTypeInfo &ctype)
 
template<typename TRoot , typename TObject >
void Serial_FilterObjects (CObjectIStream &in, CSerial_FilterObjectsHook< TObject > *hook, bool readall=true)
 Scan input stream, finding objects of requested type (TObject) only. More...
 
template<typename TRoot , typename TObject >
void Serial_FilterStdObjects (CObjectIStream &in, CSerial_FilterObjectsHook< TObject > *hook, bool readall=true)
 Scan input stream, finding objects that are not derived from CSerialObject. More...
 
bool GoodVisibleChar (char c)
 
char ReplaceVisibleChar (char c, EFixNonPrint fix_method, const CObjectStack *io, const string &str)
 
void FixVisibleChar (char &c, EFixNonPrint fix_method, const CObjectStack *io, const string &str)
 
virtual void CIStreamObjectHook< TRoot, TObject >::Process (const TObject &obj)
 This method will be called when the object of the requested class is read. More...
 

Variables

CObjectIStreamCObjectStreamCopier::m_In
 
CObjectOStreamCObjectStreamCopier::m_Out
 
CStreamPathHook< CMemberInfo *, CCopyClassMemberHook * > CObjectStreamCopier::m_PathCopyMemberHooks
 
CStreamPathHook< CVariantInfo *, CCopyChoiceVariantHook * > CObjectStreamCopier::m_PathCopyVariantHooks
 
CStreamObjectPathHook< CCopyObjectHook * > CObjectStreamCopier::m_PathCopyObjectHooks
 
CLocalHookSet< CCopyObjectHookCObjectStreamCopier::m_ObjectHookKey
 
CLocalHookSet< CCopyClassMemberHookCObjectStreamCopier::m_ClassMemberHookKey
 
CLocalHookSet< CCopyChoiceVariantHookCObjectStreamCopier::m_ChoiceVariantHookKey
 

Detailed Description

Macro Definition Documentation

#define BEGIN_OBJECT_2FRAMES (   Type)    BEGIN_OBJECT_2FRAMES_OF(*this, Type)

Definition at line 237 of file objstack.hpp.

#define BEGIN_OBJECT_2FRAMES2 (   Type,
  Arg 
)    BEGIN_OBJECT_2FRAMES_OF2(*this, Type, Arg)

Definition at line 238 of file objstack.hpp.

Referenced by CObjectStreamCopier::Copy(), and CObjectStreamCopier::CopyPointer().

#define BEGIN_OBJECT_2FRAMES_OF (   Stream,
  Type 
)    BEGIN_OBJECT_2FRAMES_OFx(Stream, (CObjectStackFrame::Type))
#define BEGIN_OBJECT_2FRAMES_OF2 (   Stream,
  Type,
  Arg 
)    BEGIN_OBJECT_2FRAMES_OFx(Stream, (CObjectStackFrame::Type, Arg))
#define BEGIN_OBJECT_2FRAMES_OFx (   Stream,
  Args 
)
Value:
(Stream).In().PushFrame Args; \
(Stream).Out().PushFrame Args; \
try {
void Out(T t, int w, CNcbiOstream &to=cout)
Definition: parse.cpp:467

Definition at line 216 of file objstack.hpp.

#define BEGIN_OBJECT_FRAME (   Type)    BEGIN_OBJECT_FRAME_OF(*this, Type)
#define BEGIN_OBJECT_FRAME2 (   Type,
  Arg 
)    BEGIN_OBJECT_FRAME_OF2(*this, Type, Arg)
#define BEGIN_OBJECT_FRAME3 (   Type,
  Arg1,
  Arg2 
)    BEGIN_OBJECT_FRAME_OF3(*this, Type, Arg1, Arg2)
#define BEGIN_OBJECT_FRAME_OF (   Stream,
  Type 
)    BEGIN_OBJECT_FRAME_OFx(Stream, (CObjectStackFrame::Type))
#define BEGIN_OBJECT_FRAME_OF2 (   Stream,
  Type,
  Arg 
)    BEGIN_OBJECT_FRAME_OFx(Stream, (CObjectStackFrame::Type, Arg))
#define BEGIN_OBJECT_FRAME_OF3 (   Stream,
  Type,
  Arg1,
  Arg2 
)    BEGIN_OBJECT_FRAME_OFx(Stream, (CObjectStackFrame::Type, Arg1, Arg2))
#define BEGIN_OBJECT_FRAME_OFx (   Stream,
  Args 
)
Value:
(Stream).PushFrame Args; \
try {

Definition at line 184 of file objstack.hpp.

#define CHECK_INSTREAM_LIMITS   1

Definition at line 48 of file objstrasnb.hpp.

#define CHECK_INSTREAM_STATE   1

Definition at line 47 of file objstrasnb.hpp.

#define CHECK_OUTSTREAM_INTEGRITY   1

Definition at line 49 of file objstrasnb.hpp.

#define END_OBJECT_2FRAMES ( )    END_OBJECT_2FRAMES_OF(*this)

Definition at line 239 of file objstack.hpp.

Referenced by CObjectStreamCopier::Copy(), and CObjectStreamCopier::CopyPointer().

#define END_OBJECT_2FRAMES_OF (   Stream)
Value:
} catch (CException& expt) { \
std::string msg((Stream).In().TopFrame().GetFrameInfo()); \
(Stream).Out().PopFrame(); \
(Stream).Out().SetFailFlagsNoError(CObjectOStream::fInvalidData); \
(Stream).In().PopErrorFrame(); \
NCBI_RETHROW_SAME(expt,msg); \
} \
(Stream).Out().PopFrame(); \
(Stream).In().PopFrame()
void Out(T t, int w, CNcbiOstream &to=cout)
Definition: parse.cpp:467
string
Definition: cgiapp.hpp:407
Output data is incorrect.
Definition: objostr.hpp:308
#define NCBI_RETHROW_SAME(prev_exception, message)
Generic macro to re-throw the same exception.
Definition: ncbiexpt.hpp:591
CException –.
Definition: ncbiexpt.hpp:709

Definition at line 221 of file objstack.hpp.

Referenced by CObjectOStream::CopyChoice(), CObjectOStream::CopyClassRandom(), CObjectOStream::CopyClassSequential(), CObjectOStream::CopyContainer(), and CObjectOStream::CopyNamedType().

#define END_OBJECT_FRAME ( )    END_OBJECT_FRAME_OF(*this)
#define END_OBJECT_FRAME_OF (   Stream)
Value:
} catch (CSerialException& s_expt) { \
std::string msg((Stream).TopFrame().GetFrameName()); \
(Stream).PopFrame(); \
s_expt.AddFrameInfo(msg); \
throw; \
} catch ( CEofException& e_expt ) { \
(Stream).HandleEOF(e_expt); \
} catch (CException& expt) { \
std::string msg((Stream).TopFrame().GetFrameInfo()); \
(Stream).PopFrame(); \
NCBI_RETHROW_SAME(expt,msg); \
} \
(Stream).PopFrame()
string
Definition: cgiapp.hpp:407
#define NCBI_RETHROW_SAME(prev_exception, message)
Generic macro to re-throw the same exception.
Definition: ncbiexpt.hpp:591
Root class for all serialization exceptions.
Definition: exception.hpp:49
CException –.
Definition: ncbiexpt.hpp:709

Definition at line 188 of file objstack.hpp.

Referenced by CObjectOStream::CopyNamedType(), CChoiceTypeInfoFunctions::ReadChoiceDefault(), CObjectInfo::ReadContainer(), CSequenceOfTypeInfoFunctions::ReadSequence(), CChoiceTypeInfoFunctions::SkipChoiceDefault(), CVariantInfo::UpdateDelayedBuffer(), CMemberInfo::UpdateDelayedBuffer(), and CChoiceTypeInfoFunctions::WriteChoiceDefault().

#define ThrowError (   flag,
  mess 
)    ThrowError1(DIAG_COMPILE_INFO,flag,mess)

Definition at line 113 of file objstack.hpp.

Referenced by CObjectIStreamAsn::BadStringChar(), CObjectIStreamJson::BeginBytes(), CObjectIStreamAsnBinary::BeginBytes(), CObjectIStreamAsn::BeginChoiceVariant(), CObjectOStreamAsnBinary::BeginChoiceVariant(), CObjectOStreamAsnBinary::BeginClass(), CObjectOStreamAsnBinary::BeginClassMember(), CObjectIStreamXml::BeginClosingTag(), CObjectIStreamXml::BeginOpeningTag(), CObjectIStreamXml::CloseStackTag(), CObjectIStreamXml::CloseTag(), CObjectOStreamAsnBinary::CopyAnyContentObject(), CObjectOStreamAsn::CopyAnyContentObject(), CObjectOStreamJson::CopyBitString(), CObjectStreamCopier::CopyPointer(), CObjectIStream::DuplicatedMember(), CObjectIStreamXml::EndOpeningTagSelfClosed(), CObjectIStreamXml::EndTag(), CObjectIStreamJson::Expect(), CObjectIStreamAsn::Expect(), CObjectIStream::ExpectedMember(), CObjectIStreamXml::GetBase64Char(), CObjectIStreamAsn::GetHexChar(), CObjectIStreamXml::GetHexChar(), CObjectIStream::GetRegisteredObject(), CObjectIStream::HandleEOF(), CObjectIStreamJson::NextElement(), CObjectIStreamAsn::NextElement(), CObjectIStreamXml::OpenStackTag(), CObjectIStreamXml::OpenTag(), CObjectIStreamAsnBinary::PeekAnyTagFirstByte(), CObjectIStreamAsnBinary::PeekClassTag(), CObjectIStreamAsnBinary::PeekLongTag(), CObjectOStreamXml::PrintTagName(), CObjectIStreamAsnBinary::ReadAnyContentObject(), CObjectIStreamJson::ReadAnyContentObject(), CObjectIStreamXml::ReadAttributeName(), CObjectIStreamXml::ReadAttributeValue(), CObjectIStreamJson::ReadBase64Bytes(), CObjectIStreamJson::ReadBitString(), CObjectIStreamXml::ReadBitString(), CObjectIStreamXml::ReadBool(), CObjectIStreamAsn::ReadBool(), CObjectIStreamXml::ReadBytes(), CObjectIStreamAsnBinary::ReadBytes(), CObjectIStreamXml::ReadCDSection(), CObjectIStreamXml::ReadChar(), CObjectIStreamAsn::ReadChar(), CObjectIStreamJson::ReadChars(), CObjectIStream::ReadChoiceSimple(), CObjectIStreamXml::ReadContainerContents(), CObjectIStreamXml::ReadDouble(), CObjectIStreamAsnBinary::ReadDouble(), CObjectIStreamAsn::ReadDouble(), CObjectIStreamXml::ReadEnum(), CObjectIStreamJson::ReadEscapedChar(), CObjectIStreamXml::ReadEscapedChar(), CObjectIStreamXml::ReadFileHeader(), CObjectIStreamAsn::ReadFileHeader(), CObjectIStream::ReadFloat(), CObjectIStream::ReadInt1(), CObjectIStream::ReadInt2(), CObjectIStream::ReadInt4(), CObjectIStreamAsnBinary::ReadLengthLong(), CObjectIStreamAsn::ReadMemberId(), CObjectIStreamXml::ReadName(), CObjectIStreamAsn::ReadNull(), CObjectIStreamXml::ReadNull(), CObjectIStreamAsn::ReadNumber(), CObjectIStreamXml::ReadObjectPointer(), CObjectIStreamJson::ReadObjectPointer(), CObjectIStreamAsn::ReadObjectPointer(), CObjectIStreamXml::ReadOtherPointer(), CObjectIStreamJson::ReadOtherPointer(), CObjectIStreamAsnBinary::ReadPointer(), CObjectIStream::ReadPointer(), CObjectIStreamJson::ReadPointerType(), CObjectIStreamAsn::ReadTypeId(), CObjectIStream::ReadUint1(), CObjectIStream::ReadUint2(), CObjectIStream::ReadUint4(), CObjectIStreamJson::ReadUtf8Char(), CObjectIStreamXml::ReadUtf8Char(), CObjectIStreamAsn::SkipBool(), CObjectIStreamXml::SkipByteBlock(), CObjectIStreamAsn::SkipByteBlock(), CObjectIStreamAsnBinary::SkipBytes(), CObjectIStream::SkipChoiceSimple(), CObjectIStream::SkipFileHeader(), CObjectIStreamAsnBinary::SkipFNumber(), CObjectIStreamAsn::SkipFNumber(), CObjectIStreamXml::SkipNull(), CObjectIStreamAsn::SkipNull(), CObjectIStream::SkipPointer(), CObjectIStreamXml::SkipQDecl(), CObjectIStreamXml::SkipSNumber(), CObjectIStreamAsn::SkipSNumber(), CObjectIStreamXml::SkipStackTagName(), CObjectIStreamXml::SkipTagName(), CObjectIStreamXml::SkipUNumber(), CObjectIStreamAsn::SkipUNumber(), CObjectIStreamJson::SkipWhiteSpace(), CObjectIStreamAsn::SkipWhiteSpace(), CObjectIStreamXml::SkipWSAndComments(), CObjectOStream::Unended(), CObjectIStream::Unended(), CObjectIStreamAsn::UnendedString(), CObjectIStreamAsnBinary::UnexpectedByte(), CObjectIStreamAsnBinary::UnexpectedContinuation(), CObjectIStreamAsnBinary::UnexpectedFixedLength(), CObjectIStreamAsnBinary::UnexpectedLongLength(), CObjectIStreamJson::UnexpectedMember(), CObjectIStreamAsn::UnexpectedMember(), CObjectIStreamXml::UnexpectedMember(), CObjectIStreamAsnBinary::UnexpectedMember(), CObjectIStreamAsnBinary::UnexpectedShortLength(), CObjectIStreamAsnBinary::UnexpectedSysTagByte(), CObjectIStreamAsnBinary::UnexpectedTagClassByte(), CObjectIStreamAsnBinary::UnexpectedTagValue(), CObjectOStreamAsnBinary::WriteAnyContentObject(), CObjectOStreamAsn::WriteAnyContentObject(), CObjectOStreamJson::WriteAnyContentObject(), CObjectOStreamXml::WriteAnyContentObject(), CObjectOStreamAsnBinary::WriteByte(), CObjectOStreamAsnBinary::WriteBytes(), CObjectOStreamJson::WriteChars(), CObjectOStreamAsnBinary::WriteClassTag(), CObjectOStream::WriteContainer(), CObjectOStreamXml::WriteContainerContents(), CObjectOStreamAsn::WriteDouble2(), CObjectOStreamJson::WriteDouble2(), CObjectOStreamAsnBinary::WriteDouble2(), CObjectOStreamAsnBinary::WriteLongTag(), CObjectOStreamAsn::WriteObjectReference(), CObjectOStreamJson::WriteObjectReference(), CObjectOStreamAsnBinary::WriteObjectReference(), CObjectOStreamXml::WriteObjectReference(), CObjectOStreamJson::WriteOther(), CObjectOStreamJson::WriteOtherBegin(), CObjectOStreamJson::WriteOtherEnd(), and CObjectIStreamJson::x_ReadString().

#define USE_DEF_LEN   1

Definition at line 46 of file objistrasnb.hpp.

Typedef Documentation

Definition at line 136 of file objcopy.hpp.

Enumeration Type Documentation

formatting of binary data ('OCTET STRING', 'hexBinary', 'base64Binary')

Enumerator
eDefault 

default

eArray_Bool 

array of 'true' and 'false'

eArray_01 

array of 1 and 0

eArray_Uint 

array of unsigned integers

eString_Hex 

HEX string.

eString_01 

string of 0 and 1

eString_01B 

string of 0 and 1, plus 'B' at the end

eString_Base64 

Base64Binary string.

Definition at line 90 of file objistrjson.hpp.

formatting of binary data ('OCTET STRING', 'hexBinary', 'base64Binary')

Enumerator
eDefault 

default

eArray_Bool 

array of 'true' and 'false'

eArray_01 

array of 1 and 0

eArray_Uint 

array of unsigned integers

eString_Hex 

HEX string.

eString_01 

string of 0 and 1

eString_01B 

string of 0 and 1, plus 'B' at the end

eString_Base64 

Base64Binary string.

Definition at line 93 of file objostrjson.hpp.

Enumerator
eDefault_Normal 
eDefault_Skip 

Definition at line 280 of file objhook.hpp.

DelayBuffer parsing policy.

Enumerator
eDelayBufferPolicyNotSet 

Parse only if local hook are present.

eDelayBufferPolicyAlwaysParse 

Parse always.

eDelayBufferPolicyNeverParse 

Never parse.

Definition at line 402 of file objostr.hpp.

DelayBuffer parsing policy.

Enumerator
eDelayBufferPolicyNotSet 

Parse only if local hook are present.

eDelayBufferPolicyAlwaysParse 

Parse always.

eDelayBufferPolicyNeverParse 

Never parse.

Definition at line 508 of file objistr.hpp.

Erase types.

Enumerator
eErase_Optional 

default - erase optional member only

eErase_Mandatory 

allow erasing mandatory members, may be dangerous!

Definition at line 448 of file objectiter.hpp.

Error codes.

Enumerator
eNotImplemented 

Attempt to use unimplemented funtionality.

eEOF 

Unexpected end-of-file.

eIoError 

An unknown error during serialization.

eFormatError 

Malformed input data.

eOverflow 

Data is beyond the allowed limits.

eInvalidData 

Data is incorrect.

eIllegalCall 

Illegal in a given context function call.

eFail 

Internal error, the real reason is unclear.

eNotOpen 

No input or output file.

eMissingValue 

Mandatory value was missing in the input.

eNullValue 

Data value is null.

Definition at line 53 of file exception.hpp.

Enumerator
eGet 
eWrite 
eUnknownMember 

Definition at line 86 of file exception.hpp.

Enumerator
eFail 

Definition at line 104 of file exception.hpp.

Fail flags.

Enumerator
fNoError 

No error.

eNoError 
fWriteError 

An unknown error when writing into output file.

eWriteError 
fOverflow 

Internal buffer overflow.

eOverflow 
fInvalidData 

Output data is incorrect.

eInvalidData 
fIllegalCall 

Illegal in a given context function call.

eIllegalCall 
fFail 

Internal error, the real reason is unclear.

eFail 
fNotOpen 

No output file.

eNotOpen 
fNotImplemented 

Method is not implemented.

eNotImplemented 
fUnassigned 

Mandatory object member is unassigned Normally this results in throwing CUnassignedMember exception.

eUnassigned 

Definition at line 298 of file objostr.hpp.

Fail flags.

Enumerator
fNoError 

No error.

eNoError 
fEOF 

End of file in the middle of reading an object.

eEOF 
fReadError 

An unknown error when reading the input file.

eReadError 
fFormatError 

Input file formatting does not conform with specification.

eFormatError 
fOverflow 

Data read is beyond the allowed limits.

eOverflow 
fInvalidData 

Input data is incorrect (e.g. invalid enum)

eInvalidData 
fIllegalCall 

Illegal in a given context function call.

eIllegalCall 
fFail 

Internal error, the real reason is unclear.

eFail 
fNotOpen 

No input file.

eNotOpen 
fNotImplemented 

Method is not implemented.

eNotImplemented 
fMissingValue 

Mandatory value was missing in the input.

This is the variant of fFormatError. Normally stream throws an exception, but client can request not to throw one; in this case this flag is set instead.

eMissingValue 
fUnknownValue 

Unknown value was present in the input.

This is the variant of fFormatError. Normally stream throws an exception, but client can request not to throw one; in this case this flag is set instead.

eUnknownValue 
fNullValue 

Input value is 'null'.

eNullValue 

Definition at line 366 of file objistr.hpp.

Enumerator
fFlagNone 
eFlagNone 
fFlagAllowNonAsciiChars 
eFlagAllowNonAsciiChars 
fFlagNoAutoFlush 

Definition at line 571 of file objostr.hpp.

Enumerator
fFlagNone 
eFlagNone 
fFlagAllowNonAsciiChars 
eFlagAllowNonAsciiChars 
fFlagEnforcedStdXml 
eFlagEnforcedStdXml 

Definition at line 829 of file objistr.hpp.

Enumerator
eFrameOther 
eFrameNamed 
eFrameArray 
eFrameArrayElement 
eFrameClass 
eFrameClassMember 
eFrameChoice 
eFrameChoiceVariant 

Definition at line 63 of file objstack.hpp.

Enumerator
eHook_None 
eHook_Read 
eHook_Write 
eHook_Skip 
eHook_Copy 

Definition at line 356 of file objhook.hpp.

Enumerator
eHook_Null 
eHook_Object 
eHook_Member 
eHook_Variant 
eHook_Element 

Definition at line 363 of file objhook.hpp.

Enumerator
eNoFileHeader 

Definition at line 95 of file objcopy.hpp.

Enumerator
eNoFileHeader 

Definition at line 573 of file objistr.hpp.

Enumerator
eNonCObject 

Definition at line 428 of file objectinfo.hpp.

Enumerator
eNullPointer 
eObjectPointer 
eThisPointer 
eOtherPointer 

Definition at line 767 of file objistr.hpp.

Enumerator
eDecimal 
eDecimalEncoding 
eDecimal_NR1 
eDecimal_NR2 
eDecimal_NR3 
ePositiveInfinity 
eNegativeInfinity 
eNotANumber 
eNegativeZero 

Definition at line 134 of file objstrasnb.hpp.

formatting of values of type 'real' ('double')

Enumerator
eRealFixedFormat 

use 'f' formatting type

eRealScientificFormat 

use 'g' formatting type

Definition at line 248 of file objostrxml.hpp.

Enumerator
eReadAsNormal 
eReadAsDefault 
eReadAsNil 

Definition at line 1071 of file objistr.hpp.

Enumerator
eWriteAsNormal 
eWriteAsDefault 
eWriteAsNil 

Definition at line 742 of file objostr.hpp.

Enumerator
eContainterTagByte 
eIndefiniteLengthByte 
eEndOfContentsByte 
eZeroLengthByte 

Definition at line 126 of file objstrasnb.hpp.

Enumerator
eElementBegin 
eElementEnd 
eNoMoreElements 
eFinished 
eError 

Definition at line 196 of file objectio.hpp.

Enumerator
eTagOpen 
eTagClose 
eTagSelfClosed 
eAttlistTag 

Definition at line 421 of file objostrxml.hpp.

Enumerator
eUniversal 
eApplication 
eContextSpecific 
ePrivate 
eTagClassMask 

Definition at line 68 of file objstrasnb.hpp.

Enumerator
ePrimitive 
eConstructed 
eTagConstructedMask 

Definition at line 76 of file objstrasnb.hpp.

Enumerator
eTagOutside 
eTagInsideOpening 
eTagInsideClosing 
eTagSelfClosed 

Definition at line 290 of file objistrxml.hpp.

Enumerator
eExplicit 
eImplicit 
eAutomatic 

Definition at line 62 of file objstrasnb.hpp.

Enumerator
eNone 
eBoolean 
eInteger 
eBitString 
eOctetString 
eNull 
eObjectIdentifier 
eObjectDescriptor 
eExternal 
eReal 
eEnumerated 
eUTF8String 
eSequence 
eSequenceOf 
eSet 
eSetOf 
eNumericString 
ePrintableString 
eTeletextString 
eT61String 
eVideotextString 
eIA5String 
eUTCTime 
eGeneralizedTime 
eGraphicString 
eVisibleString 
eISO646String 
eGeneralString 
eMemberReference 
eObjectReference 
eLongTag 
eStringStore 
eTagValueMask 

Definition at line 82 of file objstrasnb.hpp.

Function Documentation

CObjectStreamCopier::CObjectStreamCopier ( CObjectIStream in,
CObjectOStream out 
)

Constructor.

Parameters
inInput stream reader
outOutput stream writer

Definition at line 55 of file objcopy.cpp.

template<class C >
pair<TConstObjectPtr, TTypeInfo> ConstObjectInfo ( const C &  obj)
inline

Definition at line 770 of file objectinfo.hpp.

Referenced by operator<<(), and CGBSeqFormatter::x_WriteGBSeq().

template<class C >
pair<TConstObjectPtr, TTypeInfo> ConstRefChoiceInfo ( const CRef< C > &  obj)
inline

Definition at line 791 of file objectinfo.hpp.

void CObjectStreamCopier::Copy ( const CObjectTypeInfo type)
void CObjectStreamCopier::Copy ( TTypeInfo  type,
ENoFileHeader  noFileHeader 
)

Copy data when the input file header is already read.

Parameters
typeType information
noFileHeaderOmit file header in the input stream

Definition at line 91 of file objcopy.cpp.

References BEGIN_OBJECT_2FRAMES2, CObjectStreamCopier::CopyObject(), END_OBJECT_2FRAMES, CObjectIStream::EndOfRead(), CObjectOStream::EndOfWrite(), CObjectStreamCopier::In(), CObjectStreamCopier::Out(), and CObjectOStream::WriteFileHeader().

void CObjectStreamCopier::CopyAlias ( const CAliasTypeInfo aliasType)
void CObjectStreamCopier::CopyAnyContentObject ( void  )
void CObjectStreamCopier::CopyByteBlock ( void  )
void CObjectStreamCopier::CopyChoice ( const CChoiceTypeInfo choiceType)
void CObjectStreamCopier::CopyClassRandom ( const CClassTypeInfo classType)
void CObjectStreamCopier::CopyClassSequential ( const CClassTypeInfo classType)
void CObjectStreamCopier::CopyContainer ( const CContainerTypeInfo containerType)
void CObjectStreamCopier::CopyExternalObject ( TTypeInfo  type)
void CObjectStreamCopier::CopyNamedType ( TTypeInfo  namedTypeInfo,
TTypeInfo  objectType 
)
bool CObjectStreamCopier::CopyNullPointer ( void  )
void CObjectStreamCopier::CopyObject ( TTypeInfo  type)
void CObjectStreamCopier::CopyPointer ( TTypeInfo  declaredType)
void CObjectStreamCopier::CopyString ( EStringType  type = eStringTypeVisible)
void CObjectStreamCopier::CopyStringStore ( void  )
void CObjectStreamCopier::DuplicatedMember ( const CMemberInfo memberInfo)
void CObjectStreamCopier::ExpectedMember ( const CMemberInfo memberInfo)
void FixVisibleChar ( char &  c,
EFixNonPrint  fix_method,
const CObjectStack io,
const string str 
)
inline
bool GoodVisibleChar ( char  c)
inline
CObjectIStream& CObjectStreamCopier::In ( void  ) const
template<class C >
pair<TObjectPtr, TTypeInfo> ObjectInfo ( C &  obj)
inline

Definition at line 762 of file objectinfo.hpp.

Referenced by CSearchHelper::CreateSearchSettings(), CBiosampleChkApp::GetBiosampleDescriptorsFromSeqSubmit(), CStructuredCommentPanel::GetStructuredCommentRules(), CMultiReader::LoadDescriptors(), CMultiReader::LoadTemplate(), main(), operator>>(), CAsnvalApp::ProcessBioseq(), CAsnvalApp::ProcessBioseqset(), CAsnvalApp::ProcessCatenated(), CAsnvalApp::ProcessSeqAnnot(), CAsnvalApp::ProcessSeqEntry(), CAsnvalApp::ProcessSeqSubmit(), CBiosampleChkApp::ProcessSeqSubmit(), CBiosampleChkApp::ReadBioseqSet(), CAsnvalApp::ReadBioSource(), CSearchHelper::ReadCompleteSearch(), CSearchHelper::ReadModFiles(), CAsnvalApp::ReadPubdesc(), CSearchHelper::ReadSearchRequest(), CAsnvalApp::ReadSeqEntry(), CBiosampleChkApp::ReadSeqEntry(), CAsnvalApp::ReadSeqFeat(), CReadresult::Run(), CCatenatedPresenter::Run(), COMSSAMerge::Run(), s_InitializeOrganelleProductRules(), s_InitializeProductRules(), s_InitializeStructuredCommentRules(), CSearchHelper::SaveOneFile(), CLDS2_Seq_id_Hook::SkipObject(), CLDS2_AnnotType_Hook::SkipObject(), CLDS2_AnnotDesc_Hook::SkipObject(), CRemoteBlast::x_GetSearchResultsHTTP(), CAgpconvertApplication::x_LoadTemplate(), CDiscRepApp::x_ProcessOneFile(), CDiscRepApp::x_ReadFile(), CMultiReader::xReadASN1(), CAnnotWriterApp::xTryProcessBioseq(), CAnnotWriterApp::xTryProcessBioseqSet(), CAnnotWriterApp::xTryProcessSeqAlign(), CAnnotWriterApp::xTryProcessSeqAlignSet(), CAnnotWriterApp::xTryProcessSeqAnnot(), and CAnnotWriterApp::xTryProcessSeqEntry().

template<class C >
pair<TConstObjectPtr, TTypeInfo> ObjectInfo ( const C &  obj)
inline

Definition at line 777 of file objectinfo.hpp.

template<class C >
TTypeInfo ObjectType ( const C &  )
inline

Definition at line 755 of file objectinfo.hpp.

template<typename T >
void operator<< ( COStreamContainer o,
const T &  element 
)
inline

Definition at line 257 of file objectio.hpp.

References ConstObjectInfo(), and COStreamContainer::WriteElement().

template<typename T >
void operator>> ( CIStreamContainerIterator i,
T &  element 
)
inline

Definition at line 213 of file objectio.hpp.

References ObjectInfo(), and CIStreamContainerIterator::ReadElement().

CObjectOStream& CObjectStreamCopier::Out ( void  ) const
template<typename TRoot , typename TObject >
void CIStreamObjectHook< TRoot, TObject >::Process ( const TObject &  obj)
inlinevirtual

This method will be called when the object of the requested class is read.

Implements CSerial_FilterObjectsHook< TObject >.

Definition at line 204 of file streamiter.hpp.

template<class C >
pair<TObjectPtr, TTypeInfo> RefChoiceInfo ( CRef< C > &  obj)
inline

Definition at line 784 of file objectinfo.hpp.

char ReplaceVisibleChar ( char  c,
EFixNonPrint  fix_method,
const CObjectStack io,
const string str 
)
void CObjectStreamCopier::ResetLocalHooks ( void  )
template<typename TRoot , typename TObject >
void Serial_FilterObjects ( CObjectIStream in,
CSerial_FilterObjectsHook< TObject > *  hook,
bool  readall = true 
)

Scan input stream, finding objects of requested type (TObject) only.

Definition at line 622 of file objhook.hpp.

References Serial_FilterSkip().

void Serial_FilterSkip ( CObjectIStream in,
CObjectTypeInfo ctype 
)

Definition at line 76 of file serial.cpp.

References CObjectIStream::Skip().

Referenced by Serial_FilterObjects(), and Serial_FilterStdObjects().

template<typename TRoot , typename TObject >
void Serial_FilterStdObjects ( CObjectIStream in,
CSerial_FilterObjectsHook< TObject > *  hook,
bool  readall = true 
)

Scan input stream, finding objects that are not derived from CSerialObject.

Definition at line 640 of file objhook.hpp.

References Serial_FilterSkip().

void CObjectStreamCopier::SetPathCopyMemberHook ( const string path,
CCopyClassMemberHook hook 
)
void CObjectStreamCopier::SetPathCopyObjectHook ( const string path,
CCopyObjectHook hook 
)
void CObjectStreamCopier::SetPathCopyVariantHook ( const string path,
CCopyChoiceVariantHook hook 
)
void CObjectStreamCopier::SetPathHooks ( CObjectStack stk,
bool  set 
)
void CObjectStreamCopier::ThrowError1 ( const CDiagCompileInfo diag_info,
TFailFlags  fail,
const char *  message 
)
void CObjectStreamCopier::ThrowError1 ( const CDiagCompileInfo diag_info,
TFailFlags  fail,
const string message 
)
CObjectStreamCopier::~CObjectStreamCopier ( void  )

Destructor.

Definition at line 61 of file objcopy.cpp.

References CObjectStreamCopier::ResetLocalHooks().

Variable Documentation

CLocalHookSet<CCopyChoiceVariantHook> CObjectStreamCopier::m_ChoiceVariantHookKey
CLocalHookSet<CCopyClassMemberHook> CObjectStreamCopier::m_ClassMemberHookKey
CObjectIStream& CObjectStreamCopier::m_In
private

Definition at line 150 of file objcopy.hpp.

CLocalHookSet<CCopyObjectHook> CObjectStreamCopier::m_ObjectHookKey
CObjectOStream& CObjectStreamCopier::m_Out
private

Definition at line 151 of file objcopy.hpp.

CStreamPathHook<CMemberInfo*, CCopyClassMemberHook*> CObjectStreamCopier::m_PathCopyMemberHooks
private
CStreamObjectPathHook<CCopyObjectHook*> CObjectStreamCopier::m_PathCopyObjectHooks
private
CStreamPathHook<CVariantInfo*,CCopyChoiceVariantHook*> CObjectStreamCopier::m_PathCopyVariantHooks
private
Modified on Fri Jul 31 14:17:46 2015 by modify_doxy.py rev. 426318