### Connect condition requirements

A type `X` meets the `ConnectCondition` requirements if it satisfies the requirements of `Destructible` (C++Std [destructible]) and `CopyConstructible` (C++Std [copyconstructible]), as well as the additional requirements listed below.

In the table below, `x` denotes a value of type `X`, `ec` denotes a (possibly const) value of type `error_code`, and `ep` denotes a (possibly const) value of some type satisfying the endpoint requirements.

Table 7. ConnectCondition requirements

expression | return type | assertion/note pre/post-condition
--- | --- | ---
`x(ec, ep)` | `bool` | Returns `true` to indicate that the `connect` or `async_connect` algorithm should attempt a connection to the endpoint `ep`. Otherwise, returns `false` to indicate that the algorithm should not attempt connection to the endpoint `ep`, and should instead skip to the next endpoint in the sequence.