Я видел это, если у вас operator<
, вы можете реализовать, скажем, operator>=
как !(a < b)
. Однако, когда я пошел в Комитет С++ в Бристоле, они сказали, что вы можете реализовать все операторы сравнения таким образом. В частности, при рассмотрении типов, которые имеют нетривиальные операторы сравнения (рассмотрим произвольно длинную строку, особенно если это Юникод), это можно сделать только с одним вызовом operator<
. Я не могу представить, как это можно сделать.
Как я могу реализовать operator>
и operator<=
только с одним вызовом operator<
и ни к другим операторам сравнения?