Exemple #1
0
 /**
  * Read an arbitrary type.
  */
 template<typename T> void read(T& ret) {
   base_type::read(reinterpret_cast<char*>(&ret), sizeof(T));
   if(bad()) {
     std::cerr << "Error reading file!" << std::endl;
     assert(false);
   }
 }
Exemple #2
0
 //! Write the arbitrary data type to file
 template<typename T> void write(T t) {
   base_type::write(reinterpret_cast<char*>(&t), sizeof(T));
   if(bad()) {
     std::cerr << "Error writing file!" << std::endl;
     assert(false);
   }
 }
Exemple #3
0
 /**
  * Read an arbitrary type.
  */
 template<typename T> void read_vector(std::vector<T>& ret) {
   if(ret.empty()) return;
   base_type::read(reinterpret_cast<char*>(&(ret[0])), 
                   sizeof(T) * ret.size());
   if(bad()) {
     std::cerr << "Error reading file!" << std::endl;
     assert(false);
   }
 }
Exemple #4
0
 /**
  * Read an arbitrary type.
  */
 template<typename T> T read() {
   T t;
   base_type::read(reinterpret_cast<char*>(&t), sizeof(T));
   if(bad()) {
     std::cerr << "Error reading file!" << std::endl;
     assert(false);
   }
   return t;
 }
Exemple #5
0
 binary_input_stream(const char* fname) :
   base_type(fname, std::ios::binary | std::ios::in) {
   assert(bad() == false);
 }
Exemple #6
0
 binary_output_stream(const char* fname) : 
 std::ofstream(fname, std::ios::binary | std::ios::out) {
   assert(bad() == false);
 }