[exec.read.env] # 33 Execution control library [[exec]](./#exec) ## 33.9 Senders [[exec.snd]](exec.snd#exec.read.env) ### 33.9.11 Sender factories [[exec.factories]](exec.factories#exec.read.env) #### 33.9.11.3 execution​::​read_env [exec.read.env] [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/exec.tex#L2950) read_env is a sender factory for a sender whose asynchronous operation completes synchronously in its start operation with a value completion result equal to a value read from the receiver's associated environment[.](#1.sentence-1) [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/exec.tex#L2956) read_env is a customization point object[.](#2.sentence-1) For some query object q, the expression read_env(q) is expression-equivalent to*make-sender*(read_env, q)[.](#2.sentence-2) [3](#3) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/exec.tex#L2962) The exposition-only class template *impls-for* ([[exec.snd.expos]](exec.snd.expos "33.9.2 Exposition-only entities")) is specialized for read_env as follows: [🔗](#lib:impls-for%3cdecayed-typeof%3cread_env%3e%3e) namespace std::execution {template<>struct *impls-for*<*decayed-typeof*> : *default-impls* {static constexpr auto start =[](auto query, auto& rcvr) noexcept -> void {*TRY-SET-VALUE*(rcvr, query(get_env(rcvr))); }; }; templatestatic consteval void *check-types*();} [🔗](#lib:check-types,impls-for%3cdecayed-typeof%3cread_env%3e%3e) `template static consteval void check-types(); ` [4](#4) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/exec.tex#L2988) Let Q be decay_t<*data-type*>[.](#4.sentence-1) [5](#5) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/exec.tex#L2991) *Throws*: An exception of an unspecified type derived from exception if the expression Q()(env) is ill-formed or has type void, whereenv is an lvalue subexpression whose type is Env[.](#5.sentence-1)