Size: a a a

cxx.Дискуссионная

2020 March 28

O

Ostrich Corpsе in cxx.Дискуссионная
Он в рб вообще сказали, не будут говорить сколько заболели
источник

O

Ostrich Corpsе in cxx.Дискуссионная
ЧТОБЫ НЕ ПАНИКУ НЕ РАЗВОДИТЬ
источник

Т8

Т-34 85 in cxx.Дискуссионная
@Ioann_V @zamazan4ik смит что-то забил на раст
https://t.me/fludpac/369842
источник

I

Ioann_V in cxx.Дискуссионная
Так, держи в курсе.
источник

IO

Igor Okhremchuk in cxx.Дискуссионная
Ostrich Corpsе
ЧТОБЫ НЕ ПАНИКУ НЕ РАЗВОДИТЬ
Чай с малиновым вареньем и как рукой снимет
источник

IO

Igor Okhremchuk in cxx.Дискуссионная
Или как там бацька разговаривает?
источник

IO

Igor Okhremchuk in cxx.Дискуссионная
Помню видел какой-то видос из города, который рядом с зоной отчуждения. Какой-то мужик начал ему говорить о проблемах со здоровьем и Лукашенко просто как в подъезде каком-то "ТЫ ШО НЕ МУЖИК?!"
источник

Т8

Т-34 85 in cxx.Дискуссионная
Igor Okhremchuk
Помню видел какой-то видос из города, который рядом с зоной отчуждения. Какой-то мужик начал ему говорить о проблемах со здоровьем и Лукашенко просто как в подъезде каком-то "ТЫ ШО НЕ МУЖИК?!"
источник

IO

Igor Okhremchuk in cxx.Дискуссионная
Мне сейчас не до эротики
источник

KK

Kirill Kaymakov in cxx.Дискуссионная
источник

KK

Kirill Kaymakov in cxx.Дискуссионная
источник

IO

Igor Okhremchuk in cxx.Дискуссионная
Егор
DECLARE_STRUCT(test)
BEGIN
   DECLARE_FIELD(bool,b);
   DECLARE_FIELD(bool,b2);
   DECLARE_FIELD(bool,b3);
END

сильно плохо как думаете?
А во что это разворачивается? Линкани репу
источник

Е

Егор in cxx.Дискуссионная
Igor Okhremchuk
А во что это разворачивается? Линкани репу
ой там щас такое лежит что я это не буду линковать
источник

IO

Igor Okhremchuk in cxx.Дискуссионная
Лично я не сторонник макросов и юзаю их только для деторов всяких
источник

Е

Егор in cxx.Дискуссионная
без макросов мне нужен contexpr счётчик
источник

IO

Igor Okhremchuk in cxx.Дискуссионная
Библиотеки проектировать куда сложнее, в любом случае
источник

Е

Егор in cxx.Дискуссионная
Igor Okhremchuk
Лично я не сторонник макросов и юзаю их только для деторов всяких
Вот сами макросы
#ifndef declare_field
#define declare_field(type, field_name) \
   type field_name; \
   template<typename Dummy__ >       \
   struct field_info<__COUNTER__-current_counter-1,Dummy__> \
   { constexpr static std::string_view name = #field_name;}
#endif
#ifndef declare_struct
#define declare_struct template<size_t N,class Dummy = void> struct field_info; \
   static constexpr bool is_parsable = true;\
   static constexpr int current_counter = __COUNTER__;
#endif
#endif

Суть в том, чтобы через magic_get достать поле по номеру N, а через Struct::field_info<N>::name достать имя, и сериализовать
источник

Е

Егор in cxx.Дискуссионная
и можно через секвенсы итерироваться по структуре
источник

Е

Егор in cxx.Дискуссионная
Егор
Вот сами макросы
#ifndef declare_field
#define declare_field(type, field_name) \
   type field_name; \
   template<typename Dummy__ >       \
   struct field_info<__COUNTER__-current_counter-1,Dummy__> \
   { constexpr static std::string_view name = #field_name;}
#endif
#ifndef declare_struct
#define declare_struct template<size_t N,class Dummy = void> struct field_info; \
   static constexpr bool is_parsable = true;\
   static constexpr int current_counter = __COUNTER__;
#endif
#endif

Суть в том, чтобы через magic_get достать поле по номеру N, а через Struct::field_info<N>::name достать имя, и сериализовать
там еще has_include __COUNTER и вариант с лупхолами, но он компилируется дольше и статик. анализатор ломает, так что он в крайнем случае понадобиться
источник

O

Ofee in cxx.Дискуссионная
Егор
Вот сами макросы
#ifndef declare_field
#define declare_field(type, field_name) \
   type field_name; \
   template<typename Dummy__ >       \
   struct field_info<__COUNTER__-current_counter-1,Dummy__> \
   { constexpr static std::string_view name = #field_name;}
#endif
#ifndef declare_struct
#define declare_struct template<size_t N,class Dummy = void> struct field_info; \
   static constexpr bool is_parsable = true;\
   static constexpr int current_counter = __COUNTER__;
#endif
#endif

Суть в том, чтобы через magic_get достать поле по номеру N, а через Struct::field_info<N>::name достать имя, и сериализовать
А как там current_counter используется?
источник