Mackey  V3.3
A C++ library for computing RO(G) graded homology
Cerealizer.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <fstream>
4 #include <cereal/archives/binary.hpp>
5 #include <cereal/types/array.hpp>
6 #include <cereal/types/map.hpp>
7 #include <cereal/types/vector.hpp>
8 #include <cereal/types/utility.hpp> //std::pair
9 #include <cereal/types/string.hpp>
10 #include "Coefficients/Z_n.hpp"
13 
17 
19 namespace cereal
20 {
21  template<typename Archive, typename T, int RowsAtCompileTime, int ColsAtCompileTime, int Options, int MaxRowsAtCompileTime, int MaxColsAtCompileTime>
22  void save(Archive& archive, const Eigen::Matrix<T, RowsAtCompileTime, ColsAtCompileTime, Options, MaxRowsAtCompileTime, MaxColsAtCompileTime>& A);
23 
25  template<typename Archive, typename T, int RowsAtCompileTime, int ColsAtCompileTime, int Options, int MaxRowsAtCompileTime, int MaxColsAtCompileTime>
26  void load(Archive& archive, Eigen::Matrix<T, RowsAtCompileTime, ColsAtCompileTime, Options, MaxRowsAtCompileTime, MaxColsAtCompileTime>& A);
27 
29  template<typename Archive, typename T, int StorageOrder, typename storage_t>
30  void save(Archive& archive, const Eigen::SparseMatrix<T, StorageOrder, storage_t>& A);
31 
32 
34  template<typename Archive, typename T, int StorageOrder, typename storage_t>
35  void load(Archive& archive, Eigen::SparseMatrix<T, StorageOrder, storage_t>& A);
36 
37 }
38 namespace mackey {
39 
41  template<typename Archive>
42  void serialize(Archive& archive, Z2& A);
43 
45  template<typename Archive, typename rank_t, typename diff_t>
46  void serialize(Archive& archive, Chains<rank_t, diff_t>& C);
47 
49  template<typename Archive, typename rank_t, typename diff_t>
50  void serialize(Archive& archive, Homology<rank_t, diff_t>& H);
51 
53  template<typename Archive, typename rank_t>
54  void serialize(Archive& archive, IDGenerators<rank_t>& ID);
55 
57  template<typename Archive, typename rank_t>
58  void serialize(Archive& archive, MackeyFunctor<rank_t>& Mack);
59 
61  template<typename Archive, typename group_t>
62  void serialize(Archive& archive, AdditiveStructure<group_t>& A);
63 
65  template<typename Archive, typename group_t>
66  void serialize(Archive& archive, Green<group_t>& G);
67 
69  template<typename Archive, typename group_t>
70  void serialize(Archive& archive, MultTableData<group_t>& M);
71 
73  template<typename T>
74  void save(const T& A, const std::string& filename);
75 
77  template<typename T>
78  void load(T& A, const std::string& filename);
79 }
80 #include "impl/Cerealizer.ipp"
Contains the class mackey::AdditiveStructure
Contains the class mackey::Factorization.
Contains the class mackey::Z_mod.
The additive structure of the RO(G) homology of a point.
Definition: Additive.hpp:12
The result of multiplying generators in a Green functor.
Definition: Green.hpp:25
The Homology of a Junction.
Definition: Homology.hpp:19
Two levels of a Mackey functor, used for identification.
Definition: Identify.hpp:13
A Mackey Functor.
Definition: MackeyFunctor.hpp:18
The class of Z/N coefficients where N is prime.
Definition: Z_n.hpp:17
Everything in this library is under this namespace.
Definition: Box.hpp:9
void serialize(Archive &archive, Z2 &A)
Serialize Z2.
void load(T &A, const std::string &filename)
Loads object from binary file of given name. Serialization is provided by cereal.
void save(const T &A, const std::string &filename)
Saves object to binary file of given name. Serialization is provided by cereal.
The data of the multiplication table.
Definition: Mult_Table.hpp:14