NCBI C++ ToolKit
typeinfoimpl.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 #ifndef TYPEINFOIMPL__HPP
2 #define TYPEINFOIMPL__HPP
3 
4 /* $Id: typeinfoimpl.hpp 45675 2010-05-06 16:19:44Z gouriano $
5 * ===========================================================================
6 *
7 * PUBLIC DOMAIN NOTICE
8 * National Center for Biotechnology Information
9 *
10 * This software/database is a "United States Government Work" under the
11 * terms of the United States Copyright Act. It was written as part of
12 * the author's official duties as a United States Government employee and
13 * thus cannot be copyrighted. This software/database is freely available
14 * to the public for use. The National Library of Medicine and the U.S.
15 * Government have not placed any restriction on its use or reproduction.
16 *
17 * Although all reasonable efforts have been taken to ensure the accuracy
18 * and reliability of the software and data, the NLM and the U.S.
19 * Government do not and cannot warrant the performance or results that
20 * may be obtained by using this software or data. The NLM and the U.S.
21 * Government disclaim all warranties, express or implied, including
22 * warranties of performance, merchantability or fitness for any particular
23 * purpose.
24 *
25 * Please cite the author in any work or product based on this material.
26 *
27 * ===========================================================================
28 *
29 * Author: Eugene Vasilchenko
30 *
31 * File Description:
32 * !!! PUT YOUR DESCRIPTION HERE !!!
33 */
34 
35 #include <corelib/ncbistd.hpp>
36 #include <serial/serialdef.hpp>
37 
38 
39 /** @addtogroup TypeInfoCPP
40  *
41  * @{
42  */
43 
44 
46 
48 {
49 public:
50  static TObjectPtr Create(TTypeInfo objectType,
51  CObjectMemoryPool* memPool);
52 
53  static bool IsDefault(TConstObjectPtr objectPtr);
54  static void SetDefault(TObjectPtr objectPtr);
55  static bool Equals(TConstObjectPtr obj1, TConstObjectPtr obj2,
57  static void Assign(TObjectPtr dst, TConstObjectPtr src,
59 
60  static void Read(CObjectIStream& in, TTypeInfo objectType,
61  TObjectPtr objectPtr);
62  static void Write(CObjectOStream& out, TTypeInfo objectType,
63  TConstObjectPtr objectPtr);
64  static void Copy(CObjectStreamCopier& copier, TTypeInfo objectType);
65  static void Skip(CObjectIStream& in, TTypeInfo objectType);
66 
67  NCBI_NORETURN
68  static void ThrowException(const char* operation, TTypeInfo objectType);
69 };
70 
71 
72 /* @} */
73 
74 
76 
77 #endif /* TYPEINFOIMPL__HPP */
CObjectIStream –.
Definition: objistr.hpp:93
CObjectOStream –.
Definition: objostr.hpp:83
CObjectStreamCopier –.
Definition: objcopy.hpp:71
CTypeInfo class contains all information about C++ types (both basic and classes): members and layout...
Definition: typeinfo.hpp:76
Include a standard set of the NCBI C++ Toolkit most basic headers.
std::ofstream out("events_result.xml")
main entry point for tests
ESerialRecursionMode
How to assign and compare child sub-objects of serial objects.
Definition: serialdef.hpp:191
void * TObjectPtr
Definition: serialdef.hpp:55
const void * TConstObjectPtr
Definition: serialdef.hpp:59
void Read(CObjectIStream &in, TObjectPtr object, const CTypeRef &type)
Definition: serial.cpp:60
void Write(CObjectOStream &out, TConstObjectPtr object, const CTypeRef &type)
Definition: serial.cpp:55
@ eRecursive
Recursively.
Definition: serialdef.hpp:192
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define NCBI_XSERIAL_EXPORT
Definition: ncbi_export.h:1435
operation
Bit operations.
Definition: bmconst.h:191
static bool Equals(const CVariation::TPlacements &p1, const CVariation::TPlacements &p2)
std::istream & in(std::istream &in_, double &x_)
Modified on Thu Feb 22 17:12:16 2024 by modify_doxy.py rev. 669887