isolate iserializable

This commit is contained in:
tqchen
2014-12-19 17:36:42 -08:00
parent 8c35cff02c
commit 6bf282c6c2
14 changed files with 150 additions and 134 deletions

View File

@@ -8,18 +8,18 @@
using namespace rabit;
// kmeans model
class Model : public rabit::utils::ISerializable {
class Model : public rabit::ISerializable {
public:
// matrix of centroids
Matrix centroids;
// load from stream
virtual void Load(rabit::utils::IStream &fi) {
virtual void Load(rabit::IStream &fi) {
fi.Read(&centroids.nrow, sizeof(centroids.nrow));
fi.Read(&centroids.ncol, sizeof(centroids.ncol));
fi.Read(&centroids.data);
}
/*! \brief save the model to the stream */
virtual void Save(rabit::utils::IStream &fo) const {
virtual void Save(rabit::IStream &fo) const {
fo.Write(&centroids.nrow, sizeof(centroids.nrow));
fo.Write(&centroids.ncol, sizeof(centroids.ncol));
fo.Write(centroids.data);

View File

@@ -2,6 +2,7 @@
#include <vector>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <cmath>
namespace rabit {