Информация об изменениях

Сообщение Re[6]: Cоздание базового шаблона минуя специализацию от 03.11.2022 12:33

Изменено 03.11.2022 12:53 rg45

Re[6]: Cоздание базового шаблона минуя специализацию
Здравствуйте, Videoman, Вы писали:

V>Я описал просто точку кастомизации. Из нее можно подлезть и сделать как угодно.


Я тоже не вдавался в детали, но сделал акцент на том, что в любом случае, вызовы пользовательских функций должны выполняться по неквалифицированным именам, чтобы задействовать ADL, это ключевой момент при любых постановке и дизайне, как мне кажется.

V>Я не повторял детали, которые мы до этого тут обсуждали. Можно же сделать и так:

V>parse(...., my::parse_as<type_t>());
V>format(...., my::format_as<type_t>());

Ну вот этот вариант близок к тому, о чем я говорил здесь
Автор: rg45
Дата: 02.11.22
: использование фейкового параметра при неквалифицированном вызове заставит компилятор заглянут в пространство имен my и найти там функции обработки встроенных типов. Для UDT же процедуры обработки удобнее всего определить в тех же пространствах имен, что и сами типы, наверное, хотя чисто технически можно и в пространстве имен my — компилятор заглянет и туда, и туда, при таком подходе.

V>Тогда ADL начнет работать по полной. Если дашь конкретику чего хочется получить и время, то я постараюсь показать полный код. Или я опять не понял вопроса?


Ну я уже запал на вариант с фабрикой
Re[6]: Cоздание базового шаблона минуя специализацию
Здравствуйте, Videoman, Вы писали:

V>Я описал просто точку кастомизации. Из нее можно подлезть и сделать как угодно.


Я тоже не вдавался в детали, но сделал акцент на том, что в любом случае, вызовы пользовательских функций должны выполняться по неквалифицированным именам, чтобы задействовать ADL, это ключевой момент при любых постановке и дизайне, как мне кажется.

V>Я не повторял детали, которые мы до этого тут обсуждали. Можно же сделать и так:

V>parse(...., my::parse_as<type_t>());
V>format(...., my::format_as<type_t>());

Ну вот этот вариант близок к тому, о чем я говорил здесь
Автор: rg45
Дата: 02.11.22
: использование фейкового параметра при неквалифицированном вызове заставит компилятор заглянут в пространство имен my и найти там функции обработки встроенных типов (а также для типов из сторонних библиотек и std:). Для UDT же процедуры обработки удобнее всего определить в тех же пространствах имен, что и сами типы, наверное, хотя чисто технически можно и в пространстве имен my — компилятор заглянет и туда, и туда, при таком подходе.

V>Тогда ADL начнет работать по полной. Если дашь конкретику чего хочется получить и время, то я постараюсь показать полный код. Или я опять не понял вопроса?


Ну я уже запал на вариант с фабрикой