Преобразование аргумента шаблона в шаблон шаблонаC++

Программы на C++. Форум разработчиков
Anonymous
Преобразование аргумента шаблона в шаблон шаблона

Сообщение Anonymous »

У меня есть следующий упрощенный код. Вопрос в том, есть ли способ распознать параметр A::v_ и значение как тип контейнера и вызвать правильную функцию преобразования? Или надо переделку делать? В случае переделки есть ли у вас предложения, как наиболее эффективно справиться с такой проблемой?

Код: Выделить всё

template 
B convert(A a);

template 
B convert(CA a);

template 
CB convert(A a);

template 
CB convert(CA a);

template 
struct A
{
T v_;

void assign(const A& value)
{
// How to recognize if "value" and "this->v_" is an container
// and call right "convert" function
// if constexpr (???)
//    v_ = convertv_ container, this->v_ element>(value);
// else if constexpr (???)
//    v_ = convertv_ container, this->v_ element>(value);
// else if constexpr (???)
//    v_ = convertv_ type>(value);
// else
//    v_ = convertv_ type>(value);
}
};
Я пытался найти преобразование аргументов шаблона в шаблон-шаблон, но безуспешно.

Подробнее здесь: https://stackoverflow.com/questions/792 ... e-template

Вернуться в «C++»