17#define ALGORITHM(NAME) \
19 template <class... Args> \
20 decltype(std::NAME(std::declval<Args>()...)) \
21 operator()(Args &&...args) const { \
22 return std::NAME(std::forward<Args>(args)...); \
25 static constexpr NAME##_t NAME;
56#if __cplusplus >= 201703L
107#if __cplusplus < 201703L
113#if __cplusplus >= 201703L
116#if __cplusplus >= 202002L
163#if __cplusplus >= 201703L
#define ALGORITHM(NAME)
Definition algorithm.h:17
std::vector< typename C::value_type > sample(const C &c, size_t size, bool replace=false, std::mt19937 &gen=thread_rng())
从容器中随机抽取指定数量的元素(有放回或无放回)。
Definition random.h:421
Definition algorithm.h:27
static constexpr accumulate_t accumulate
Definition algorithm.h:159
static constexpr stable_partition_t stable_partition
Definition algorithm.h:111
static constexpr copy_t copy
Definition algorithm.h:65
static constexpr includes_t includes
Definition algorithm.h:143
static constexpr min_element_t min_element
Definition algorithm.h:34
static constexpr sort_t sort
Definition algorithm.h:125
static constexpr set_intersection_t set_intersection
Definition algorithm.h:149
static constexpr partial_sum_t partial_sum
Definition algorithm.h:162
static constexpr push_heap_t push_heap
Definition algorithm.h:134
static constexpr search_t search
Definition algorithm.h:41
static constexpr find_end_t find_end
Definition algorithm.h:42
static constexpr rotate_t rotate
Definition algorithm.h:102
static constexpr set_symmetric_difference_t set_symmetric_difference
Definition algorithm.h:151
static constexpr inner_product_t inner_product
Definition algorithm.h:160
static constexpr is_sorted_until_t is_sorted_until
Definition algorithm.h:50
static constexpr inplace_merge_t inplace_merge
Definition algorithm.h:152
static constexpr is_permutation_t is_permutation
Definition algorithm.h:46
static constexpr sort_heap_t sort_heap
Definition algorithm.h:136
static constexpr merge_t merge
Definition algorithm.h:72
static constexpr shuffle_t shuffle
Definition algorithm.h:106
static constexpr partial_sort_t partial_sort
Definition algorithm.h:127
static constexpr set_union_t set_union
Definition algorithm.h:148
static constexpr partition_copy_t partition_copy
Definition algorithm.h:112
static constexpr random_shuffle_t random_shuffle
Definition algorithm.h:108
static constexpr minmax_element_t minmax_element
Definition algorithm.h:36
static constexpr next_permutation_t next_permutation
Definition algorithm.h:104
static constexpr search_n_t search_n
Definition algorithm.h:40
static constexpr is_sorted_t is_sorted
Definition algorithm.h:49
static constexpr remove_if_t remove_if
Definition algorithm.h:90
static constexpr find_first_of_t find_first_of
Definition algorithm.h:43
static constexpr binary_search_t binary_search
Definition algorithm.h:142
static constexpr unique_t unique
Definition algorithm.h:93
static constexpr remove_copy_if_t remove_copy_if
Definition algorithm.h:92
static constexpr prev_permutation_t prev_permutation
Definition algorithm.h:105
static constexpr none_of_t none_of
Definition algorithm.h:55
static constexpr move_t move
Definition algorithm.h:69
static constexpr replace_copy_if_t replace_copy_if
Definition algorithm.h:82
static constexpr partial_sort_copy_t partial_sort_copy
Definition algorithm.h:128
static constexpr move_backward_t move_backward
Definition algorithm.h:70
static constexpr replace_if_t replace_if
Definition algorithm.h:80
static constexpr lexicographical_compare_t lexicographical_compare
Definition algorithm.h:48
static constexpr unique_copy_t unique_copy
Definition algorithm.h:94
static constexpr mismatch_t mismatch
Definition algorithm.h:47
static constexpr is_partitioned_t is_partitioned
Definition algorithm.h:51
static constexpr copy_n_t copy_n
Definition algorithm.h:67
static constexpr for_each_t for_each
Definition algorithm.h:31
static constexpr adjacent_find_t adjacent_find
Definition algorithm.h:44
static constexpr adjacent_difference_t adjacent_difference
Definition algorithm.h:161
static constexpr reverse_t reverse
Definition algorithm.h:100
static constexpr transform_t transform
Definition algorithm.h:71
static constexpr find_if_t find_if
Definition algorithm.h:38
static constexpr all_of_t all_of
Definition algorithm.h:53
static constexpr find_t find
Definition algorithm.h:37
static constexpr partition_t partition
Definition algorithm.h:110
static constexpr make_heap_t make_heap
Definition algorithm.h:133
static constexpr lower_bound_t lower_bound
Definition algorithm.h:144
static constexpr set_difference_t set_difference
Definition algorithm.h:150
static constexpr fill_t fill
Definition algorithm.h:74
static constexpr replace_copy_t replace_copy
Definition algorithm.h:81
static constexpr copy_backward_t copy_backward
Definition algorithm.h:68
static constexpr pop_heap_t pop_heap
Definition algorithm.h:135
static constexpr count_t count
Definition algorithm.h:32
static constexpr nth_element_t nth_element
Definition algorithm.h:129
static constexpr fill_n_t fill_n
Definition algorithm.h:75
static constexpr copy_if_t copy_if
Definition algorithm.h:66
static constexpr rotate_copy_t rotate_copy
Definition algorithm.h:103
static constexpr swap_ranges_t swap_ranges
Definition algorithm.h:73
static constexpr partition_point_t partition_point
Definition algorithm.h:52
static constexpr generate_t generate
Definition algorithm.h:76
static constexpr remove_t remove
Definition algorithm.h:89
static constexpr upper_bound_t upper_bound
Definition algorithm.h:145
static constexpr iota_t iota
Definition algorithm.h:78
static constexpr find_if_not_t find_if_not
Definition algorithm.h:39
static constexpr replace_t replace
Definition algorithm.h:79
static constexpr count_if_t count_if
Definition algorithm.h:33
static constexpr reverse_copy_t reverse_copy
Definition algorithm.h:101
static constexpr equal_range_t equal_range
Definition algorithm.h:146
static constexpr remove_copy_t remove_copy
Definition algorithm.h:91
static constexpr equal_t equal
Definition algorithm.h:45
static constexpr max_element_t max_element
Definition algorithm.h:35
static constexpr generate_n_t generate_n
Definition algorithm.h:77
static constexpr any_of_t any_of
Definition algorithm.h:54
static constexpr stable_sort_t stable_sort
Definition algorithm.h:126