![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| boostcoder |
|
||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
есть такой шаблон:
что нужно сделать, чтоб постоянно не перечислять некоторые параметры? т.е. чтоб можно было использовать как-то так:
спасибо. Это сообщение отредактировал(а) boostcoder - 7.8.2011, 11:17 |
||||
|
|||||
| asmdzen |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 28.11.2010 Репутация: нет Всего: 5 |
хотя я не уверен что оно. http://drdobbs.com/architecture-and-design/184403850 Это сообщение отредактировал(а) asmdzen - 7.8.2011, 12:28 |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
asmdzen, такой способ я знаю. но дефолтными нужно сделать параметры слева.
|
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
наверное сабж невозможен...
есть другая идея: вместо bool`ов использовать одну целочисленную переменную и шаблоны-предикаты которые будут проверять состояние бит в переменной. но тут вопрос: в compile-time можно использовать операции над битами? |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
а еще, с операциями над битами я не дружу
|
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
| azesmcar |
|
||||||||||||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
boostcoder
запросто. группируем флаги в какую-нибудь группу
дальше определяем группы
реальную структуру type прячем под другим именем, например type_ и меняем три шаблонных переменных заменяем на группу
далее специализируем type_
далее осталось перенаправить тип type<bool b1, bool b2, bool b3, unsigned e1, unsigned e2> на type_<params_pack<b1, b2, b3>, e1, e2>. Тут небольшая загвоздка, шаблонный typedef пока вроде не поддерживается
потому придется как-то так
В итоге получается что-то в этом роде
конечно, если это группа boolean типов, то лучше использовать битовые операции. http://forum.vingrad.ru/index.php?showtopi...t&p=2381904 Это сообщение отредактировал(а) azesmcar - 8.8.2011, 21:16 |
||||||||||||||
|
|||||||||||||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
azesmcar, спасибо огромное. буду пробовать таким способом
зы у меня есть два момента(это которые я осознаю) которые мне никак в голову не лезут: 1. регекспы. 2. операции над битами. сколько я не пытался.. |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
а тут обязательно enum заменять на unsigned? |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |