Go to the SVN repository for this file.
1 #ifndef OBJISTRIMPL__HPP 2 #define OBJISTRIMPL__HPP 41 #define ClassRandomContentsBegin(classType) \ 43 vector<Uint1> read(classType->GetMembers().LastIndex() + 1); \ 44 BEGIN_OBJECT_FRAME(eFrameClassMember); \ 47 #define ClassRandomContentsMember(Func, Args) \ 49 const CMemberInfo* memberInfo = classType->GetMemberInfo(index); \ 50 SetTopMemberId(memberInfo->GetId()); \ 51 _ASSERT(index >= kFirstMemberIndex && index <= read.size()); \ 53 DuplicatedMember(memberInfo); \ 57 memberInfo->NCBI_NAME2(Func,Member)Args; \ 62 #define ClassRandomContentsEnd(Func, Args) \ 65 for ( CClassTypeInfo::CIterator i(classType); i.Valid(); ++i ) { \ 67 classType->GetMemberInfo(i)->NCBI_NAME2(Func,MissingMember)Args; \ 72 #define ReadClassRandomContentsBegin(classType) \ 73 ClassRandomContentsBegin(classType) 74 #define ReadClassRandomContentsMember(classPtr) \ 75 ClassRandomContentsMember(Read, (*this, classPtr)) 76 #define ReadClassRandomContentsEnd() \ 77 ClassRandomContentsEnd(Read, (*this, classPtr)) 79 #define SkipClassRandomContentsBegin(classType) \ 80 ClassRandomContentsBegin(classType) 81 #define SkipClassRandomContentsMember() \ 82 ClassRandomContentsMember(Skip, (*this)) 83 #define SkipClassRandomContentsEnd() \ 84 ClassRandomContentsEnd(Skip, (*this)) 86 #define ClassSequentialContentsBegin(classType) \ 88 CClassTypeInfo::CIterator pos(classType); \ 89 BEGIN_OBJECT_FRAME(eFrameClassMember); \ 92 #define ClassSequentialContentsMember(Func, Args) \ 94 const CMemberInfo* memberInfo = classType->GetMemberInfo(index); \ 95 SetTopMemberId(memberInfo->GetId()); \ 96 for ( TMemberIndex i = *pos; i < index; ++i ) { \ 97 classType->GetMemberInfo(i)->NCBI_NAME2(Func,MissingMember)Args; \ 100 memberInfo->NCBI_NAME2(Func,Member)Args; \ 102 pos.SetIndex(index + 1); \ 105 #define ClassSequentialContentsEnd(Func, Args) \ 107 END_OBJECT_FRAME(); \ 108 for ( ; pos.Valid(); ++pos ) { \ 109 classType->GetMemberInfo(pos)->NCBI_NAME2(Func,MissingMember)Args; \ 113 #define ReadClassSequentialContentsBegin(classType) \ 114 ClassSequentialContentsBegin(classType) 115 #define ReadClassSequentialContentsMember(classPtr) \ 116 ClassSequentialContentsMember(Read, (*this, classPtr)) 117 #define ReadClassSequentialContentsEnd(classPtr) \ 118 ClassSequentialContentsEnd(Read, (*this, classPtr)) 120 #define SkipClassSequentialContentsBegin(classType) \ 121 ClassSequentialContentsBegin(classType) 122 #define SkipClassSequentialContentsMember() \ 123 ClassSequentialContentsMember(Skip, (*this)) 124 #define SkipClassSequentialContentsEnd() \ 125 ClassSequentialContentsEnd(Skip, (*this))Include a standard set of the NCBI C++ Toolkit most basic headers.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
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