GraphLab: Distributed Graph-Parallel API
2.1
|
Classes | |
class | graphlab::iarchive |
The serialization input archive object which, provided with a reference to an istream, will read from the istream, providing deserialization capabilities. More... | |
class | graphlab::iarchive_soft_fail |
When this archive is used to deserialize an object, and the object does not support serialization, failure will only occur at runtime. Otherwise equivalent to graphlab::iarchive. More... | |
struct | graphlab::IS_POD_TYPE |
Inheriting from this type will force the serializer to treat the derived type as a POD type. More... | |
struct | graphlab::gl_is_pod< T > |
Tests if T is a POD type. More... | |
class | graphlab::oarchive |
The serialization output archive object which, provided with a reference to an ostream, will write to the ostream, providing serialization capabilities. More... | |
class | graphlab::oarchive_soft_fail |
When this archive is used to serialize an object, and the object does not support serialization, failure will only occur at runtime. Otherwise equivalent to graphlab::oarchive. More... | |
struct | graphlab::unsupported_serialize |
Inheritting from this class will prevent the serialization of the derived class. Used for debugging purposes. More... |
Macros | |
#define | BEGIN_OUT_OF_PLACE_LOAD(arc, tname, tval) |
Macro to make it easy to define out-of-place loads. | |
#define | BEGIN_OUT_OF_PLACE_SAVE(arc, tname, tval) |
Macro to make it easy to define out-of-place saves. | |
#define | GRAPHLAB_UNSERIALIZABLE(tname) |
A macro which disables the serialization of type so that it will fault at runtime. |
Functions | |
template<typename OutArcType , typename RandomAccessIterator > | |
void | graphlab::serialize_iterator (OutArcType &oarc, RandomAccessIterator begin, RandomAccessIterator end) |
Serializes the contents between the iterators begin and end. | |
template<typename OutArcType , typename InputIterator > | |
void | graphlab::serialize_iterator (OutArcType &oarc, InputIterator begin, InputIterator end, size_t vsize) |
Serializes the contents between the iterators begin and end. | |
template<typename InArcType , typename T , typename OutputIterator > | |
void | graphlab::deserialize_iterator (InArcType &iarc, OutputIterator result) |
The accompanying function to serialize_iterator() Reads elements from the stream and writes it to the output iterator. | |
template<typename T > | |
std::string | graphlab::serialize_to_string (const T &t) |
Serializes a object to a string. | |
template<typename T > | |
void | graphlab::deserialize_from_string (const std::string &s, T &t) |
Deserializes a object from a string. |
#define BEGIN_OUT_OF_PLACE_LOAD | ( | arc, | |
tname, | |||
tval | |||
) |
Macro to make it easy to define out-of-place loads.
In the event that it is impractical to implement a save() and load() function in the class one wnats to serialize, it is necessary to define an "out of save" save and load.
See Out of Place Serialization for an example
Definition at line 292 of file iarchive.hpp.
#define BEGIN_OUT_OF_PLACE_SAVE | ( | arc, | |
tname, | |||
tval | |||
) |
Macro to make it easy to define out-of-place saves.
In the event that it is impractical to implement a save() and load() function in the class one wnats to serialize, it is necessary to define an "out of save" save and load.
See Out of Place Serialization for an example
Definition at line 328 of file oarchive.hpp.
#define GRAPHLAB_UNSERIALIZABLE | ( | tname | ) |
A macro which disables the serialization of type so that it will fault at runtime.
Writing GRAPHLAB_UNSERIALIZABLE(T) for some typename T in the global namespace will result in an assertion failure if any attempt is made to serialize or deserialize the type T. This is largely used for debugging purposes to enforce that certain types are never serialized.
Definition at line 64 of file unsupported_serialize.hpp.
|
inline |
Deserializes a object from a string.
Deserializes a serializable object t from a string using the deserializer.
T | the type of object to deserialize. Typically will be inferred by the compiler. |
s | The string to deserialize |
t | A reference to the object which will contain the deserialized object when the function returns |
Definition at line 72 of file serialize_to_from_string.hpp.
void graphlab::deserialize_iterator | ( | InArcType & | iarc, |
OutputIterator | result | ||
) |
The accompanying function to serialize_iterator() Reads elements from the stream and writes it to the output iterator.
Note that this requires an additional template parameter T which is the "type of object to deserialize" This is necessary for instance for the map type. The map<T,U>::value_type
is pair<const T,U>
which is not useful since I cannot assign to it. In this case, T=pair<T,U>
OutArcType | The output archive type. |
T | The type of values to deserialize |
OutputIterator | The type of the output iterator to be written to. This should not need to be specified. The compiler will typically infer this correctly. |
iarc | A reference to the input archive |
result | The output iterator to write to |
Definition at line 118 of file iterator.hpp.
void graphlab::serialize_iterator | ( | OutArcType & | oarc, |
RandomAccessIterator | begin, | ||
RandomAccessIterator | end | ||
) |
Serializes the contents between the iterators begin and end.
This function prefers random access iterators since it needs a distance between the begin and end iterator. This function as implemented will work for other input iterators but is extremely inefficient.
OutArcType | The output archive type. This should not need to be specified. The compiler will typically infer this correctly. |
RandomAccessIterator | The iterator type. This should not need to be specified. The compiler will typically infer this correctly. |
oarc | A reference to the output archive to write to. |
begin | The start of the iterator range to write. |
end | The end of the iterator range to write. |
Definition at line 54 of file iterator.hpp.
void graphlab::serialize_iterator | ( | OutArcType & | oarc, |
InputIterator | begin, | ||
InputIterator | end, | ||
size_t | vsize | ||
) |
Serializes the contents between the iterators begin and end.
This functions takes all iterator types, but takes a "count" for efficiency. This count is checked and will return failure if the number of elements serialized does not match the count
OutArcType | The output archive type. This should not need to be specified. The compiler will typically infer this correctly. |
InputIterator | The iterator type. This should not need to be specified. The compiler will typically infer this correctly. |
oarc | A reference to the output archive to write to. |
begin | The start of the iterator range to write. |
end | The end of the iterator range to write. |
vsize | The distance between the iterators begin and end. Must match std::distance(begin, end); |
Definition at line 85 of file iterator.hpp.
|
inline |
Serializes a object to a string.
Converts a serializable object t to a string using the serializer.
T | the type of object to serialize. Typically will be inferred by the compiler. |
t | The object to serializer |
Definition at line 46 of file serialize_to_from_string.hpp.