コード例 #1
0
ファイル: binary_util.hpp プロジェクト: ashigeru/m3bp
inline int binary_compare(const T &a, const T &b){
	std::vector<uint8_t> a_bytes(binary_length(a));
	std::vector<uint8_t> b_bytes(binary_length(b));
	write_binary(a_bytes.data(), a);
	write_binary(b_bytes.data(), b);
	if(a_bytes == b_bytes){ return 0; }
	return (a_bytes < b_bytes) ? -1 : 1;
}
コード例 #2
0
ファイル: Tile.cpp プロジェクト: BodyTrack/datastore
void Tile::to_binary(std::string &dest) const {
  dest.resize(binary_length());

  BinaryWriter writer((unsigned char*)&dest[0], (unsigned char*)&dest[dest.length()]);

  writer.write(header);
  writer.write(double_samples);
  writer.write(string_samples);
  writer.write(ranges);
}
コード例 #3
0
ファイル: binary_util.hpp プロジェクト: ashigeru/m3bp
inline uint64_t compute_hash(const T &x, m3bp::size_type modulo){
	const auto len = binary_length(x);
	std::vector<uint8_t> buf(len);
	write_binary(buf.data(), x);
	return m3bp::hash_byte_sequence(buf.data(), len, modulo);
}