
Ruslan
28.09.2018
21:21:44
и первый и второй
но по асмовыхлопу будет видно
там по инструкциям сразу понятно отключилось или нет

Евгений
28.09.2018
21:22:23

Google

Ruslan
28.09.2018
21:22:26
бб

Alexander
28.09.2018
21:28:37
И нет смысла от mtune и march одновременно

Ioann V
28.09.2018
23:08:05

Roman
29.09.2018
00:11:50
Смотрю в C++20 можно будет генерить дефолтный operator<=> , а что насчёт operator==, можно его генерить автоматом?
т.е. если например порядок для типа определить нельзя, но поэлементное сравнение на равенство имеет смысл?

Ruslan
29.09.2018
00:14:48
Очень странное желание

Roman
29.09.2018
00:15:00
Ну мне постоянно такое хочется
Т.е. у меня в предметной области много типов для которых порядок определить нельзя

Ruslan
29.09.2018
00:16:16
Два инстанса одного и того же класса в общем случае не идентичны, и, кроме того, operator== полезен для другого

Alex
29.09.2018
00:16:22

Roman
29.09.2018
00:16:33

Alex
29.09.2018
00:16:41
operator<=> ,

Google

Alex
29.09.2018
00:16:44
Я про вот этот

Roman
29.09.2018
00:16:55

Alex
29.09.2018
00:17:17
Что этот оператор делает
Уже загуглил

Roman
29.09.2018
00:18:24
А , можно
Defaulted two-way comparisons
Any of the six two-way relational operators can be explicitly defaulted. A defaulted relational operator must have the return type bool.
Хотя примеров на без <=> не вижу. Так что нужно разбираться в деталях
На данный момент ни один из компиляторов не поддерживает <=> ;(

Аттрибутивно-ассоциативный ряд
29.09.2018
00:30:42
Есть один шаблонный класс с шаблонным шаблонным параметром. Как сделать частичную специализацию для такого класса? https://wandbox.org/permlink/NKupPGR85PBtuR0b

Vladislav
29.09.2018
00:33:05
а вторая часть (с wrapper<my_future>) - не очень понятно, что ты хотел сделать

Аттрибутивно-ассоциативный ряд
29.09.2018
00:34:12
блин, я понял как оно работает!
спасибо. дальше я сам разберусь
https://wandbox.org/permlink/ghuiXEqcJUVbnBIm
обалдеть чо можно делать

PRoSToC0der
29.09.2018
01:36:33
А , можно
вроде ещё можно вместо auto указать std::strong_equality, правда надо выбирать между strong и weak...


Ilia
29.09.2018
03:33:20

Google

Columbus
29.09.2018
04:34:08
Что этот оператор делает
There’s a new three-way comparison operator, <=>. The expression a <=> b returns an object that compares <0 if a < b, compares >0 if a > b, and compares ==0 if a and b are equal/equivalent.
Что этот оператор делает
И еще
The three-way comparison operator expressions have the form
lhs <=> rhs (1)
The expression returns an object that
compares <0 if lhs < rhscompares >0 if lhs > rhsand compares ==0 if lhsand rhs are equal/equivalent.

Roman
29.09.2018
05:25:39

Ilia
29.09.2018
06:09:29

Max
29.09.2018
06:10:40
Сравнение на равенство необходимо, но порядок необязателен.

Насибуллин
29.09.2018
06:55:05
По поводу генератора верилога из с++ кода. У меня не большой опыт в фпга, но все же мне кажется для отрасли стандартнее делать DSL на ЯВУ (напр хаскель) , которым целевой верилог описывается, а не обращаться к дереву/рефлексии пользовательской программы

Ruslan
29.09.2018
07:38:40

Евгений
29.09.2018
10:21:45
Можешь 4 варианта
Сделал два
https://gist.github.com/ivanstepanovftw/051795fa9609d06676041044156c4ebf
В любом случае, руками инлайнить - быстрее
Почему gcc не может нормально заинлайнить - не понятно

Anatoly
29.09.2018
11:13:35
В @supapro проскочил вопрос, а можно ли сделать dump их hex последовательности без лишних манипуляций в рантайме. То есть, пишем 0x123456789abc, а на выходе получаем std::array<unsigned char, 6> Можно ли заставить этот https://wandbox.org/permlink/LGyZUtVYHTyTCMfi компилироваться в MSVC или оставить надежду?

Constantine
29.09.2018
11:42:54

Побитый
29.09.2018
12:19:55
Кто нибудь юзал SAL от Microsoft? Эта штука вообще используется где-нибудь?

Anatoly
29.09.2018
12:37:24

Constantine
29.09.2018
13:02:43

Roman
29.09.2018
13:02:45
В общем с клангом это достаточно просто. Мы сразу из clang ast генерим verilog.

Constantine
29.09.2018
13:07:56
Поясни мысль.
вот что мешает написать
constexpr int hex2dec(char c) {
return ('0' <= c && c <= '9') ? (c - '0') : (c - 'a');
}

Google

Egor
29.09.2018
13:13:05
как можно в рантайме заполнить вариадик std::tuple<ArgTypes...> t; из std::vector<std::string>?

Constantine
29.09.2018
13:16:02

Egor
29.09.2018
13:16:12
они совпадают

Constantine
29.09.2018
13:16:42
ну тогда разворачивайтесь через index_sequence

Egor
29.09.2018
13:17:02
в этом и вопрос

Constantine
29.09.2018
13:18:43
https://en.cppreference.com/w/cpp/utility/apply
вот здесь вам пример
правда, в обратную сторону

Egor
29.09.2018
13:20:35
https://wandbox.org/permlink/3ojA5UzIJjwFQQLl
пример нагуглился из потока, но у меня вектор строк, которому надо где-то отдать текущий индекс

Constantine
29.09.2018
13:24:21
хм... вы пишете apply, но не посмотрели пример с apply? :)

