objectio.inl
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:4k
源码类别:

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: objectio.inl,v $
  4.  * PRODUCTION Revision 1000.0  2003/10/29 17:25:20  gouriano
  5.  * PRODUCTION PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.6
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. #if defined(OBJECTIO__HPP)  &&  !defined(OBJECTIO__INL)
  10. #define OBJECTIO__INL
  11. /*  $Id: objectio.inl,v 1000.0 2003/10/29 17:25:20 gouriano Exp $
  12. * ===========================================================================
  13. *
  14. *                            PUBLIC DOMAIN NOTICE
  15. *               National Center for Biotechnology Information
  16. *
  17. *  This software/database is a "United States Government Work" under the
  18. *  terms of the United States Copyright Act.  It was written as part of
  19. *  the author's official duties as a United States Government employee and
  20. *  thus cannot be copyrighted.  This software/database is freely available
  21. *  to the public for use. The National Library of Medicine and the U.S.
  22. *  Government have not placed any restriction on its use or reproduction.
  23. *
  24. *  Although all reasonable efforts have been taken to ensure the accuracy
  25. *  and reliability of the software and data, the NLM and the U.S.
  26. *  Government do not and cannot warrant the performance or results that
  27. *  may be obtained by using this software or data. The NLM and the U.S.
  28. *  Government disclaim all warranties, express or implied, including
  29. *  warranties of performance, merchantability or fitness for any particular
  30. *  purpose.
  31. *
  32. *  Please cite the author in any work or product based on this material.
  33. *
  34. * ===========================================================================
  35. *
  36. * Author: Eugene Vasilchenko
  37. *
  38. * File Description:
  39. *   !!! PUT YOUR DESCRIPTION HERE !!!
  40. */
  41. // read/write class
  42. inline
  43. CObjectOStream& COStreamFrame::GetStream(void) const
  44. {
  45.     return m_Stream;
  46. }
  47. // read/write container
  48. inline
  49. CObjectIStream& CIStreamFrame::GetStream(void) const
  50. {
  51.     return m_Stream;
  52. }
  53. inline
  54. const CObjectTypeInfo& CIStreamContainerIterator::GetContainerType(void) const
  55. {
  56.     return m_ContainerType;
  57. }
  58. inline
  59. const CObjectTypeInfo& COStreamContainer::GetContainerType(void) const
  60. {
  61.     return m_ContainerType;
  62. }
  63. inline
  64. bool CIStreamClassMemberIterator::HaveMore(void) const
  65. {
  66.     return m_MemberIndex != kInvalidMember;
  67. }
  68. inline
  69. CIStreamClassMemberIterator::operator bool(void) const
  70. {
  71.     return HaveMore();
  72. }
  73. inline
  74. CIStreamClassMemberIterator& CIStreamClassMemberIterator::operator++(void)
  75. {
  76.     NextClassMember();
  77.     return *this;
  78. }
  79. inline
  80. CObjectTypeInfoMI CIStreamClassMemberIterator::operator*(void) const
  81. {
  82.     return CObjectTypeInfoMI(m_ClassType, m_MemberIndex);
  83. }
  84. inline
  85. bool CIStreamContainerIterator::HaveMore(void) const
  86. {
  87.     return m_State == eElementBegin;
  88. }
  89. inline
  90. CIStreamContainerIterator::operator bool(void) const
  91. {
  92.     return HaveMore();
  93. }
  94. #endif /* def OBJECTIO__HPP  &&  ndef OBJECTIO__INL */
  95. /* ---------------------------------------------------------------------------
  96. * $Log: objectio.inl,v $
  97. * Revision 1000.0  2003/10/29 17:25:20  gouriano
  98. * PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.6
  99. *
  100. * Revision 1.6  2003/10/24 17:50:27  vasilche
  101. * CIStreamContainerIterator::operator++() moved to *.cpp file.
  102. *
  103. * Revision 1.5  2003/10/24 15:54:27  grichenk
  104. * Removed or blocked exceptions in destructors
  105. *
  106. * Revision 1.4  2002/12/23 18:38:51  dicuccio
  107. * Added WIn32 export specifier: NCBI_XSERIAL_EXPORT.
  108. * Moved all CVS logs to the end.
  109. *
  110. * Revision 1.3  2001/05/17 14:58:29  lavr
  111. * Typos corrected
  112. *
  113. * Revision 1.2  2001/01/22 23:23:57  vakatov
  114. * Added   CIStreamClassMemberIterator
  115. * Renamed CIStreamContainer --> CIStreamContainerIterator
  116. *
  117. * Revision 1.1  2000/10/20 15:51:25  vasilche
  118. * Fixed data error processing.
  119. * Added interface for constructing container objects directly into output stream.
  120. * object.hpp, object.inl and object.cpp were split to
  121. * objectinfo.*, objecttype.*, objectiter.* and objectio.*.
  122. *
  123. * ===========================================================================
  124. */