реклама на сайте
подробности

 
 
> C++98 совместимый двоичный литерал, Знатоки С++, поктритикуйте реализацию
sigmaN
сообщение Apr 5 2017, 11:04
Сообщение #1


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Ворвался вчера ночью и соорудил вот это (странно, почему-то на не за архивированный .hpp файл форум ответил, что я не имею права на загрузку):
Прикрепленный файл  BinaryLiteral.zip ( 2.08 килобайт ) Кол-во скачиваний: 32

https://pastebin.com/PXt4Y0A6

Используется вот так:
BinaryLiteral8bit(10100101)
BinaryLiteral16bit(00100000,00010000)
BinaryLiteral32bit(10000000,01000000,00100000,00010000)

Естественно, никакого рантайма, это константное выражение годное к передаче хоть в параметр шаблона.
Во время компиляции даст по рукам, если вы ошиблись и ввели не 8 цифр на байт или случайно использовали что-то кроме 0 и 1.

Сделано ибо при переезде с GCC на IAR обнаружилось, что 0b10101010 больше не работает ибо это было гнутое расширение, а в стандарте бинарные литералы только начинают появляться.


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Kabdim
сообщение Apr 5 2017, 11:39
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



Если тянуть буст, то может и пользоваться бустом?
УПД Вообще какая-то каша, что-то частично стянуто с буста... лицензию от буста забыли добавить, бррр.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 14:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.0136 секунд с 7
ELECTRONIX ©2004-2016