Dowiedz się, czy obiekt C ++ jest możliwy do wywołania

Czy można napisać cechę typu, powiedzmyis_callable<T>, który informuje, czy obiekt maoperator() zdefiniowany? Łatwo jest, jeśli argumenty dla operatora połączenia są znane z góry, ale nie w ogólnym przypadku. Chcę, aby ta właściwość zwróciła wartość true tylko wtedy, gdy zdefiniowano co najmniej jednego przeciążonego operatora połączeń.

To pytani jest powiązany i ma dobrą odpowiedź, ale nie działa na wszystkich typach (tylko naint - typy wymienialne). Również,std::is_function działa, ale tylko na odpowiednich funkcjach C ++, a nie na funktorach. Szukam bardziej ogólnego rozwiązania.

questionAnswers(0)

yourAnswerToTheQuestion