NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
type_erase.hpp 文件参考

类型擦除辅助函数 更多...

#include <initializer_list>
#include "NeForce/core/iterator/reverse_iterator.hpp"
type_erase.hpp 的引用(Include)关系图:

浏览该文件的源代码.

函数

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

详细描述

类型擦除辅助函数

此文件提供了类型擦除辅助函数实现, 用于统一访问不同容器的迭代器、大小、数据等接口。

在文件 type_erase.hpp 中定义.