xcal
基于 C++23 的现代图形渲染引擎
|
#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 |
using xcmath::tvector< Ts >::at = std::tuple_element_t<I, std::tuple<Ts...> > |
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 |
using xcmath::tvector< Ts >::pop_back = std::remove_pointer<decltype([]<size_t... I>( std::index_sequence<I...>) { return (tvector<at<I>...> *)nullptr |
using xcmath::tvector< Ts >::pop_front = std::remove_pointer<decltype([]<size_t... I>( std::index_sequence<I...>) { return (tvector<at<I + 1>...> *)nullptr |
using xcmath::tvector< Ts >::push_back = tvector<Ts..., T...> |
using xcmath::tvector< Ts >::push_front = tvector<T..., Ts...> |
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 |
using xcmath::tvector< Ts >::remove_all = typename remove_all_helper<T...>::Type |
using xcmath::tvector< Ts >::remove_all_from_list = std::remove_pointer<decltype([]<class... _Rt>(tvector<_Rt...> *) { return (remove_all<_Rt...> *)nullptr |
using xcmath::tvector< Ts >::slice = std::remove_pointer<decltype([]<size_t... I>( std::index_sequence<I...>) { return (tvector<at<Start + I>...> *)nullptr |
using xcmath::tvector< Ts >::subsequence = tvector<at<T>...> |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |