Я хочу в отдельном пространстве имен определить мои собственные реализации sort (), copy () и т. Д., Которые работают с контейнерами таблиц / представлений / и т. Д. Вместо стандартных контейнеров в памяти.Если я определю свой собственный метод sort (), который принимает мой собственный прямой итератор, как компилятор разрешит это?Или, что мне нужно сделать, чтобы он разрешился правильно, т.е. использовать мой собственный sort () вместо std sort (), даже если я могу передавать пользовательские типы итераторов, которые соответствуют стандартным требованиям типа итераторов?
Если бы он использовал std sort (), он все равно работал бы, просто был бы крайне неэффективен, поскольку не передавал бы сортировку в базу данных, в то время как моя реализация sort () работала бы.Я просто не уверен, как правильно вызывать мой sort () через std sort (), когда они имеют одинаковые имена и принимают одинаковые типы.Возможно, я упустил некоторые детали в своем описании, поэтому, пожалуйста, потерпите меня, пытаясь решить эту проблему.
Кроме того, я обнаружил, что следующий вопрос наиболее похож на мой вопрос (упоминает ADLи частичной специализации), но я не уверен, что это напрямую решает мою проблему или описывает лучший способ сделать то, что я описал: Перегрузка for_each для определенных типов итераторов