### strand

Provides serialised function invocation for any executor type.

    template<
        typename Executor>
    class strand

##### Types

Name | Description
--- | ---
inner_executor_type | The type of the underlying executor.

##### Member Functions

Name | Description
--- | ---
defer | Request the strand to invoke the given function object.
dispatch | Request the strand to invoke the given function object.
execute |
get_inner_executor | Obtain the underlying executor.
operator= | Assignment operator. — Converting assignment operator. — Move assignment operator. — Converting move assignment operator.
post | Request the strand to invoke the given function object.
prefer |
query | Forward a query to the underlying executor.
require |
running_in_this_thread | Determine whether the strand is running in the current thread.
strand [constructor] | Default constructor. — Construct a strand for the specified executor. — Copy constructor. — Converting constructor. — Move constructor. — Converting move constructor.
~strand [destructor] | Destructor.

##### Friends

Name | Description
--- | ---
operator!= | Compare two strands for inequality.
operator== | Compare two strands for equality.

##### Requirements

Header: `asio/strand.hpp`

Convenience header: `asio.hpp`