|
| template<typename Container> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr decltype(auto) | begin (Container &cont) noexcept(noexcept(cont.begin())) |
| | 获取容器的起始迭代器
|
| template<typename Container> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr decltype(auto) | end (Container &cont) noexcept(noexcept(cont.end())) |
| | 获取容器的结束迭代器
|
| template<typename Container> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr decltype(auto) | begin (const Container &cont) noexcept(noexcept(cont.begin())) |
| | 获取const容器的起始迭代器
|
| template<typename Container> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr decltype(auto) | end (const Container &cont) noexcept(noexcept(cont.end())) |
| | 获取const容器的结束迭代器
|
| template<typename T, size_t Size> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr T * | begin (T(&arr)[Size]) noexcept |
| | 获取数组的起始指针
|
| template<typename T, size_t Size> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr T * | end (T(&arr)[Size]) noexcept |
| | 获取数组的结束指针
|
| template<typename Container> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr decltype(auto) | cbegin (const Container &cont) noexcept(noexcept(cont.cbegin())) |
| | 获取const容器的const起始迭代器
|
| template<typename Container> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr decltype(auto) | cend (const Container &cont) noexcept(noexcept(cont.cend())) |
| | 获取const容器的const结束迭代器
|
| template<typename T, size_t Size> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr const T * | cbegin (T(&arr)[Size]) noexcept |
| | 获取const数组的const起始指针
|
| template<typename T, size_t Size> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr const T * | cend (T(&arr)[Size]) noexcept |
| | 获取const数组的const结束指针
|
| template<typename Container> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr decltype(auto) | rbegin (Container &cont) noexcept(noexcept(cont.rbegin())) |
| | 获取容器的反向起始迭代器
|
| template<typename Container> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr decltype(auto) | rend (Container &cont) noexcept(noexcept(cont.rend())) |
| | 获取const容器的反向起始迭代器
|
| template<typename Container> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr decltype(auto) | rbegin (const Container &cont) noexcept(noexcept(cont.rbegin())) |
| | 获取容器的反向结束迭代器
|
| template<typename Container> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr decltype(auto) | rend (const Container &cont) noexcept(noexcept(cont.rend())) |
| | 获取const容器的反向结束迭代器
|
| template<typename T, size_t Size> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr reverse_iterator< T * > | rbegin (T(&arr)[Size]) noexcept |
| | 获取数组的反向起始迭代器
|
| template<typename T, size_t Size> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr reverse_iterator< T * > | rend (T(&arr)[Size]) noexcept |
| | 获取数组的反向结束迭代器
|
| template<typename T> |
| MSTL_NODISCARD constexpr reverse_iterator< const T * > | rbegin (std::initializer_list< T > lls) noexcept |
| | 获取初始化列表的反向起始迭代器
|
| template<typename T> |
| MSTL_NODISCARD constexpr reverse_iterator< const T * > | rend (std::initializer_list< T > lls) noexcept |
| | 获取初始化列表的反向结束迭代器
|
| template<typename Container> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr decltype(auto) | crbegin (const Container &cont) noexcept(noexcept(cont.crbegin())) |
| | 获取const容器的const反向起始迭代器
|
| template<typename Container> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr decltype(auto) | crend (const Container &cont) noexcept(noexcept(cont.crend())) |
| | 获取const容器的const反向结束迭代器
|
| template<typename T, size_t Size> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr reverse_iterator< const T * > | crbegin (T(&arr)[Size]) noexcept |
| | 获取const数组的const反向起始迭代器
|
| template<typename T, size_t Size> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr reverse_iterator< const T * > | crend (T(&arr)[Size]) noexcept |
| | 获取const数组的const反向结束迭代器
|
| template<typename Container> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr decltype(auto) | size (const Container &cont) noexcept(noexcept(cont.size())) |
| | 获取容器的大小
|
| template<typename T, size_t Size> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr size_t | size (T(&arr)[Size]) noexcept |
| | 获取数组的大小
|
| template<typename T> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr size_t | size (std::initializer_list< T > lls) noexcept |
| | 获取初始化列表的大小
|
| template<typename Container> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr decltype(auto) | ssize (const Container &cont) noexcept(noexcept(cont.size())) |
| | 获取容器的有符号大小
|
| template<typename T, size_t Size> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr ptrdiff_t | ssize (T(&arr)[Size]) noexcept |
| | 获取数组的有符号大小
|
| template<typename T> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr ptrdiff_t | ssize (std::initializer_list< T > lls) noexcept |
| | 获取初始化列表的有符号大小
|
| template<typename Container> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr bool | empty (const Container &cont) noexcept(noexcept(cont.empty())) |
| | 检查容器是否为空
|
| template<typename T> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr bool | empty (const T *ptr) noexcept |
| | 检查指针是否非空
|
| template<typename T> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr bool | empty (std::initializer_list< T > lls) noexcept |
| | 检查初始化列表是否为空
|
| template<typename Container> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr decltype(auto) | data (Container &cont) noexcept(noexcept(cont.data())) |
| | 获取容器的底层数据指针
|
| template<typename Container> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr decltype(auto) | data (const Container &cont) noexcept(noexcept(cont.data())) |
| | 获取const容器的const底层数据指针
|
| template<typename T, size_t Size> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr T * | data (T(&arr)[Size]) noexcept |
| | 获取数组的底层数据指针
|
| template<typename T> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr T * | data (T *ptr) noexcept |
| | 获取指针本身
|
| template<typename T> |
| MSTL_NODISCARD MSTL_ALWAYS_INLINE constexpr const T * | data (std::initializer_list< T > lls) noexcept |
| | 获取初始化列表的底层数据指针
|