A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://en.cppreference.com/w/cpp/language/../algorithm/../header/../iterator/permutable.html below:

std::permutable - cppreference.com

C++ Compiler support Freestanding and hosted Language Standard library Standard library headers Named requirements Feature test macros (C++20) Language support library Concepts library (C++20) Diagnostics library Memory management library Metaprogramming library (C++11) General utilities library Containers library Iterators library Ranges library (C++20) Algorithms library Strings library Text processing library Numerics library Date and time library Input/output library Filesystem library (C++17) Concurrency support library (C++11) Execution control library (C++26) Technical specifications Symbols index External libraries [edit] Iterator library Iterator concepts indirectly_readable

(C++20)

indirectly_writable

(C++20)

weakly_incrementable

(C++20)

incrementable

(C++20)

is-integer-like
is-signed-integer-like

(C++20)(C++20)

sentinel_for

(C++20)

sized_sentinel_for

(C++20)

input_iterator

(C++20)

output_iterator

(C++20)

input_or_output_iterator

(C++20)


forward_iterator

(C++20)

bidirectional_iterator

(C++20)

random_access_iterator

(C++20)

contiguous_iterator

(C++20)



Iterator primitives input_iterator_tagoutput_iterator_tagforward_iterator_tagbidirectional_iterator_tagrandom_access_iterator_tagcontiguous_iterator_tag

(C++20)

iter_value_titer_difference_titer_reference_titer_const_reference_titer_rvalue_reference_titer_common_reference_t

(C++20)(C++20)(C++20)(C++23)(C++20)(C++20)

iterator

(deprecated in C++17)

iterator_traits incrementable_traits

(C++20)

indirectly_readable_traits

(C++20)



Algorithm concepts and utilities Indirect callable concepts indirectly_unary_invocableindirectly_regular_unary_invocable

(C++20)(C++20)  

indirect_unary_predicate

(C++20)

indirect_binary_predicate

(C++20)

indirect_equivalence_relation

(C++20)

indirect_strict_weak_order

(C++20)

Common algorithm requirements indirectly_movable

(C++20)

indirectly_movable_storable

(C++20)

indirectly_copyable

(C++20)

indirectly_copyable_storable

(C++20)  

indirectly_swappable

(C++20)

indirectly_comparable

(C++20)

permutable

(C++20)

mergeable

(C++20)

sortable

(C++20)

Utilities indirect_result_t

(C++20)

projected

(C++20)

projected_value_t

(C++26)

Iterator adaptors reverse_iterator make_reverse_iterator

(C++14)

move_iterator

(C++11)

make_move_iterator

(C++11)

default_sentinel_tdefault_sentinel

(C++20)(C++20)

unreachable_sentinel_tunreachable_sentinel

(C++20)(C++20)

front_insert_iterator back_insert_iterator inserter insert_iterator front_inserter back_inserter move_sentinel

(C++20)


common_iterator

(C++20)

counted_iterator

(C++20)

basic_const_iterator

(C++23)

const_iterator

(C++23)

const_sentinel

(C++23)

make_const_iterator

(C++23)

make_const_sentinel

(C++23)


Stream iterators istream_iterator ostream_iterator istreambuf_iterator ostreambuf_iterator Iterator customization points ranges::iter_move

(C++20)

ranges::iter_swap

(C++20)

Iterator operations advance distance prev

(C++11)  

next

(C++11)

ranges::advance

(C++20)

ranges::distance

(C++20)

ranges::prev

(C++20)

ranges::next

(C++20)

Range access begincbegin

(C++11)(C++14)

rbegincrbegin

(C++14)(C++14)  

endcend

(C++11)(C++14)

rendcrend

(C++14)(C++14)  

sizessize

(C++17)(C++20)

empty

(C++17)

data

(C++17)

[edit]

Defined in header

<iterator> template< class I >

concept permutable =
    std::forward_iterator<I> &&
    std::indirectly_movable_storable<I, I> &&

    std::indirectly_swappable<I, I>;
(since C++20)

The concept permutable refines std::forward_iterator by adding requirements for reordering through moves and swaps.

[edit] Semantic requirements

I models permutable only if all concepts it subsumes are modeled.

[edit] See also sortable

(C++20)

specifies the common requirements of algorithms that permute sequences into ordered sequences
(concept) [edit] ranges::removeranges::remove_if

(C++20)(C++20)

removes elements satisfying specific criteria
(algorithm function object)[edit] ranges::unique

(C++20)

removes consecutive duplicate elements in a range
(algorithm function object)[edit] ranges::reverse

(C++20)

reverses the order of elements in a range
(algorithm function object)[edit] ranges::rotate

(C++20)

rotates the order of elements in a range
(algorithm function object)[edit] ranges::shuffle

(C++20)

randomly re-orders elements in a range
(algorithm function object)[edit] ranges::partition

(C++20)

divides a range of elements into two groups
(algorithm function object)[edit] ranges::stable_partition

(C++20)

divides elements into two groups while preserving their relative order
(algorithm function object)[edit]

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4