Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //serialize.cpp
- #include "serialize.h"
- template <class T>
- T Serialization<T>::load(const string& fileName) throw(SerializationException, fileUnAccessible, fileUnReadable){
- ifstream srzFStream(fileName.c_str(), ios_base::binary);
- if(srzFStream.fail()){
- throw fileUnAccessible(typeid(T).name(), fileName);
- }
- T obj;
- srzFStream.read((char*)obj, sizeof(obj));
- return obj;
- }
- template <class T>
- void Serialization<T>::store(T obj, const string& fileName) throw(SerializationException, fileUnAccessible, failedToWrite){
- ofstream srzFStream(fileName.c_str(), ios_base::binary);
- if(srzFStream.fail()){
- throw fileUnAccessible(typeid(obj).name(), sizeof(obj), fileName);
- return;
- }
- srzFStream.write((char*)obj, sizeof(obj));
- if(srzFStream.fail()){
- throw failedToWrite(typeid(obj).name(), sizeof(obj), fileName);
- return;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment