Сообщение 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>());
Ну вот этот вариант близок к тому, о чем я говорил здесь
V>Тогда ADL начнет работать по полной. Если дашь конкретику чего хочется получить и время, то я постараюсь показать полный код. Или я опять не понял вопроса?
Ну я уже запал на вариант с фабрикой
V>Я описал просто точку кастомизации. Из нее можно подлезть и сделать как угодно.
Я тоже не вдавался в детали, но сделал акцент на том, что в любом случае, вызовы пользовательских функций должны выполняться по неквалифицированным именам, чтобы задействовать ADL, это ключевой момент при любых постановке и дизайне, как мне кажется.
V>Я не повторял детали, которые мы до этого тут обсуждали. Можно же сделать и так:
V>parse(...., my::parse_as<type_t>());
V>format(...., my::format_as<type_t>());
Ну вот этот вариант близок к тому, о чем я говорил здесь
Автор: rg45
Дата: 02.11.22
: использование фейкового параметра при неквалифицированном вызове заставит компилятор заглянут в пространство имен my и найти там функции обработки встроенных типов. Для UDT же процедуры обработки удобнее всего определить в тех же пространствах имен, что и сами типы, наверное, хотя чисто технически можно и в пространстве имен my — компилятор заглянет и туда, и туда, при таком подходе.Дата: 02.11.22
V>Тогда ADL начнет работать по полной. Если дашь конкретику чего хочется получить и время, то я постараюсь показать полный код. Или я опять не понял вопроса?
Ну я уже запал на вариант с фабрикой
Re[6]: Cоздание базового шаблона минуя специализацию
Здравствуйте, Videoman, Вы писали:
V>Я описал просто точку кастомизации. Из нее можно подлезть и сделать как угодно.
Я тоже не вдавался в детали, но сделал акцент на том, что в любом случае, вызовы пользовательских функций должны выполняться по неквалифицированным именам, чтобы задействовать ADL, это ключевой момент при любых постановке и дизайне, как мне кажется.
V>Я не повторял детали, которые мы до этого тут обсуждали. Можно же сделать и так:
V>parse(...., my::parse_as<type_t>());
V>format(...., my::format_as<type_t>());
Ну вот этот вариант близок к тому, о чем я говорил здесь
V>Тогда ADL начнет работать по полной. Если дашь конкретику чего хочется получить и время, то я постараюсь показать полный код. Или я опять не понял вопроса?
Ну я уже запал на вариант с фабрикой
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 — компилятор заглянет и туда, и туда, при таком подходе.Дата: 02.11.22
V>Тогда ADL начнет работать по полной. Если дашь конкретику чего хочется получить и время, то я постараюсь показать полный код. Или я опять не понял вопроса?
Ну я уже запал на вариант с фабрикой