[func.wrap.func.targ]

# 22 General utilities library [[utilities]](./#utilities)

## 22.10 Function objects [[function.objects]](function.objects#func.wrap.func.targ)

### 22.10.17 Polymorphic function wrappers [[func.wrap]](func.wrap#func.targ)

#### 22.10.17.3 Class template function [[func.wrap.func]](func.wrap.func#targ)

#### 22.10.17.3.6 Target access [func.wrap.func.targ]

[ð](#lib:target_type,function)

`const type_info& target_type() const noexcept;
`

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L14038)

*Returns*: If *this has a target of type T, typeid(T); otherwise, typeid(void)[.](#1.sentence-1)

[ð](#lib:target,function)

`template<class T>       T* target() noexcept;
template<class T> const T* target() const noexcept;
`

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L14051)

*Returns*: If target_type() == typeid(T) a pointer to the stored function target; otherwise a null pointer[.](#2.sentence-1)
