xcal
基于 C++23 的现代图形渲染引擎
载入中...
搜索中...
未找到
| Public 类型 | 静态 Public 属性 | 所有成员列表
xcmath::tvector< Ts > 模板结构体 参考

#include <types.hpp>

Public 类型

template<size_t I>
using at = std::tuple_element_t< I, std::tuple< Ts... > >
 
template<typename... T>
using push_back = tvector< Ts..., T... >
 
template<typename... T>
using push_front = tvector< T..., Ts... >
 
using pop_front = std::remove_pointer< decltype([]< size_t... I >(std::index_sequence< I... >) { return(tvector< at< I+1 >... > *) nullptr
 
using pop_back = std::remove_pointer< decltype([]< size_t... I >(std::index_sequence< I... >) { return(tvector< at< I >... > *) nullptr
 
template<TVector T>
using concat = std::remove_pointer< decltype([]< size_t... I >(std::index_sequence< I... >) { return(tvector< Ts..., typename T::template at< I >... > *) nullptr
 
template<size_t T>
using remove = std::remove_pointer< decltype([]< size_t... I, size_t... J >(std::index_sequence< I... >, std::index_sequence< J... >) { return(tvector< at< I >..., at< J+T+1 >... > *) nullptr
 
template<typename... T>
using remove_all = typename remove_all_helper< T... >::Type
 
template<TVector T>
using remove_all_from_list = std::remove_pointer< decltype([]< class... _Rt >(tvector< _Rt... > *) { return(remove_all< _Rt... > *) nullptr
 
template<size_t... T>
using subsequence = tvector< at< T >... >
 
template<size_t Start, size_t End>
using slice = std::remove_pointer< decltype([]< size_t... I >(std::index_sequence< I... >) { return(tvector< at< Start+I >... > *) nullptr
 

静态 Public 属性

template<typename T >
static constexpr bool has = false || (std::is_same_v<T, Ts> || ...)
 
static constexpr size_t size = sizeof...(Ts)
 
template<class T >
static constexpr size_t find
 

详细描述

template<typename... Ts>
struct xcmath::tvector< Ts >

在文件 types.hpp15 行定义.

成员类型定义说明

◆ at

template<typename... Ts>
template<size_t I>
using xcmath::tvector< Ts >::at = std::tuple_element_t<I, std::tuple<Ts...> >

在文件 types.hpp20 行定义.

◆ concat

template<typename... Ts>
template<TVector T>
using xcmath::tvector< Ts >::concat = std::remove_pointer<decltype([]<size_t... I>( std::index_sequence<I...>) { return (tvector<Ts..., typename T::template at<I>...> *)nullptr

在文件 types.hpp36 行定义.

◆ pop_back

template<typename... Ts>
using xcmath::tvector< Ts >::pop_back = std::remove_pointer<decltype([]<size_t... I>( std::index_sequence<I...>) { return (tvector<at<I>...> *)nullptr

在文件 types.hpp30 行定义.

◆ pop_front

template<typename... Ts>
using xcmath::tvector< Ts >::pop_front = std::remove_pointer<decltype([]<size_t... I>( std::index_sequence<I...>) { return (tvector<at<I + 1>...> *)nullptr

在文件 types.hpp25 行定义.

◆ push_back

template<typename... Ts>
template<typename... T>
using xcmath::tvector< Ts >::push_back = tvector<Ts..., T...>

在文件 types.hpp22 行定义.

◆ push_front

template<typename... Ts>
template<typename... T>
using xcmath::tvector< Ts >::push_front = tvector<T..., Ts...>

在文件 types.hpp24 行定义.

◆ remove

template<typename... Ts>
template<size_t T>
using xcmath::tvector< Ts >::remove = std::remove_pointer< decltype([]<size_t... I, size_t... J>(std::index_sequence<I...>, std::index_sequence<J...>) { return (tvector<at<I>..., at<J + T + 1>...> *)nullptr

在文件 types.hpp66 行定义.

◆ remove_all

template<typename... Ts>
template<typename... T>
using xcmath::tvector< Ts >::remove_all = typename remove_all_helper<T...>::Type

在文件 types.hpp73 行定义.

◆ remove_all_from_list

template<typename... Ts>
template<TVector T>
using xcmath::tvector< Ts >::remove_all_from_list = std::remove_pointer<decltype([]<class... _Rt>(tvector<_Rt...> *) { return (remove_all<_Rt...> *)nullptr

在文件 types.hpp75 行定义.

◆ slice

template<typename... Ts>
template<size_t Start, size_t End>
using xcmath::tvector< Ts >::slice = std::remove_pointer<decltype([]<size_t... I>( std::index_sequence<I...>) { return (tvector<at<Start + I>...> *)nullptr

在文件 types.hpp94 行定义.

◆ subsequence

template<typename... Ts>
template<size_t... T>
using xcmath::tvector< Ts >::subsequence = tvector<at<T>...>

在文件 types.hpp92 行定义.

类成员变量说明

◆ find

template<typename... Ts>
template<class T >
constexpr size_t xcmath::tvector< Ts >::find
staticconstexpr
初始值:
=
[]<size_t I, class _T, class... _Ts>(this auto &&self) {
if constexpr (std::is_same_v<T, _T>) {
return I;
}
if constexpr (sizeof...(_Ts) == 0) {
return I + 1;
} else {
return self.template operator()<I + 1, _Ts...>();
}
}.template operator()<0, Ts...>()

在文件 types.hpp80 行定义.

◆ has

template<typename... Ts>
template<typename T >
constexpr bool xcmath::tvector< Ts >::has = false || (std::is_same_v<T, Ts> || ...)
staticconstexpr

在文件 types.hpp17 行定义.

◆ size

template<typename... Ts>
constexpr size_t xcmath::tvector< Ts >::size = sizeof...(Ts)
staticconstexpr

在文件 types.hpp18 行定义.


该结构体的文档由以下文件生成: