1#ifndef MSL_ALGORITHM_H_
2#define MSL_ALGORITHM_H_
8template <
class ForwardIterator,
class T>
9ForwardIterator
lower_bound(ForwardIterator first, ForwardIterator last,
const T& val) {
14 ForwardIterator
i = first;
15 difference_type step = len / 2;
9ForwardIterator
lower_bound(ForwardIterator first, ForwardIterator last,
const T& val) {
…}
29template <
class ForwardIterator,
class T>
30ForwardIterator
upper_bound(ForwardIterator first, ForwardIterator last,
const T& val);
32template<
class InputIt,
class UnaryPredicate>
33InputIt
find_if(InputIt first, InputIt last, UnaryPredicate
p);
61template<
class ForwardIt,
class T>
62inline void fill(ForwardIt first, ForwardIt last,
const T& value) {
63 for (; first != last; ++first){
62inline void fill(ForwardIt first, ForwardIt last,
const T& value) {
…}
68template<
class InputIt,
class OutputIt>
69inline OutputIt
copy(InputIt first, InputIt last,
71 for (; first < last; ++first, ++d_first) {
69inline OutputIt
copy(InputIt first, InputIt last, {
…}
77template <
class B
idirectionalIterator1,
class B
idirectionalIterator2>
78inline BidirectionalIterator2
copy_backward(BidirectionalIterator1 first, BidirectionalIterator1 last, BidirectionalIterator2 result) {
78inline BidirectionalIterator2
copy_backward(BidirectionalIterator1 first, BidirectionalIterator1 last, BidirectionalIterator2 result) {
…}
84template <
class T,
bool A>
101 size_t n =
static_cast<size_t>(last - first);
103 memmove(result, first,
n*
sizeof(T));
int i
Definition e_pow.c:165
Definition d_a_e_wb.cpp:12
iterator_traits< InputIterator >::difference_type distance(InputIterator first, InputIterator last)
Definition iterator.h:80
OutputIt copy(InputIt first, InputIt last, OutputIt d_first)
Definition algorithm.h:69
void advance(InputIterator &i, Distance n)
Definition iterator.h:51
BidirectionalIterator2 copy_backward(BidirectionalIterator1 first, BidirectionalIterator1 last, BidirectionalIterator2 result)
Definition algorithm.h:78
void fill(ForwardIt first, ForwardIt last, const T &value)
Definition algorithm.h:62
void * memmove(void *dst, const void *src, size_t n)
Definition mem.c:4
static T * copy_backward(T *first, T *last, T *result)
Definition algorithm.h:98
Definition algorithm.h:86
static T * copy_backward(T *first, T *last, T *result)
Definition algorithm.h:87
Iterator::difference_type difference_type
Definition iterator.h:13