所以 std::map 想要排序键类型,但我遇到了问题:
"a/b" < "a/c" < "a//b" 但 fs::equivalent("a/b", "a//b")
"a/b" < "a/c" < "a\b" 但 fs::equivalent("a/b", "a\b")
我如何规范化足以创建排序的路径?这甚至可能吗?我尝试在自定义比较运算符中使用 path::generic_string() ,但它不起作用。fs::equivalent() 也无济于事,因为实现相等性对于 std::map 是不够的,它需要排序。这也是为什么这个问题不是如何使用 boost::filesystem “规范化”路径名的重复问题的原因?.
上下文:仅限 Windows,Boost 1.49,文件系统 3。