NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
array< T, Size > 模板类 参考

固定大小数组容器 更多...

#include <array.hpp>

类 array< T, Size > 继承关系图:
[图例]

Public 类型

using iterator = array_iterator<false, Size, array>
 迭代器类型
using const_iterator = array_iterator<true, Size, array>
 常量迭代器类型
using reverse_iterator = _NEFORCE reverse_iterator<iterator>
 反向迭代器类型
using const_reverse_iterator = _NEFORCE reverse_iterator<const_iterator>
 常量反向迭代器类型

Public 成员函数

constexpr array (std::initializer_list< T > ilist) noexcept
 初始化列表构造函数
NEFORCE_NODISCARD constexpr iterator begin () noexcept
 获取起始迭代器
NEFORCE_NODISCARD constexpr iterator end () noexcept
 获取结束迭代器
NEFORCE_NODISCARD constexpr const_iterator begin () const noexcept
 获取常量起始迭代器
NEFORCE_NODISCARD constexpr const_iterator end () const noexcept
 获取常量结束迭代器
NEFORCE_NODISCARD constexpr reverse_iterator rbegin () noexcept
 获取反向起始迭代器
NEFORCE_NODISCARD constexpr reverse_iterator rend () noexcept
 获取反向结束迭代器
NEFORCE_NODISCARD constexpr const_reverse_iterator rbegin () const noexcept
 获取常量反向起始迭代器
NEFORCE_NODISCARD constexpr const_reverse_iterator rend () const noexcept
 获取常量反向结束迭代器
NEFORCE_NODISCARD constexpr const_iterator cbegin () const noexcept
 获取常量起始迭代器
NEFORCE_NODISCARD constexpr const_iterator cend () const noexcept
 获取常量结束迭代器
NEFORCE_NODISCARD constexpr const_reverse_iterator crbegin () const noexcept
 获取常量反向起始迭代器
NEFORCE_NODISCARD constexpr const_reverse_iterator crend () const noexcept
 获取常量反向结束迭代器
NEFORCE_NODISCARD NEFORCE_CONST_FUNCTION NEFORCE_ALWAYS_INLINE constexpr size_type size () const noexcept
 获取数组大小
NEFORCE_NODISCARD NEFORCE_CONST_FUNCTION NEFORCE_ALWAYS_INLINE constexpr size_type max_size () const noexcept
 获取最大大小
NEFORCE_NODISCARD NEFORCE_CONST_FUNCTION NEFORCE_ALWAYS_INLINE constexpr bool empty () const noexcept
 检查数组是否为空
NEFORCE_NODISCARD constexpr reference at (size_type position) noexcept
 索引位置元素访问
NEFORCE_NODISCARD constexpr const_reference at (size_type position) const noexcept
 索引位置元素常量访问
NEFORCE_NODISCARD constexpr reference operator[] (size_type position) noexcept
 下标访问操作符
NEFORCE_NODISCARD constexpr const_reference operator[] (size_type position) const noexcept
 常量下标访问操作符
NEFORCE_NODISCARD NEFORCE_ALWAYS_INLINE constexpr reference front () noexcept
 访问第一个元素
NEFORCE_NODISCARD NEFORCE_ALWAYS_INLINE constexpr const_reference front () const noexcept
 访问第一个常量元素
NEFORCE_NODISCARD NEFORCE_ALWAYS_INLINE constexpr reference back () noexcept
 访问最后一个元素
NEFORCE_NODISCARD NEFORCE_ALWAYS_INLINE constexpr const_reference back () const noexcept
 访问最后一个常量元素
NEFORCE_NODISCARD NEFORCE_CONST_FUNCTION NEFORCE_ALWAYS_INLINE constexpr T * data () noexcept
 获取底层数据指针
NEFORCE_NODISCARD NEFORCE_CONST_FUNCTION NEFORCE_ALWAYS_INLINE constexpr const T * data () const noexcept
 获取常量底层数据指针
constexpr void fill (const T &value)
 填充数组
constexpr void swap (array &other) noexcept(is_nothrow_swappable_v< T >)
 交换两个数组
NEFORCE_NODISCARD constexpr bool operator== (const array &rhs) const noexcept
 相等比较操作符
NEFORCE_NODISCARD constexpr bool operator< (const array &rhs) const noexcept
 小于比较操作符
Public 成员函数 继承自 icollector< array< T, Size > >
NEFORCE_NODISCARD constexpr decltype(auto) size () const noexcept(noexcept(derived().size()))
 获取集合大小
NEFORCE_NODISCARD constexpr bool empty () const noexcept(noexcept(derived().empty()))
 检查集合是否为空
Public 成员函数 继承自 icomparable< T >
NEFORCE_NODISCARD constexpr bool operator== (const T &rhs) const noexcept(noexcept(derived()==rhs))
 相等比较运算符
NEFORCE_NODISCARD constexpr bool operator!= (const T &rhs) const noexcept(noexcept(!(*this==rhs)))
 不等比较运算符
NEFORCE_NODISCARD constexpr bool operator< (const T &rhs) const noexcept(noexcept(derived()< rhs))
 小于比较运算符
NEFORCE_NODISCARD constexpr bool operator> (const T &rhs) const noexcept(noexcept(rhs< derived()))
 大于比较运算符
NEFORCE_NODISCARD constexpr bool operator<= (const T &rhs) const noexcept(noexcept(!(derived() > rhs)))
 小于等于比较运算符
NEFORCE_NODISCARD constexpr bool operator>= (const T &rhs) const noexcept(noexcept(!(derived()< rhs)))
 大于等于比较运算符

详细描述

template<typename T, size_t Size>
class array< T, Size >

固定大小数组容器

模板参数
T元素类型
Size数组大小

编译时固定大小的数组容器。

注解
大小在编译时确定,分配在栈上
支持结构化绑定和元组接口

在文件 array.hpp172 行定义.

构造及析构函数说明

◆ array()

template<typename T, size_t Size>
array< T, Size >::array ( std::initializer_list< T > ilist)
inlineconstexprnoexcept

初始化列表构造函数

参数
ilist初始化列表

在文件 array.hpp205 行定义.

成员函数说明

◆ at() [1/2]

template<typename T, size_t Size>
NEFORCE_NODISCARD constexpr const_reference array< T, Size >::at ( size_type position) const
inlineconstexprnoexcept

索引位置元素常量访问

参数
position索引位置
返回
索引位置元素的常量引用

在文件 array.hpp320 行定义.

◆ at() [2/2]

template<typename T, size_t Size>
NEFORCE_NODISCARD constexpr reference array< T, Size >::at ( size_type position)
inlineconstexprnoexcept

索引位置元素访问

参数
position索引位置
返回
索引位置元素的引用

在文件 array.hpp311 行定义.

◆ back() [1/2]

template<typename T, size_t Size>
NEFORCE_NODISCARD NEFORCE_ALWAYS_INLINE constexpr const_reference array< T, Size >::back ( ) const
inlineconstexprnoexcept

访问最后一个常量元素

返回
最后一个元素的常量引用

在文件 array.hpp362 行定义.

◆ back() [2/2]

template<typename T, size_t Size>
NEFORCE_NODISCARD NEFORCE_ALWAYS_INLINE constexpr reference array< T, Size >::back ( )
inlineconstexprnoexcept

访问最后一个元素

返回
最后一个元素的引用

在文件 array.hpp357 行定义.

◆ begin() [1/2]

template<typename T, size_t Size>
NEFORCE_NODISCARD constexpr const_iterator array< T, Size >::begin ( ) const
inlineconstexprnoexcept

获取常量起始迭代器

返回
指向第一个元素的常量迭代器

在文件 array.hpp226 行定义.

◆ begin() [2/2]

template<typename T, size_t Size>
NEFORCE_NODISCARD constexpr iterator array< T, Size >::begin ( )
inlineconstexprnoexcept

获取起始迭代器

返回
指向第一个元素的迭代器

在文件 array.hpp214 行定义.

被这些函数引用 array< byte_t, MAC_LEN >::rend() , 以及 array< byte_t, MAC_LEN >::rend().

◆ cbegin()

template<typename T, size_t Size>
NEFORCE_NODISCARD constexpr const_iterator array< T, Size >::cbegin ( ) const
inlineconstexprnoexcept

获取常量起始迭代器

返回
指向第一个元素的常量迭代器

在文件 array.hpp262 行定义.

被这些函数引用 array< byte_t, MAC_LEN >::crend(), array< byte_t, MAC_LEN >::operator<() , 以及 array< byte_t, MAC_LEN >::operator==().

◆ cend()

template<typename T, size_t Size>
NEFORCE_NODISCARD constexpr const_iterator array< T, Size >::cend ( ) const
inlineconstexprnoexcept

获取常量结束迭代器

返回
指向无效元素的常量迭代器

在文件 array.hpp268 行定义.

被这些函数引用 array< byte_t, MAC_LEN >::crbegin(), array< byte_t, MAC_LEN >::operator<() , 以及 array< byte_t, MAC_LEN >::operator==().

◆ crbegin()

template<typename T, size_t Size>
NEFORCE_NODISCARD constexpr const_reverse_iterator array< T, Size >::crbegin ( ) const
inlineconstexprnoexcept

获取常量反向起始迭代器

返回
指向无效元素的常量反向迭代器

在文件 array.hpp274 行定义.

◆ crend()

template<typename T, size_t Size>
NEFORCE_NODISCARD constexpr const_reverse_iterator array< T, Size >::crend ( ) const
inlineconstexprnoexcept

获取常量反向结束迭代器

返回
指向第一个元素的常量反向迭代器

在文件 array.hpp280 行定义.

◆ data() [1/2]

template<typename T, size_t Size>
NEFORCE_NODISCARD NEFORCE_CONST_FUNCTION NEFORCE_ALWAYS_INLINE constexpr const T * array< T, Size >::data ( ) const
inlineconstexprnoexcept

获取常量底层数据指针

返回
指向数组第一个元素的常量指针

在文件 array.hpp372 行定义.

◆ data() [2/2]

template<typename T, size_t Size>
NEFORCE_NODISCARD NEFORCE_CONST_FUNCTION NEFORCE_ALWAYS_INLINE constexpr T * array< T, Size >::data ( )
inlineconstexprnoexcept

获取底层数据指针

返回
指向数组第一个元素的指针

在文件 array.hpp367 行定义.

◆ empty()

template<typename T, size_t Size>
NEFORCE_NODISCARD NEFORCE_CONST_FUNCTION NEFORCE_ALWAYS_INLINE constexpr bool array< T, Size >::empty ( ) const
inlineconstexprnoexcept

检查数组是否为空

返回
总是返回false

在文件 array.hpp302 行定义.

◆ end() [1/2]

template<typename T, size_t Size>
NEFORCE_NODISCARD constexpr const_iterator array< T, Size >::end ( ) const
inlineconstexprnoexcept

获取常量结束迭代器

返回
指向无效元素的常量迭代器

在文件 array.hpp232 行定义.

◆ end() [2/2]

template<typename T, size_t Size>
NEFORCE_NODISCARD constexpr iterator array< T, Size >::end ( )
inlineconstexprnoexcept

获取结束迭代器

返回
指向无效元素的迭代器

在文件 array.hpp220 行定义.

被这些函数引用 array< byte_t, MAC_LEN >::rbegin() , 以及 array< byte_t, MAC_LEN >::rbegin().

◆ fill()

template<typename T, size_t Size>
void array< T, Size >::fill ( const T & value)
inlineconstexpr

填充数组

参数
value填充的值

在文件 array.hpp380 行定义.

◆ front() [1/2]

template<typename T, size_t Size>
NEFORCE_NODISCARD NEFORCE_ALWAYS_INLINE constexpr const_reference array< T, Size >::front ( ) const
inlineconstexprnoexcept

