#### io_context::basic_executor_type::require

Obtain an executor with the `blocking.possibly` property.

    constexpr basic_executor_type require(
        execution::blocking_t::possibly_t ) const;
      » more...

Obtain an executor with the `blocking.never` property.

    constexpr basic_executor_type require(
        execution::blocking_t::never_t ) const;
      » more...

Obtain an executor with the `relationship.fork` property.

    constexpr basic_executor_type require(
        execution::relationship_t::fork_t ) const;
      » more...

Obtain an executor with the `relationship.continuation` property.

    constexpr basic_executor_type require(
        execution::relationship_t::continuation_t ) const;
      » more...

Obtain an executor with the `outstanding_work.tracked` property.

    constexpr basic_executor_type< Allocator, unspecified > require(
        execution::outstanding_work_t::tracked_t ) const;
      » more...

Obtain an executor with the `outstanding_work.untracked` property.

    constexpr basic_executor_type< Allocator, unspecified > require(
        execution::outstanding_work_t::untracked_t ) const;
      » more...

Obtain an executor with the specified `allocator` property.

    template<
        typename OtherAllocator>
    constexpr basic_executor_type< OtherAllocator, Bits > require(
        execution::allocator_t< OtherAllocator > a) const;
      » more...

Obtain an executor with the default `allocator` property.

    constexpr basic_executor_type< std::allocator< void >, Bits > require(
        execution::allocator_t< void > ) const;
      » more...