proxy

Concept proxiable_target

template <class T, class F>
concept proxiable_target = proxiable<observer-ptr<T>, F>;

See make_proxy_view for the definition of the exposition-only class template observer-ptr.

Example

#include "proxy.h"

struct Runnable : pro::facade_builder
    ::add_convention<pro::operator_dispatch<"()">, void()>
    ::build {};

int main() {
  auto fun = [] {};
  static_assert(pro::proxiable_target<decltype(fun), Runnable>);
  static_assert(!pro::proxiable_target<int, Runnable>);
}

See Also