访问第一个常量元素

返回
第一个元素的常量引用

在文件 array.hpp352 行定义.

◆ front() [2/2]

template<typename T, size_t Size>
NEFORCE_NODISCARD NEFORCE_ALWAYS_INLINE constexpr reference array< T, Size >::front ( )
inlineconstexprnoexcept

访问第一个元素

返回
第一个元素的引用

在文件 array.hpp347 行定义.

◆ max_size()

template<typename T, size_t Size>
NEFORCE_NODISCARD NEFORCE_CONST_FUNCTION NEFORCE_ALWAYS_INLINE constexpr size_type array< T, Size >::max_size ( ) const
inlineconstexprnoexcept

获取最大大小

返回
最大大小

在文件 array.hpp294 行定义.

◆ operator<()

template<typename T, size_t Size>
NEFORCE_NODISCARD constexpr bool array< T, Size >::operator< ( const array< T, Size > & rhs) const
inlineconstexprnoexcept

小于比较操作符

参数
rhs右侧数组
返回
按字典序比较结果

在文件 array.hpp401 行定义.

◆ operator==()

template<typename T, size_t Size>
NEFORCE_NODISCARD constexpr bool array< T, Size >::operator== ( const array< T, Size > & rhs) const
inlineconstexprnoexcept

相等比较操作符

参数
rhs右侧数组
返回
如果两个数组元素相等返回true

在文件 array.hpp393 行定义.

◆ operator[]() [1/2]

template<typename T, size_t Size>
NEFORCE_NODISCARD constexpr const_reference array< T, Size >::operator[] ( size_type position) const
inlineconstexprnoexcept

常量下标访问操作符

参数
position索引位置
返回
索引位置元素的常量引用

在文件 array.hpp338 行定义.

◆ operator[]() [2/2]

template<typename T, size_t Size>
NEFORCE_NODISCARD constexpr reference array< T, Size >::operator[] ( size_type position)
inlineconstexprnoexcept

下标访问操作符

参数
position索引位置
返回
索引位置元素的引用

在文件 array.hpp329 行定义.

◆ rbegin() [1/2]

template<typename T, size_t Size>
NEFORCE_NODISCARD constexpr const_reverse_iterator array< T, Size >::rbegin ( ) const
inlineconstexprnoexcept

获取常量反向起始迭代器

返回
指向无效元素的常量反向迭代器

在文件 array.hpp250 行定义.

◆ rbegin() [2/2]

template<typename T, size_t Size>
NEFORCE_NODISCARD constexpr reverse_iterator array< T, Size >::rbegin ( )
inlineconstexprnoexcept

获取反向起始迭代器

返回
指向无效元素的反向迭代器

在文件 array.hpp238 行定义.

◆ rend() [1/2]

template<typename T, size_t Size>
NEFORCE_NODISCARD constexpr const_reverse_iterator array< T, Size >::rend ( ) const
inlineconstexprnoexcept

获取常量反向结束迭代器

返回
指向第一个元素的常量反向迭代器

在文件 array.hpp256 行定义.

◆ rend() [2/2]

template<typename T, size_t Size>
NEFORCE_NODISCARD constexpr reverse_iterator array< T, Size >::rend ( )
inlineconstexprnoexcept

获取反向结束迭代器

返回
指向第一个元素的反向迭代器

在文件 array.hpp244 行定义.

◆ size()

template<typename T, size_t Size>
NEFORCE_NODISCARD NEFORCE_CONST_FUNCTION NEFORCE_ALWAYS_INLINE constexpr size_type array< T, Size >::size ( ) const
inlineconstexprnoexcept

获取数组大小

返回
数组大小

在文件 array.hpp286 行定义.

◆ swap()

template<typename T, size_t Size>
void array< T, Size >::swap ( array< T, Size > & other)
inlineconstexprnoexcept

交换两个数组

参数
other要交换的另一个数组

在文件 array.hpp386 行定义.

被这些函数引用 array< byte_t, MAC_LEN >::swap().


该类的文档由以下文件生成: