nmlp_criterion_iostream.hpp (3615B)
1 /** 2 * @file 3 * @brief nmlp criterions iostream function declarations. 4 * 5 * @attention This file can be included in multiple translation unit, but then, the file nmlp_iostream_exports.hpp must be included once per binary. 6 */ 7 8 #ifndef NMLP_CRITERION_IOSTREAM_HPP_INCLUDED 9 #define NMLP_CRITERION_IOSTREAM_HPP_INCLUDED 10 11 #include <boost/serialization/export.hpp> 12 #include <boost/serialization/split_free.hpp> 13 #include <nmlp/criterions/CPUHingeLoss.h> 14 #include <nmlp/criterions/CPUMaxLoss.h> 15 #include <nmlp/criterions/CPUSquareLoss.h> 16 #include <nmlp/criterions/GPUHingeLoss.h> 17 #include <nmlp/criterions/GPUSquareLoss.h> 18 19 /** @brief Serialization operator of CPUMaxLoss. */ 20 template<class Archive> 21 void serialize(Archive &ar, CPUMaxLoss &rhs, unsigned const version); 22 23 /** @brief Serialization save operator of CPUHingeLoss. */ 24 template<class Archive> 25 void save(Archive &ar, CPUHingeLoss const &rhs, unsigned const version); 26 /** @brief Serialization pre-save operator of CPUHingeLoss. */ 27 template<class Archive> 28 void save_construct_data(Archive &ar, CPUHingeLoss const *rhs, unsigned const version); 29 /** @brief Serialization load operator of CPUHingeLoss. */ 30 template<class Archive> 31 void load(Archive &ar, CPUHingeLoss &rhs, unsigned const version); 32 /** @brief Serialization pre-load operator of CPUHingeLoss. */ 33 template<class Archive> 34 void save_construct_data(Archive &ar, CPUHingeLoss *rhs, unsigned const version); 35 BOOST_SERIALIZATION_SPLIT_FREE(CPUHingeLoss) 36 37 /** @brief Serialization save operator of CPUSquareLoss. */ 38 template<class Archive> 39 void save(Archive &ar, CPUSquareLoss const &rhs, unsigned const version); 40 /** @brief Serialization pre-save operator of CPUSquareLoss. */ 41 template<class Archive> 42 void save_construct_data(Archive &ar, CPUSquareLoss const *rhs, unsigned const version); 43 /** @brief Serialization load operator of CPUSquareLoss. */ 44 template<class Archive> 45 void load(Archive &ar, CPUSquareLoss &rhs, unsigned const version); 46 /** @brief Serialization pre-load operator of CPUSquareLoss. */ 47 template<class Archive> 48 void save_construct_data(Archive &ar, CPUSquareLoss *rhs, unsigned const version); 49 BOOST_SERIALIZATION_SPLIT_FREE(CPUSquareLoss) 50 51 /** @brief Serialization save operator of GPUHingeLoss. */ 52 template<class Archive> 53 void save(Archive &ar, GPUHingeLoss const &rhs, unsigned const version); 54 /** @brief Serialization pre-save operator of GPUHingeLoss. */ 55 template<class Archive> 56 void save_construct_data(Archive &ar, GPUHingeLoss const *rhs, unsigned const version); 57 /** @brief Serialization load operator of GPUHingeLoss. */ 58 template<class Archive> 59 void load(Archive &ar, GPUHingeLoss &rhs, unsigned const version); 60 /** @brief Serialization pre-load operator of GPUHingeLoss. */ 61 template<class Archive> 62 void save_construct_data(Archive &ar, GPUHingeLoss *rhs, unsigned const version); 63 BOOST_SERIALIZATION_SPLIT_FREE(GPUHingeLoss) 64 65 /** @brief Serialization save operator of GPUSquareLoss. */ 66 template<class Archive> 67 void save(Archive &ar, GPUSquareLoss const &rhs, unsigned const version); 68 /** @brief Serialization pre-save operator of GPUSquareLoss. */ 69 template<class Archive> 70 void save_construct_data(Archive &ar, GPUSquareLoss const *rhs, unsigned const version); 71 /** @brief Serialization load operator of GPUSquareLoss. */ 72 template<class Archive> 73 void load(Archive &ar, GPUSquareLoss &rhs, unsigned const version); 74 /** @brief Serialization pre-load operator of GPUSquareLoss. */ 75 template<class Archive> 76 void save_construct_data(Archive &ar, GPUSquareLoss *rhs, unsigned const version); 77 BOOST_SERIALIZATION_SPLIT_FREE(GPUSquareLoss) 78 79 #include "nmlp_criterion_iostream.ipp" 80 81 #endif 82