Guest User

Neel Basu

a guest
Jul 14th, 2008
505
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.84 KB | None | 0 0
  1. //serialize.cpp
  2. #include "serialize.h"
  3.  
  4. template <class T>
  5. T Serialization<T>::load(const string& fileName) throw(SerializationException, fileUnAccessible, fileUnReadable){
  6.     ifstream srzFStream(fileName.c_str(), ios_base::binary);
  7.     if(srzFStream.fail()){
  8.         throw fileUnAccessible(typeid(T).name(), fileName);
  9.     }
  10.     T obj;
  11.     srzFStream.read((char*)obj, sizeof(obj));
  12.     return obj;
  13. }
  14.  
  15. template <class T>
  16. void Serialization<T>::store(T obj, const string& fileName) throw(SerializationException, fileUnAccessible, failedToWrite){
  17.     ofstream srzFStream(fileName.c_str(), ios_base::binary);
  18.     if(srzFStream.fail()){
  19.         throw fileUnAccessible(typeid(obj).name(), sizeof(obj), fileName);
  20.         return;
  21.     }
  22.     srzFStream.write((char*)obj, sizeof(obj));
  23.     if(srzFStream.fail()){
  24.         throw failedToWrite(typeid(obj).name(), sizeof(obj), fileName);
  25.         return;
  26.     }
  27. }
  28.  
Advertisement
Add Comment
Please, Sign In to add comment