Qore Programming Language Reference Manual  0.9.2
QC_Serializable.dox.h
1 namespace Qore {
4 
9  auto _data;
11  *hash<string, hash<ObjectSerializationInfo>> _index;
13  *list<string> _modules;
14 };
15 };
17 namespace Qore {
19 
24  string _class;
26  *hash<string, hash<string, auto>> _class_data;
27 };
28 };
30 namespace Qore {
32 
37  string _index;
38 };
39 };
41 namespace Qore {
43 
48  string _hash;
50  *hash<string, auto> _members;
51 };
52 };
54 namespace Qore {
56 
61  *list<auto> _elements;
63  string _list;
64 };
65 };
67 namespace Qore {
69 
90 class Serializable {
91 
92 public:
94 /***/
95  constructor();
96 
97 public:
99 /***/
100  copy();
101 
102 private:
104 
142 nothing deserializeMembers(hash<auto> members);
143 
144 public:
146 
161  serialize(OutputStream stream);
162 
163 public:
165 
180 binary serialize();
181 
182 private:
184 
226 *hash<auto> serializeMembers(*hash<auto> members);
227 
228 public:
230 
248 hash<SerializationInfo> serializeToData();
249 
250 public:
252 
266 static auto deserialize(InputStream stream);
267 
268 public:
270 
284 static auto deserialize(binary bin);
285 
286 public:
288 
304 static auto deserialize(string bin);
305 
306 public:
308 
322 static auto deserialize(hash<SerializationInfo> data);
323 
324 public:
326 
340 static hash<SerializationInfo> deserializeToData(InputStream stream);
341 
342 public:
344 
358 static hash<SerializationInfo> deserializeToData(binary bin);
359 
360 public:
362 
378 static serialize(auto val, OutputStream stream);
379 
380 public:
382 
399 static binary serialize(auto val);
400 
401 public:
403 
423 static hash<SerializationInfo> serializeToData(auto val);
424 };
425 };
*hash< string, hash< string, auto > > _class_data
member values per class; class path -> member hash
Definition: QC_Serializable.dox.h:26
constructor()
The constructor does not perform any action; this class is just used to mark a class as serializable ...
hash< SerializationInfo > serializeToData()
converts the object to a serialization hash representing the object
*list< string > _modules
list of modules to load to support the data
Definition: QC_Serializable.dox.h:13
object serialization information for an indexed object
Definition: QC_Serializable.dox.h:35
auto _data
serialized data
Definition: QC_Serializable.dox.h:9
list serialization information
Definition: QC_Serializable.dox.h:59
string _class
class path name
Definition: QC_Serializable.dox.h:24
binary binary()
Always returns an empty binary object (of zero length)
The Serializable class can be used to mark a class as being serializable.
Definition: QC_Serializable.dox.h:90
string _hash
typed hash path name, if any; otherwise for an untyped hash: "^..." where ... is the complex value ty...
Definition: QC_Serializable.dox.h:48
*hash< auto > serializeMembers(*hash< auto > members)
overrides the default automatic member retrieval for user classes during data serialization ...
nothing deserializeMembers(hash< auto > members)
overrides the default automatic member assignment logic for user classes during data deserialization ...
serialization information
Definition: QC_Serializable.dox.h:7
hash serialization information for typed hashes or untyped hashes
Definition: QC_Serializable.dox.h:46
static auto deserialize(InputStream stream)
Deserializes data produced with serialize() and returns the value represented by the data...
string _list
the complex list element type info
Definition: QC_Serializable.dox.h:63
This class defines an abstract interface for output streams.
Definition: QC_OutputStream.dox.h:18
static hash< SerializationInfo > deserializeToData(InputStream stream)
Deserializes data produced with serialize() and returns the value represented by the data...
copy()
The copy constructor does not perform any action; this class is just used to mark a class as serializ...
string _index
index value
Definition: QC_Serializable.dox.h:37
*list< auto > _elements
the data-serialized list elements
Definition: QC_Serializable.dox.h:61
binary serialize()
converts the object to binary data representing the object
object serialization information
Definition: QC_Serializable.dox.h:22
main Qore-language namespace
Definition: Pseudo_QC_All.dox.h:2
This class defines an abstract interface for input streams.
Definition: QC_InputStream.dox.h:18
*hash< string, auto > _members
member values
Definition: QC_Serializable.dox.h:50
*hash< string, hash< ObjectSerializationInfo > > _index
unique object index
Definition: QC_Serializable.dox.h:11