const Derived & self() const { return *static_cast<const Derived*>( this ); }
public:
- IdString idStr() const { return self()._str; }
+ const IdString & idStr() const { return self()._str; }
bool empty() const { return idStr().empty(); }
unsigned size() const { return idStr().size(); }
explicit operator bool() const
{ return ! empty(); }
- /** Explicit conversion to IdString */
- explicit operator IdString() const
- { return idStr(); }
-
- /** Explicit conversion to std::string */
- explicit operator std::string() const
- { return asString(); }
-
public:
// - break it down to idString/const char* <=> idString/cont char*
// - handle idString(0)/NULL being the least value