Size: a a a

2020 September 23

ПК

Побитый Кирпич... in pro.cxx
_aam
А в чем цель? Разобраться- тогда лучше будет на чем-нибудь декларотивном написать(Matlab,python)
Питон декларативный?
источник

VS

Vladimir SHCHerba in pro.cxx
О.о нет конечно.
источник

_

_aam in pro.cxx
Побитый Кирпич
Питон декларативный?
Конечно же не декларативный, ты прав! Спутал.
Хотел указать на то, что будет проще прототипировать алгоритм на языке с динамической типизацией.
источник

S

Stas in pro.cxx
https://t.me/ProCxx/406321
Казалось бы, не при делах.
источник

_

_aam in pro.cxx
disba1ancer
Как думаешь, можно написать БПФ за 2 часа?
На олимпиадах по программированию пишут минут за двадцать
источник

d

disba1ancer in pro.cxx
_aam
На олимпиадах по программированию пишут минут за двадцать
У меня уже явно больше времени затрачено, так это я ещё сам код fft даже не начинал писать, только инфу собирал, простое fr я осилил
источник

AT

Anatoly Tomilov in pro.cxx
какой сейчас современный способ проверить has_member_function (с конкретной сигнатурой)? Для каждого имени требуется писать кастомный трейт?
источник

N

Neargye in pro.cxx
Anatoly Tomilov
какой сейчас современный способ проверить has_member_function (с конкретной сигнатурой)? Для каждого имени требуется писать кастомный трейт?
Может что-то такое подойдет?

struct A {
   void foo(int);
};

std::is_invocable_r<void, decltype(&A::foo), A, int>::value
источник

АК

Александр Караев... in pro.cxx
Anatoly Tomilov
какой сейчас современный способ проверить has_member_function (с конкретной сигнатурой)? Для каждого имени требуется писать кастомный трейт?
#include <concepts>

template <class T>
concept has_foo = std::same_as<decltype(&T::foo), int(T::*)(float)>;

struct A {};
struct B { int foo(); };
struct C { int foo(float); };

static_assert(!has_foo<int>);
static_assert(!has_foo<A>);
static_assert(!has_foo<B>);
static_assert(has_foo<C>);
источник

AF

Aidar Fattakhov in pro.cxx
Anatoly Tomilov
какой сейчас современный способ проверить has_member_function (с конкретной сигнатурой)? Для каждого имени требуется писать кастомный трейт?
для имени да, но кажется тебе нужно перевернуть эту штуку
источник

AF

Aidar Fattakhov in pro.cxx
типа чтобы не было имён а был шаблон-член по трейту
источник

AT

Anatoly Tomilov in pro.cxx
Александр Караев
#include <concepts>

template <class T>
concept has_foo = std::same_as<decltype(&T::foo), int(T::*)(float)>;

struct A {};
struct B { int foo(); };
struct C { int foo(float); };

static_assert(!has_foo<int>);
static_assert(!has_foo<A>);
static_assert(!has_foo<B>);
static_assert(has_foo<C>);
а в C++17?
источник

A

Alex Ф-ф-фэils!🌠︙... in pro.cxx
Neargye
Может что-то такое подойдет?

struct A {
   void foo(int);
};

std::is_invocable_r<void, decltype(&A::foo), A, int>::value
Лайк, да, помню подобную задачу свинкой и ... решал
источник

АК

Александр Караев... in pro.cxx
Anatoly Tomilov
а в C++17?
void_t какой-нибудь
источник

AT

Anatoly Tomilov in pro.cxx
с частичной специализацией шаблонов классов?
источник

S

Stas in pro.cxx
Anatoly Tomilov
с частичной специализацией шаблонов классов?
Да.

template <typename T, typename = void>
struct is_iterable : std::false_type {};
template <typename T>
struct is_iterable<T, std::void_t<decltype(std::declval<T>().begin()),
                                 decltype(std::declval<T>().end())>>
   : std::true_type {};
источник

AT

Anatoly Tomilov in pro.cxx
спасибо
источник

N

Neargye in pro.cxx
Anatoly Tomilov
спасибо
Если провериться прям сигнатуру, то лучше все таки добавить std::is_invocable

template <typename T, typename = void>
struct has_foo
   : std::false_type {};

template <typename T>
struct has_foo<T, std::void_t<decltype(&T::foo)>>
   : std::is_invocable_r<int, decltype(&T::foo), T, int> {};

struct A {};
struct B { int foo(); };
struct C { int foo(float); };

 static_assert(!has_foo<int>::value);
 static_assert(!has_foo<A>::value);
 static_assert(!has_foo<B>::value);
 static_assert(has_foo<C>::value);
источник

АК

Александр Караев... in pro.cxx
источник

OZ

Olzhas Zhumabek in pro.cxx
а минуты совещании по тулингу где можно найти?
источник