是否有任何具有 STL 函数的库,如std::sort(), std::binary_search(), std::lower_bound(),std::upper_bound()接受 3 路比较谓词(在较少时返回 -1,在相等时返回 0,在大时返回 1)而不是较少谓词(在较少时为真,在相等或大时为假)?
当然,less 谓词可以很容易地从现有的 3 向谓词(如[](A a, B b) { return compare3(a,b)<0; })中提取出来,但这会导致对谓词的调用次数增加。