NCBI C++ ToolKit
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
CIStreamContainerIterator Class Reference

Search Toolkit Book for CIStreamContainerIterator

Reading (iterating through) elements of containers (SET OF, SEQUENCE OF). More...

#include <serial/objectio.hpp>

+ Inheritance diagram for CIStreamContainerIterator:
+ Collaboration diagram for CIStreamContainerIterator:

Public Member Functions

 CIStreamContainerIterator (CObjectIStream &in, const CObjectTypeInfo &containerType)
 ~CIStreamContainerIterator (void)
const CObjectTypeInfoGetContainerType (void) const
const CObjectTypeInfo GetElementType (void) const
bool HaveMore (void) const
void NextElement (void)
CIStreamContainerIteratoroperator++ (void)
CObjectInfo ReadElement (TObjectPtr container)
void ReadElement (const CObjectInfo &element)
void SkipElement (const CObjectTypeInfo &elementType)
void SkipElement (void)
void CopyElement (CObjectStreamCopier &copier, COStreamContainer &out)
- Public Member Functions inherited from CIStreamFrame
CObjectIStreamGetStream (void) const

Private Types

enum  EState {
  eElementBegin , eElementEnd , eNoMoreElements , eFinished ,
typedef CIStreamFrame CParent

Private Member Functions

const CContainerTypeInfoGetContainerTypeInfo (void) const
void BeginElement (void)
void BeginElementData (void)
void BeginElementData (const CObjectTypeInfo &elementType)
void IllegalCall (const char *message) const
void BadState (void) const
void CheckState (EState state)

Private Attributes

CObjectTypeInfo m_ContainerType
TTypeInfo m_ElementTypeInfo
EState m_State
const CContainerTypeInfom_ContainerTypeInfo
const CItemInfom_Container

Additional Inherited Members

- Protected Member Functions inherited from CIStreamFrame
 CIStreamFrame (CObjectIStream &stream)
 ~CIStreamFrame (void)
bool Good (void) const

Detailed Description

Reading (iterating through) elements of containers (SET OF, SEQUENCE OF).

Suggested use: CObjectIStream& in; CObjectTypeInfo containerType; for ( CIStreamContainerIterator i(in, containerType); i; ++i ) { CElementClass element; i >> element; }

Definition at line 163 of file objectio.hpp.

The documentation for this class was generated from the following files:
Modified on Wed Feb 28 07:11:54 2024 by rev. 669887