e if
noexcept") (C++11)  
[ as_const  ](/w/cpp/utility/as_const "cpp/utility/as const") (C++17)  
  
Common vocabulary types  
|  [ pair  ](/w/cpp/utility/pair "cpp/utility/pair")  
---  
[ tuple  ](/w/cpp/utility/tuple "cpp/utility/tuple") (C++11)  
[ optional  ](/w/cpp/utility/optional "cpp/utility/optional") (C++17)  
[ any  ](/w/cpp/utility/any "cpp/utility/any") (C++17)  
[ variant  ](/w/cpp/utility/variant "cpp/utility/variant") (C++17)  
  
|  [ tuple_size  ](/w/cpp/utility/tuple_size "cpp/utility/tuple size") (C++11)  
---  
[ tuple_element  ](/w/cpp/utility/tuple_element "cpp/utility/tuple element")
(C++11)  
[ apply  ](/w/cpp/utility/apply "cpp/utility/apply") (C++17)  
[ make_from_tuple  ](/w/cpp/utility/make_from_tuple "cpp/utility/make from
tuple") (C++17)  
[ expected  ](/w/cpp/utility/expected "cpp/utility/expected") (C++23)  
  
[ Elementary string conversions ](/w/cpp/utility#Elementary_string_conversions
"cpp/utility")  
|  [ to_chars  ](/w/cpp/utility/to_chars "cpp/utility/to chars") (C++17)  
---  
[ from_chars  ](/w/cpp/utility/from_chars "cpp/utility/from chars") (C++17)  
[ chars_format  ](/w/cpp/utility/chars_format "cpp/utility/chars format")
(C++17)  
  
|  [ to_chars_result  ](/w/cpp/utility/to_chars_result "cpp/utility/to chars
result") (C++17)  
---  
[ from_chars_result  ](/w/cpp/utility/from_chars_result "cpp/utility/from
chars result") (C++17)  
  
  
  
  
  
  
[ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/utility/navbar_content&action=edit)

Defined in header ` [ <utility> ](/w/cpp/header/utility "cpp/header/utility") ` |  |   
---|---|---  
struct  in_place_t  {  explicit  in_place_t  (  )  =  default  ;  }  ;  |  (1)  |  (since C++17)   
inline  constexpr  std  ::  in_place_t  in_place  {  }  ;  |  (2)  |  (since C++17)   
template  < class  T  >  
struct  in_place_type_t  {  explicit  in_place_type_t  (  )  =  default  ;  }  ;  |  (3)  |  (since C++17)   
template  < class  T  >  
inline  constexpr  std  ::  in_place_type_t  < T  > in_place_type  {  }  ;  |  (4)  |  (since C++17)   
template  < [ std::  size_t  ](http://en.cppreference.com/w/cpp/types/size_t)
I  >  
struct  in_place_index_t  {  explicit  in_place_index_t  (  )  =  default  ;  }  ;  |  (5)  |  (since C++17)   
template  < [ std::  size_t  ](http://en.cppreference.com/w/cpp/types/size_t)
I  >  
inline  constexpr  std  ::  in_place_index_t  < I  > in_place_index  {  }  ;  |  (6)  |  (since C++17)   
|  |   
  
1,3,5)  The type/type templates ` std::in_place_t ` , ` std::in_place_type_t `
and ` std::in_place_index_t ` can be used in the constructor's parameter list
to match the intended tag.

2,4,6)  The corresponding ` std::in_place ` , ` std::in_place_type ` , and `
std::in_place_index ` instances of  (1,3,5)  are disambiguation tags that can
be passed to the constructors of  std::expected  ,  [ std::optional
](/w/cpp/utility/optional "cpp/utility/optional") ,  [ std::variant
](/w/cpp/utility/variant "cpp/utility/variant") , and  [ std::any
](/w/cpp/utility/any "cpp/utility/any") to indicate that the contained object
should be constructed in-place, and (for the latter two) the type of the
object to be constructed.

###  [ [ edit
](/mwiki/index.php?title=cpp/utility/in_place&action=edit&section=1 "Edit
section: Standard library") ]  Standard library

The following standard library vocabulary types use  (1-6)  as disambiguation
tags:

[ expected  ](/w/cpp/utility/expected "cpp/utility/expected") (C++23)  |  a wrapper that contains either an expected or error value   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/utility/dsc_expected&action=edit)  
---|---  
[ optional  ](/w/cpp/utility/optional "cpp/utility/optional") (C++17)  |  a wrapper that may or may not hold an object   
(class template)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/utility/dsc_optional&action=edit)  
[ variant  ](/w/cpp/utility/variant "cpp/utility/var