Esempio n. 1
0
auto thrown(T &&thing) {
  return thrown_raw<Exception>(filter(
    [](auto &&e) { return std::string(e.what()); },
    ensure_matcher(std::forward<T>(thing)),
    "what: "
  ));
}
Esempio n. 2
0
inline auto exited(T &&thing) {
  auto matcher = ensure_matcher(std::forward<T>(thing));
  return detail::exited_impl<decltype(matcher)>(std::move(matcher));
}
Esempio n. 3
0
auto thrown_raw(T &&thing) {
  auto matcher = ensure_matcher(std::forward<T>(thing));
  return detail::thrown_impl<Exception, decltype(matcher)>(std::move(matcher));
}
Esempio n. 4
0
auto each(T &&thing) {
  return detail::member_impl<ensure_matcher_t<T>>(
    "each ", true, ensure_matcher(std::forward<T>(thing))
  );
}
Esempio n. 5
0
auto member(T &&thing) {
  return detail::member_impl<ensure_matcher_t<T>>(
    "member ", false, ensure_matcher(std::forward<T>(thing))
  );
}
Esempio n. 6
0
inline auto tuple(T &&...things) {
  return detail::tuple_impl<ensure_matcher_t<T>...>(
    ensure_matcher(std::forward<T>(things))...
  );
}