Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::in_place,std::in_place_type,std::in_place_index,std::in_place_t,std::in_place_type_t,std::in_place_index_t

      From cppreference.com
      <cpp‎ |utility
       
       
      Utilities library
       
      Defined in header<utility>
      struct in_place_t{explicit in_place_t()=default;};
      (1)(since C++17)
      inlineconstexpr 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>
      constexpr std::in_place_type_t<T> in_place_type{};
      (4)(since C++17)
      template<std::size_t I>
      struct in_place_index_t{explicit in_place_index_t()=default;};
      (5)(since C++17)
      template<std::size_t I>
      constexpr std::in_place_index_t<I> in_place_index{};
      (6)(since C++17)
      1,3,5) The type/type templatesstd::in_place_t,std::in_place_type_t andstd::in_place_index_t can be used in the constructor's parameter list to match the intended tag.
      2,4,6) The correspondingstd::in_place,std::in_place_type, andstd::in_place_index instances of(1,3,5) are disambiguation tags that can be passed to the constructors 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]Standard library

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

      (C++17)
      objects that hold instances of anyCopyConstructible type
      (class)[edit]
      (C++23)
      a wrapper that contains either an expected or error value
      (class template)[edit]
      move-only wrapper of any callable object that supports qualifiers in a given call signature
      (class template)[edit]
      (C++17)
      a wrapper that may or may not hold an object
      (class template)[edit]
      (C++17)
      a type-safe discriminated union
      (class template)[edit]

      [edit]See also

      indicates that elements of a range are sorted and unique
      (tag)[edit]
      indicates that elements of a range are sorted (uniqueness is not required)
      (tag)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/utility/in_place&oldid=176413"

      [8]ページ先頭

      ©2009-2025 Movatter.jp