Lines Matching full:contract
862 * operation, and at least one contract callback returning an assertion
891 using Contract = std::function<AssertionResult(T*)>;
903 for (const auto& contract : contracts_) {
914 if (!contract(t_ptr.get())) {
915 return AssertionFailure() << e.what() << " failed contract check";
924 Contract WrapContract(const ContractFn& contract) {
925 return [contract](T* t_ptr) { return AssertionResult(contract(t_ptr)); };
928 Contract WrapContract(StrongGuaranteeTagType) {
934 std::vector<Contract> contracts_;
939 * exception safety guarantees. Verification is done via contract assertion
957 * - Contracts...: The contract assertion callback objects (passed in via
960 * tested. Contract assertion callbacks are provided T instances post-throw.
1020 * In addition to passing in custom contract assertion callbacks, this method
1039 * AssertionFailure after the first contract callback returns an
1040 * AssertionFailure. Otherwise, if all contract callbacks return an
1049 * - May only be called after at least one contract assertion callback and a
1062 * AssertionFailure after the first contract callback returns an
1063 * AssertionFailure. Otherwise, if all contract callbacks return an
1068 * - May only be called after at least one contract assertion callback, a