20 Memory management library [mem]

20.3 Pointer tagging [ptrtag]

20.3.2 Class template pointer_tag_pair [ptrtag.pair]

20.3.2.8 Tuple interface [ptrtag.pair.get]

template<class Ptr, unsigned BitsRequested, class TagT> constexpr tuple_element_t<I, pointer_tag_pair<Ptr, BitsRequested, TagT>> get(pointer_tag_pair<Ptr, BitsRequested, TagT> p) noexcept;
Mandates: I < 2.
Returns:
  • p.pointer() if I is equal to zero,
  • p.tag() otherwise.