/* ----------------------------------------------------------------------- ObjectToOctetVector ----------------------------------------------------------------------- */ void utils::ObjectToOctetVector(const CSerializable *o, vector_byte & out_vector) { try { CMemoryStream tmp; tmp.WriteObject(o); size_t N = tmp.getTotalBytesCount(); out_vector.resize(N); if (N) { os::memcpy( &out_vector[0],N,tmp.getRawBufferData(), N ); } } catch (std::bad_alloc &e) { throw e; } catch(std::exception &e) { std::cerr << "[ObjectToOctetVector] Exception: " << e.what() << std::endl; } catch(...) { std::cerr << "[ObjectToOctetVector] Unknown exception" << std::endl; } }
/*--------------------------------------------------------------- loadBinaryFile ---------------------------------------------------------------*/ bool mrpt::system::loadBinaryFile( vector_byte &out_data, const std::string &fileName ) { try { CFileInputStream fi(fileName); size_t N = fi.getTotalBytesCount(); out_data.resize(N); if (N) { size_t NN = fi.ReadBuffer( &out_data[0], N); return NN==N; } else return true; } catch(...) { return false; } }