FreeBSD Manual Pages
std::incrementable_traits(3) C++ Standard Libary std::incrementable_traits(3) NAME std::incrementable_traits - std::incrementable_traits Synopsis Defined in header <iterator> template< class I, class S > struct incrementable_traits<std::common_iterator<I, S>> { (since C++20) using difference_type = std::iter_difference_t<I>; }; Provides the uniform interface to the associated difference type of the std::common_iterator type. Example // Run this code #include <list> #include <string> #include <cstddef> #include <iterator> #include <type_traits> int main() { using CI = std::common_iterator< std::counted_iterator<int*>, std::default_sentinel_t >; using CL = std::common_iterator< std::counted_iterator<std::list<std::string>::it- erator>, std::default_sentinel_t >; CL cl { std::default_sentinel }; static_assert( std::same_as<std::incrementable_traits<CI>::difference_type, std::ptrdiff_t> && std::same_as<std::incrementable_traits<CL>::difference_type, std::ptrdiff_t> && std::same_as<std::incrementable_traits<decltype(cl)>::differ- ence_type, std::ptrdiff_t> ); } See also incrementable_traits computes the difference type of a (C++20) weakly_incrementable type (class template) iter_value_t iter_reference_t iter_const_reference_t iter_difference_t iter_rvalue_reference_t computes the associated types of an iter_common_reference_t iterator (C++20) (alias template) (C++20) (C++23) (C++20) (C++20) (C++20) provides uniform inter- face to the std::iterator_traits<std::common_iterator> properties of the std::common_iterator (C++20) type (class template special- ization) http://cppreference.com 2022.07.31 std::incrementable_traits(3)
NAME | Synopsis | Example | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::incrementable_traits&sektion=3&manpath=FreeBSD+Ports+15.0>
