Здравствуйте, Vamp, Вы писали:
V>std::integral_constant
int был для примера, на самом деле нужен более сложный тип.
boost::dynamic_bitset, если быть точным.
И да, я знаю, что есть std::bitset, где параметр длины темплейтный. Но в нем кой-чего другого не хватает.
Решение от koenjihyakkei вроде бы должно подойти. А чисто ради познавательного интереса любопытно, можно ли как то извернуться, если параметров несколько, а нужно указать один?
Ну то-есть, что-то, типа bind, но возвращающий не объект, а тип.
Ну типа:
struct Point()
{
Point(x,y):_x{x}, y{y}
int _x, _y;
}
using zero_x_point = some_magic_bind<point>(x=0);
zero_x_point pt(5); //x=0, y=5
хотел уже на боковую
папаху снял и сапоги
но в комментариях проснулись
враги
Re[3]: Объявить тип, являющийся другим классом с заданными аргументами конструкт
Здравствуйте, Brice Tribbiani, Вы писали:
BT>Решение от koenjihyakkei вроде бы должно подойти. А чисто ради познавательного интереса любопытно, можно ли как то извернуться, если параметров несколько, а нужно указать один?
Хотя не, не подошло.
Но выход нашел — отнаследоваться, и в конструкторе передать все, что надо.
хотел уже на боковую
папаху снял и сапоги
но в комментариях проснулись
враги
Re[3]: Объявить тип, являющийся другим классом с заданными аргументами конструкт
Здравствуйте, Brice Tribbiani, Вы писали:
BT>int был для примера, на самом деле нужен более сложный тип. BT>boost::dynamic_bitset, если быть точным.
Так int — не очень удачный пример в данном случае, потому что от него нельзя наследоваться. Для boost::dynamic_bitset решение видится достаточно простым: