C++ Logo

STD-PROPOSALS

Advanced search

Subject: Re: [std-proposals] C++ Function argument constraints for argument sanity checking
From: Tae Lim Kook (uruwi_at_[hidden])
Date: 2019-08-01 12:01:55


On Thursday, August 1, 2019 12:59 PM, Jim Smith via Std-Proposals <std-proposals_at_[hidden]> wrote:

> Functions sometimes check the sanity of the data passed to them. This could require a number of checks and error handing. For example:
>
> Foo& Foo::operator=(const Foo& obj)
> {
>   if(&obj == this)
>       return *this
>    ...
> }
>  
> A more convenient way of handling this situation would be to allow constraints on arguments and let the compiler check or add code to handle the condition.
>
> For example:
>
> Foo& Foo::operator=(const Foo& obj { &obj != this } ) <-- Argument constraint in braces
> {
>    ...
> }

How is this different from the contracts proposal? Would you be able to have overloads based on this?

-- T


STD-PROPOSALS list run by herb.sutter at gmail.com

Standard Proposals Archives on Google Groups