std::string BytesUtil::ToString()

in src/hbase/utils/bytes-util.cc [32:50]


std::string BytesUtil::ToString(int64_t val) {
  std::string res;
#if BOOST_ENDIAN_BIG_BYTE || BOOST_ENDIAN_BIG_WORD
  for (int i = 7; i > 0; i--) {
    res += (int8_t)(val & 0xffu);
    val = val >> 8;
  }
  res += (int8_t)val;
#else
  int64_t mask = 0xff00000000000000u;
  for (int i = 56; i >= 1; i -= 8) {
    auto num = ((val & mask) >> i);
    res += num;
    mask = mask >> 8;
  }
  res += (val & 0xff);
#endif
  return res;
}