Size: a a a

2021 January 30

SK

Sergey Krasnitsky in pro.cxx
Danya
Ну вообще наверное поможет перегрузка swap для MyRow
Так swap такой функции и нет, в том то и проблема
источник

D

Danya in pro.cxx
Sergey Krasnitsky
Так swap такой функции и нет, в том то и проблема
В смысле?
источник

D

Danya in pro.cxx
Сделайте
источник

GF

Georgy Firsov in pro.cxx
Sergey Krasnitsky
Так swap такой функции и нет, в том то и проблема
А в чем проблема перегрузку сделать?)

namespace std /* плохо! Лучше рядышком с MyRow */ {
 template<>
 void swap(MyRow& left, MyRow& right) noexcept
 {
   ...
 }
}
источник

D

Danya in pro.cxx
Danya
В смысле?
Или в вашей имплементации sort там не вызывается swap?
источник

D

Danya in pro.cxx
Georgy Firsov
А в чем проблема перегрузку сделать?)

namespace std /* плохо! Лучше рядышком с MyRow */ {
 template<>
 void swap(MyRow& left, MyRow& right) noexcept
 {
   ...
 }
}
Это неправильно
источник

SK

Sergey Krasnitsky in pro.cxx
Danya
Сделайте
где сделать? - в std::sort микрософтском? :)
источник

С

Серж in pro.cxx
Danya
Я надеюсь, sort должен использовать ADL
А можно как-то отключить koening lookup?
источник

D

Danya in pro.cxx
Sergey Krasnitsky
где сделать? - в std::sort микрософтском? :)
В вашем неймспейсе
источник

GF

Georgy Firsov in pro.cxx
Danya
Это неправильно
Ну вообще можно и не в std, а там, где MyRow
источник

D

Danya in pro.cxx
Georgy Firsov
Ну вообще можно и не в std, а там, где MyRow
Нужно не в std :)
источник

SK

Sergey Krasnitsky in pro.cxx
Вопрос к тем, кто писал нестандартные контейнеры. Можно всё сделать - только придётся переписать sort тогда. Вопрос, есть ли заготовка в stl для таких случаев, о которой  я не знаю
источник

GF

Georgy Firsov in pro.cxx
Danya
Нужно не в std :)
Ну как бы и да, так правильно, но вообще сильно от кодовой базы зависит)
Есть и изначально ошибочные большие пласты кода
источник

D

Danya in pro.cxx
Sergey Krasnitsky
Вопрос к тем, кто писал нестандартные контейнеры. Можно всё сделать - только придётся переписать sort тогда. Вопрос, есть ли заготовка в stl для таких случаев, о которой  я не знаю
Ещё раз
std::sort данные меняет местами с помощью swap?
источник

GF

Georgy Firsov in pro.cxx
Sergey Krasnitsky
Вопрос к тем, кто писал нестандартные контейнеры. Можно всё сделать - только придётся переписать sort тогда. Вопрос, есть ли заготовка в stl для таких случаев, о которой  я не знаю
std::sort для множества типов перегружен с помощью std::enable_if (мб уже с концептами сейчас). Думаю, что есть реализация для swappable типов, то есть которые можно в swap запихнуть
источник

SK

Sergey Krasnitsky in pro.cxx
Danya
Ещё раз
std::sort данные меняет местами с помощью swap?
нет
источник

SK

Sergey Krasnitsky in pro.cxx
Georgy Firsov
std::sort для множества типов перегружен с помощью std::enable_if (мб уже с концептами сейчас). Думаю, что есть реализация для swappable типов, то есть которые можно в swap запихнуть
сейчас попробую поискать ...
источник

RP

Roman Proskuryakov in pro.cxx
Sergey Krasnitsky
сейчас попробую поискать ...
предлагаю написать MRE и запостить на годболт.
источник

ПК

Побитый Кирпич... in pro.cxx
Danya
Ещё раз
std::sort данные меняет местами с помощью swap?
swap_iter вроде
источник

ПК

Побитый Кирпич... in pro.cxx
Но это то же самое
источник