Цитата(Nixon @ Mar 20 2018, 15:28)

"Широкая" параллельная шина для связи например с FPGA
А нафига тут параллельная программная (соотв. медленная) шина, если вполне достаточно аппаратного SPI или чего-то подобного?
Или схемотехник решил поиздеваться над программистами или разработчик под FPGA еще не научился применять готовые модули популярных послед. шин?
Цитата
Пример - есть параллельная 4-битная шина висящая на пинах 1(bit0), 11(bit1), 12(bit2) и 5(bit3) (ну получилось так при разводке).
Самое первое, что приходит в голову - выгнать такого схемотехника. Я серьезно! За подобные костыли программисты устраивают "темную" такому схемотехнику ))
А пока временно сделать программную заглушку, написанную чуть ли не АСМе. Конечно, если, требуется суперскорость и речь идет, например, про программный QuadSPI (

)
Цитата
Необходимо записать на шину определенное число. Сколько операций займут у вас битовые манипуляции?
Если нужна суперскорость, то нужно переделывать схему и плату, а не заниматься дрочевом с битовыми манипуляциями
Если скорость не критична, то и "проблема" соотв. полностью надуманная.
Цитата
Мне например очень помогает нормальная поддержка constexpr.
Любопытно ... но не очень убедительно: получается некая экономия на "копейках", вынуждающая думать где ставить constexpr или оставить банальный const
Цитата
Очень приятная фишка variadic template - помогает КРАСИВО и БЫСТРО делать например делегаты и списки типов.
Познавательно! Без делегатов связать незнакомые и изолированные друг от друга модули никак не получается. Поэтому использую делегаты (своего рода система signal/slot в Qt).
Впрочем, я использую делегаты всего лишь 4 видов, шаблоны которых вмещаются в одном крохотном hpp файлике (если интересно, приведу содержимое).
Код
class DelegateVoidVoid
template<typename OutType> class DelegateTypeVoid
template<typename InType> class DelegateVoidType
template<typename OutType, typename InType> class Delegate
Все остальные вариации очень редки, и вместо них всегда можно использовать одну и указанных, размещая все параметры внутри структуры или передавать ссылку на класс.
Однако, сейчас существует очень много стороннего и полезного кода, который как минимум без C++11 уже не собирается.
Поэтому, хочешь или не хочешь, но придется переходить на более свежий компилятор.
Цитата
Я уж молчу про битовые литералы

Спорно, весьма спорно. Ибо любые битовые литералы - "магические" числа, требующие хотя бы каких-то комментариев или ссылок на док-ты ((
Всегда успешно избегаю подобного жуткого нечитаемого
колхоза "наследия" от PIC-контроллеров

Цитата
P.S. Забыл сказать - динамическое выделение памяти у нас на работе запрещено внутренним регламентом.
Ну, это само собой! Впрочем, к данной теме это не имеет отношения ))