1#ifndef MSTL_CORE_ITERATOR_INSERT_ITERATOR_HPP__
2#define MSTL_CORE_ITERATOR_INSERT_ITERATOR_HPP__
27template <
typename Container>
53 container->push_back(value);
80template <
typename Container>
94template <
typename Container>
104 Container* container;
120 container->push_front(value);
130 container->push_front(
_MSTL move(value));
147template <
typename Container>
161template <
typename Container>
171 Container* container;
172 typename Container::iterator iter;
189 iter = container->insert(iter, value);
200 iter = container->insert(iter,
_MSTL move(value));
219template <
typename Container>
constexpr back_insert_iterator & operator=(const typename Container::value_type &value)
赋值操作符,插入元素到容器尾部
output_iterator_tag iterator_category
迭代器类别
MSTL_CONSTEXPR20 ~back_insert_iterator() noexcept=default
析构函数
constexpr back_insert_iterator & operator++() noexcept
前置自增操作符
constexpr back_insert_iterator(Container &x) noexcept
构造函数
output_iterator_tag iterator_category
迭代器类别
constexpr front_insert_iterator(Container &x) noexcept
构造函数
constexpr front_insert_iterator & operator=(const typename Container::value_type &value)
赋值操作符,插入元素到容器头部
constexpr front_insert_iterator & operator++() noexcept
前置自增操作符
MSTL_CONSTEXPR20 ~front_insert_iterator() noexcept=default
析构函数
constexpr insert_iterator & operator=(const typename Container::value_type &value)
赋值操作符,在指定位置插入元素
constexpr insert_iterator(Container &x, typename Container::iterator it) noexcept
构造函数
output_iterator_tag iterator_category
迭代器类别
constexpr insert_iterator & operator++() noexcept
前置自增操作符
MSTL_CONSTEXPR20 ~insert_iterator() noexcept=default
析构函数
MSTL_NODISCARD constexpr T * addressof(T &x) noexcept
获取对象的地址
MSTL_NODISCARD constexpr insert_iterator< Container > make_inserter(Container &x, typename Container::iterator it) noexcept
创建insert_iterator的辅助函数
MSTL_NODISCARD constexpr front_insert_iterator< Container > make_front_inserter(Container &x) noexcept
创建front_insert_iterator的辅助函数
MSTL_NODISCARD constexpr back_insert_iterator< Container > make_back_inserter(Container &x) noexcept
创建back_insert_iterator的辅助函数
#define _MSTL
全局命名空间MSTL前缀
#define MSTL_END_NAMESPACE__
结束全局命名空间MSTL
#define MSTL_BEGIN_NAMESPACE__
开始全局命名空间MSTL
constexpr Iterator2 move(Iterator1 first, Iterator1 last, Iterator2 result)
移动范围元素