[/
 / Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
 /
 / Distributed under the Boost Software License, Version 1.0. (See accompanying
 / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 /]

[section:ConnectCondition 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 [link asio.reference.Endpoint endpoint] requirements.

[table ConnectCondition requirements
  [[expression] [return type] [assertion/note[br]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.
    ]
  ]
]

[endsect]
