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
16namespace Gudhi {
17
18namespace simplex_tree {
19
31template<class ArgumentType>
32char* serialize_trivial(ArgumentType value, char* start) {
33 std::size_t arg_size = sizeof(ArgumentType);
34 memcpy(start, &value, arg_size);
35 return start + arg_size;
36}
37
49template<class ArgumentType>
50const char* deserialize_trivial(ArgumentType& value, const char* start) {
51 std::size_t arg_size = sizeof(ArgumentType);
52 memcpy(&value, start, arg_size);
53 return (start + arg_size);
54}
55
56} // namespace simplex_tree
57
58} // namespace Gudhi
59
60#endif // SIMPLEX_TREE_SERIALIZATION_UTILS_H_
Gudhi namespace.
Definition SimplicialComplexForAlpha.h:14