Skip to content
Welcome to the new CppUtils documentation!

Proxy object representing an expectation on a value or boolean condition.

Enables comparison assertions such as expect(a) == b; as well as standalone boolean conditions such as expect(condition);.

Template parameterDescription
LeftTypeType of the left-hand operand or condition.
constexpr explicit ExpectationProxy::ExpectationProxy( LeftType&& left, std::source_location location = std::source_location::current()) noexcept;
ExpectationProxy::ExpectationProxy(const ExpectationProxy&) = delete;
ExpectationProxy& ExpectationProxy::operator=(const ExpectationProxy&) = delete;
constexpr ExpectationProxy::ExpectationProxy(ExpectationProxy&& other) noexcept;
constexpr ExpectationProxy::~ExpectationProxy() noexcept(false);
constexpr auto ExpectationProxy::operator!() -> void;
template <class RightType>
constexpr auto ExpectationProxy::operator==(const RightType& right) -> void;
template <class RightType>
constexpr auto ExpectationProxy::operator!=(const RightType& right) -> void;
template <class RightType>
constexpr auto ExpectationProxy::operator<(const RightType& right) -> void;
template <class RightType>
constexpr auto ExpectationProxy::operator<=(const RightType& right) -> void;
template <class RightType>
constexpr auto ExpectationProxy::operator>(const RightType& right) -> void;
template <class RightType>
constexpr auto ExpectationProxy::operator>=(const RightType& right) -> void;
template <class ExceptionType>
auto ExpectationProxy::operator==(const ThrowsMatcher<ExceptionType>& matcher) -> void requires requires (LeftType& left) { left(); };
template <class ExceptionType, class PredicateType>
auto ExpectationProxy::operator==(const ThrowsPredicateMatcher<ExceptionType, PredicateType>& matcher) -> void requires requires (LeftType& left) { left(); };
auto ExpectationProxy::operator==(const NoThrowMatcher&) -> void requires requires (LeftType& left) { left(); };
auto ExpectationProxy::operator==([[maybe_unused]] const CrashesMatcher& matcher) -> void requires requires (LeftType& left) { left(); };
template <Chrono::Duration TimeoutDuration, Chrono::Duration StepDuration>
auto ExpectationProxy::operator==(const EventuallyMatcher<TimeoutDuration, StepDuration>& matcher) -> void requires requires (LeftType& left) { { left() } -> std::convertible_to<bool>; };
template <Chrono::Duration TimeoutDuration>
auto ExpectationProxy::operator==(const CompletesMatcher<TimeoutDuration>& matcher) -> void requires (requires (LeftType& left, TimeoutDuration timeout) { { left.wait_for(timeout) } -> std::same_as<std::future_status>; } or requires (LeftType& left, TimeoutDuration timeout) { { left().wait_for(timeout) } -> std::same_as<std::future_status>; });
template <Chrono::Duration TimeoutDuration>
auto ExpectationProxy::operator==(const CompletesMatcher<TimeoutDuration>& matcher) -> void requires requires (LeftType& left, TimeoutDuration timeout) { { left.try_acquire_for(timeout) } -> std::same_as<bool>; };
template <class ExpectedValueType, Chrono::Duration TimeoutDuration>
auto ExpectationProxy::operator==(const CompletesWithMatcher<ExpectedValueType, TimeoutDuration>& matcher) -> void requires (requires (LeftType& left, TimeoutDuration timeout) { { left.wait_for(timeout) } -> std::same_as<std::future_status>; left.get(); } or requires (LeftType& left, TimeoutDuration timeout) { { left().wait_for(timeout) } -> std::same_as<std::future_status>; left().get(); });