實驗性庫標頭檔案 <experimental/ranges/utility>
來自 cppreference.com
此標頭檔案是 ranges 庫的一部分。
目錄 |
[編輯] 工具元件
定義於名稱空間
std::experimental::ranges | |
交換兩個物件的值 (定製點物件) | |
用新值替換引數並返回其舊值 (函式模板) |
[編輯] 標籤概念
定義於名稱空間
std::experimental::ranges | |
指定型別是標籤指定符 (概念) | |
指定型別表示標籤指定符及其元素型別 (概念) |
[編輯] 帶標籤的對
定義於名稱空間
std::experimental::ranges | |
使用命名訪問器增強類元組型別 (類模板) | |
帶標籤的 std::pair 的別名模板 (別名模板) | |
用於建立 tagged_pair 的便捷函式(函式模板) |
[編輯] 概要
namespace std { namespace experimental { namespace ranges { inline namespace v1 { namespace { constexpr /* unspecified */ swap = /* unspecified */; } template<MoveConstructible T, class U = T> requires Assignable<T&, U> constexpr T exchange(T& obj, U&& new_val) noexcept(/* see definition */); template <class T> concept bool TagSpecifier = /* see definition */; template <class F> concept bool TaggedType = /* see definition */; template <class Base, TagSpecifier... Tags> requires sizeof...(Tags) <= std::tuple_size<Base>::value struct tagged; template <TaggedType T1, TaggedType T2> using tagged_pair = /* see definition */; template <TagSpecifier Tag1, TagSpecifier Tag2, class T1, class T2> constexpr /* see definition */ make_tagged_pair(T1&& x, T2&& y); }}}} namespace std { template <class Base, class... Tags> struct tuple_size<experimental::ranges::tagged<Base, Tags...>>; template <size_t N, class Base, class... Tags> struct tuple_element<N, experimental::ranges::tagged<Base, Tags...>>; }