Egor
29.09.2018
13:25:00
посмотрел, но не понял, что там мне пригодится

Constantine
29.09.2018
13:25:52
template <class F, class Tuple, std::size_t... I>
constexpr decltype(auto) apply_impl(F&& f, Tuple&& t, std::index_sequence<I...>)
заменяем Tuple на std::vector<string>

Egor
29.09.2018
13:26:34
сумеет он так распаковать?

Constantine
29.09.2018
13:27:00
распаковать что? вы ему явно передаете v[I]...
вы же буквально хотите написать f(v[0], v[1], ...)

Egor
29.09.2018
13:28:36
нет вроде
строки надо сначала преобразовать
а вызов с туплом апплай сделает

Google

Constantine
29.09.2018
13:30:14
не очень понимаю про преобразовать, но можете вернуть std::make_tuple(v[0], v[1], ...)

Egor
29.09.2018
13:31:03
std::tuple<int, int64, string> t;
std::vector<string> s;
надо t заполнить из s

Constantine
29.09.2018
13:31:26
хм... а у вас есть функция anything_from_string?

Egor
29.09.2018
13:31:38
считаем, что да

Constantine
29.09.2018
13:31:57
ну тогда
anything_from_tuple<Tu, I...>(vector<string> const& v)
std::make_tuple(anything_from_string<std::tuple_element<I>(Tu)>(v[I
])...)
перечисление всегда по индексам, но ничто не мешает вам типы по индекса результирующего тупла получать

Anatoly
29.09.2018
13:58:27

Аттрибутивно-ассоциативный ряд
29.09.2018
14:06:35
Привет. Есть шаблонный класс с одним членом. Если класс инстанцируется с lvalue типом, то этот член должен быть ссылкой, если rvalue, то аргумент конструктора должен быть перемещен в этот член.
https://wandbox.org/permlink/DyH4CRCVhJNeaJs5
Как объявить такой член и какой должен быть конструктор?