inline bool operator < (byte_string const & lhs, const char * rhs) { return lhs.compare(rhs) < 0; }
inline bool operator < (char const * lhs, byte_string const & rhs) { return rhs.compare(lhs) > 0; }
inline bool operator == (std::string const & lhs, byte_string const & rhs) { return rhs.compare(lhs) == 0; }
inline bool operator == (byte_string::const_pointer lhs, byte_string const & rhs) { return rhs.compare(lhs) == 0; }
inline bool operator == (byte_string const & lhs, byte_string const & rhs) { return lhs.compare(rhs) == 0; }
inline bool operator < (byte_string const & lhs, std::string const & rhs) { return lhs.compare(rhs) < 0; }
inline bool operator < (byte_string const & lhs, byte_string::const_pointer rhs) { return lhs.compare(rhs) < 0; }