Loading...
Searching...
No Matches
serialization_utils.h
1/* This file is part of the Gudhi Library - https://gudhi.inria.fr/ - which is released under MIT.
2 * See file LICENSE or go to https://gudhi.inria.fr/licensing/ for full license details.
3 * Author(s): Vincent Rouvreau
4 *
5 * Copyright (C) 2023 Inria
6 *
7 * Modification(s):
8 * - YYYY/MM Author: Description of the modification
9 */
10
11#ifndef SIMPLEX_TREE_SERIALIZATION_UTILS_H_
12#define SIMPLEX_TREE_SERIALIZATION_UTILS_H_
13
14#include <cstring> // for memcpy and std::size_t
15#include <iostream>
16
17namespace Gudhi {
18
19namespace simplex_tree {
20
29template<class ArgumentType>
30char* serialize_trivial(ArgumentType value, char* start) {
31 std::size_t arg_size = sizeof(ArgumentType);
32 memcpy(start, &value, arg_size);
33 return start + arg_size;
34}
35
44template<class ArgumentType>
45const char* deserialize_trivial(ArgumentType& value, const char* start) {
46 std::size_t arg_size = sizeof(ArgumentType);
47 memcpy(&value, start, arg_size);
48 return (start + arg_size);
49}
50
51} // namespace simplex_tree
52
53} // namespace Gudhi
54
55#endif // SIMPLEX_TREE_SERIALIZATION_UTILS_H_