Commit 3d305590 authored by Vitaliy's avatar Vitaliy

define global operator< for const char* and alt_string

parent 4feb8211
......@@ -106,7 +106,12 @@ class alt_string
}
template <typename op_type>
bool operator<(op_type&& op) const
typename std::enable_if< // disable for alt_string
!std::is_same< alt_string,
typename std::remove_reference<op_type>::type
>::value,
bool>::type
operator<(op_type&& op) const
{
return str_impl < op;
}
......@@ -153,6 +158,8 @@ class alt_string
private:
std::string str_impl;
friend bool ::operator<(const char*, const alt_string&);
};
......@@ -168,6 +175,11 @@ using alt_json = nlohmann::basic_json <
nlohmann::adl_serializer >;
bool operator<(const char* op1, const alt_string& op2) {
return op1 < op2.str_impl;
}
TEST_CASE("alternative string type")
{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment