[refwrap.helpers] # 22 General utilities library [[utilities]](./#utilities) ## 22.10 Function objects [[function.objects]](function.objects#refwrap.helpers) ### 22.10.6 Class template reference_wrapper [[refwrap]](refwrap#helpers) #### 22.10.6.7 Helper functions [refwrap.helpers] [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L11913) The template parameter T of the following ref and cref function templates may be an incomplete type[.](#1.sentence-1) [🔗](#lib:ref,reference_wrapper) `template constexpr reference_wrapper ref(T& t) noexcept; ` [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L11924) *Returns*: reference_wrapper(t)[.](#2.sentence-1) [🔗](#lib:ref,reference_wrapper_) `template constexpr reference_wrapper ref(reference_wrapper t) noexcept; ` [3](#3) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L11935) *Returns*: t[.](#3.sentence-1) [🔗](#lib:cref,reference_wrapper) `template constexpr reference_wrapper cref(const T& t) noexcept; ` [4](#4) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L11946) *Returns*: reference_wrapper(t)[.](#4.sentence-1) [🔗](#lib:cref,reference_wrapper_) `template constexpr reference_wrapper cref(reference_wrapper t) noexcept; ` [5](#5) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L11957) *Returns*: t[.](#5.sentence-1)