Lines Matching refs:executor

1 // <experimental/executor> -*- C++ -*-
25 /** @file experimental/executor
143 /// Trait for determining whether to construct an object with an executor.
166 /// Helper to associate an executor with a type.
210 /// Helper to bind an executor to an object or function.
293 class executor;
296 operator==(const executor&, const executor&) noexcept;
299 operator==(const executor&, nullptr_t) noexcept;
302 operator==(nullptr_t, const executor&) noexcept;
305 operator!=(const executor&, const executor&) noexcept;
308 operator!=(const executor&, nullptr_t) noexcept;
311 operator!=(nullptr_t, const executor&) noexcept;
313 void swap(executor&, executor&) noexcept;
708 // executor binder access:
714 // executor binder invocation:
830 // executor work guard observers:
836 // executor work guard modifiers:
965 // executor operations:
999 virtual const char* what() const noexcept { return "bad executor"; }
1011 class executor
1016 executor() noexcept = default;
1018 executor(nullptr_t) noexcept { }
1019 executor(const executor&) noexcept = default;
1020 executor(executor&&) noexcept = default;
1023 executor(_Executor __e)
1028 executor(allocator_arg_t, const _ProtoAlloc& __a, _Executor __e)
1033 executor& operator=(const executor&) noexcept = default;
1034 executor& operator=(executor&&) noexcept = default;
1036 executor&
1044 executor&
1047 executor(std::move(__e)).swap(*this);
1051 ~executor() = default;
1053 // executor modifiers:
1056 swap(executor& __other) noexcept
1062 { executor(allocator_arg, __a, std::move(__e)).swap(*this); }
1064 // executor operations:
1117 // executor capacity:
1122 // executor target access:
1294 operator==(const executor& __a, const executor& __b) noexcept
1310 template<> struct is_executor<executor> : true_type { };
1312 /// executor comparisons
1314 operator==(const executor& __e, nullptr_t) noexcept
1318 operator==(nullptr_t, const executor& __e) noexcept
1322 operator!=(const executor& __a, const executor& __b) noexcept
1326 operator!=(const executor& __e, nullptr_t) noexcept
1330 operator!=(nullptr_t, const executor& __e) noexcept
1333 /// Swap two executor objects.
1334 inline void swap(executor& __a, executor& __b) noexcept { __a.swap(__b); }
1508 "inner executor type must be CopyAssignable");
1520 "inner executor type must be MoveAssignable");
1532 "inner executor type must be compatible");
1545 "inner executor type must be compatible");
2040 struct uses_allocator<experimental::net::executor, _Alloc>