ELC in dev
ELC-lang
载入中...
搜索中...
未找到
elc::defs::base::array_like_n::array_like_view_t< T > 模板结构体 参考
类 elc::defs::base::array_like_n::array_like_view_t< T > 继承关系图:
[图例]

struct  reverse_iterator
 

Public 类型

typedef T * iterator
 
typedef const T * const_iterator
 
typedef array_like_view_t< T > this_t
 

Public 成员函数

constexpr array_like_view_t (T *a, size_t b) noexcept
 
constexpr array_like_view_t (T *a, note::size_t b) noexcept
 
template<class U >
requires strict_is_array_like_for<T,U>
constexpr array_like_view_t (U &&a) noexcept(noexcept((begin_of_array_like< T >(a), size_of_array_like< T >(a))))
 
constexpr array_like_view_t (const this_t &) noexcept=default
 
void swap_with (this_t &b) noexcept(noexcept((swap(_begin, b._begin), swap(_size, b._size))))
 
constexpr const_iterator data () const noexcept
 
constexpr size_t size () const noexcept
 
constexpr iterator begin () noexcept
 
constexpr iterator end () noexcept
 
constexpr const_iterator begin () const noexcept
 
constexpr const_iterator end () const noexcept
 
constexpr const_iterator cbegin () const noexcept
 
constexpr const_iterator cend () const noexcept
 
constexpr reverse_iterator rbegin () noexcept
 
constexpr reverse_iterator rend () noexcept
 
constexpr T & front () noexcept
 
constexpr const T & front () const noexcept
 
constexpr T & back () noexcept
 
constexpr const T & back () const noexcept
 
constexpr bool empty () const noexcept
 
constexpr T & operator[] (size_t pos) noexcept
 
constexpr const T & operator[] (size_t pos) const noexcept
 
constexpr auto operator<=> (this_t a) const noexcept(compare.nothrow< T >)
 
constexpr auto operator== (this_t a) const noexcept(equal.nothrow< T >)
 
constexpr this_t subview (size_t pos, size_t end_pos) noexcept
 
constexpr this_t subview (size_t pos) noexcept
 
constexpr operator array_like_view_t< const T > () const noexcept
 

详细描述

template<class T>
struct elc::defs::base::array_like_n::array_like_view_t< T >

在文件 all_defs.cpp8986 行定义.

成员类型定义说明

◆ const_iterator

在文件 all_defs.cpp8988 行定义.

◆ iterator

在文件 all_defs.cpp8987 行定义.

◆ this_t

构造及析构函数说明

◆ array_like_view_t() [1/4]

template<class T >
constexpr elc::defs::base::array_like_n::array_like_view_t< T >::array_like_view_t ( T *  a,
size_t  b 
)
inlineexplicitconstexprnoexcept

在文件 all_defs.cpp9014 行定义.

9014:_begin(a),_size(b){}
constexpr T down_cast(U a) noexcept
向下转型至

◆ array_like_view_t() [2/4]

template<class T >
constexpr elc::defs::base::array_like_n::array_like_view_t< T >::array_like_view_t ( T *  a,
note::size_t  b 
)
inlineexplicitconstexprnoexcept

在文件 all_defs.cpp9015 行定义.

9015:array_like_view_t(a,b()){}
constexpr array_like_view_t(T *a, size_t b) noexcept

◆ array_like_view_t() [3/4]

template<class T >
template<class U >
requires strict_is_array_like_for<T,U>
constexpr elc::defs::base::array_like_n::array_like_view_t< T >::array_like_view_t ( U &&  a)
inlineexplicitconstexprnoexcept

在文件 all_defs.cpp9017 行定义.

函数调用图:

◆ array_like_view_t() [4/4]

template<class T >
constexpr elc::defs::base::array_like_n::array_like_view_t< T >::array_like_view_t ( const this_t )
constexprdefaultnoexcept

成员函数说明

◆ back() [1/2]

template<class T >
constexpr const T & elc::defs::base::array_like_n::array_like_view_t< T >::back ( ) const
inlineconstexprnoexcept

在文件 all_defs.cpp9042 行定义.

9042{return _begin[size()-1];}
constexpr size_t size() const noexcept

◆ back() [2/2]

template<class T >
constexpr T & elc::defs::base::array_like_n::array_like_view_t< T >::back ( )
inlineconstexprnoexcept

在文件 all_defs.cpp9041 行定义.

9041{return _begin[size()-1];}

◆ begin() [1/2]

template<class T >
constexpr const_iterator elc::defs::base::array_like_n::array_like_view_t< T >::begin ( ) const
inlineconstexprnoexcept

在文件 all_defs.cpp9030 行定义.

9030{return _begin;}

◆ begin() [2/2]

template<class T >
constexpr iterator elc::defs::base::array_like_n::array_like_view_t< T >::begin ( )
inlineconstexprnoexcept

在文件 all_defs.cpp9028 行定义.

9028{return _begin;}
这是这个函数的调用关系图:

◆ cbegin()

template<class T >
constexpr const_iterator elc::defs::base::array_like_n::array_like_view_t< T >::cbegin ( ) const
inlineconstexprnoexcept

在文件 all_defs.cpp9033 行定义.

9033{return remove_const(this)->begin();}
constexpr T & remove_const(const T &a) noexcept
对引用移除const
函数调用图:

◆ cend()

template<class T >
constexpr const_iterator elc::defs::base::array_like_n::array_like_view_t< T >::cend ( ) const
inlineconstexprnoexcept

在文件 all_defs.cpp9034 行定义.

9034{return remove_const(this)->end();}
函数调用图:

◆ data()

template<class T >
constexpr const_iterator elc::defs::base::array_like_n::array_like_view_t< T >::data ( ) const
inlineconstexprnoexcept

在文件 all_defs.cpp9025 行定义.

9025{return _begin;}
这是这个函数的调用关系图:

◆ empty()

template<class T >
constexpr bool elc::defs::base::array_like_n::array_like_view_t< T >::empty ( ) const
inlineconstexprnoexcept

在文件 all_defs.cpp9044 行定义.

9044{return!size();}

◆ end() [1/2]

template<class T >
constexpr const_iterator elc::defs::base::array_like_n::array_like_view_t< T >::end ( ) const
inlineconstexprnoexcept

在文件 all_defs.cpp9031 行定义.

9031{return begin()+size();}

◆ end() [2/2]

template<class T >
constexpr iterator elc::defs::base::array_like_n::array_like_view_t< T >::end ( )
inlineconstexprnoexcept

在文件 all_defs.cpp9029 行定义.

9029{return begin()+size();}
这是这个函数的调用关系图:

◆ front() [1/2]

template<class T >
constexpr const T & elc::defs::base::array_like_n::array_like_view_t< T >::front ( ) const
inlineconstexprnoexcept

在文件 all_defs.cpp9040 行定义.

9040{return _begin[0];}

◆ front() [2/2]

template<class T >
constexpr T & elc::defs::base::array_like_n::array_like_view_t< T >::front ( )
inlineconstexprnoexcept

在文件 all_defs.cpp9039 行定义.

9039{return _begin[0];}

◆ operator array_like_view_t< const T >()

template<class T >
constexpr elc::defs::base::array_like_n::array_like_view_t< T >::operator array_like_view_t< const T > ( ) const
inlineconstexprnoexcept

在文件 all_defs.cpp9065 行定义.

9065 {
9066 return array_like_view_t<const T>{_begin,_size};
9067 }

◆ operator<=>()

template<class T >
constexpr auto elc::defs::base::array_like_n::array_like_view_t< T >::operator<=> ( this_t  a) const
inlineconstexprnoexcept

在文件 all_defs.cpp9049 行定义.

9049 {
9050 return compare(_begin,_size,a._begin,a._size);
9051 }
constexpr struct elc::defs::base::compare_t compare

◆ operator==()

template<class T >
constexpr auto elc::defs::base::array_like_n::array_like_view_t< T >::operator== ( this_t  a) const
inlineconstexprnoexcept

在文件 all_defs.cpp9052 行定义.

9052 {
9053 return equal(_begin,_size,a._begin,a._size);
9054 }
constexpr struct elc::defs::base::equal_t equal

◆ operator[]() [1/2]

template<class T >
constexpr const T & elc::defs::base::array_like_n::array_like_view_t< T >::operator[] ( size_t  pos) const
inlineconstexprnoexcept

在文件 all_defs.cpp9047 行定义.

9047{return remove_const(*this)[pos];}
函数调用图:

◆ operator[]() [2/2]

template<class T >
constexpr T & elc::defs::base::array_like_n::array_like_view_t< T >::operator[] ( size_t  pos)
inlineconstexprnoexcept

在文件 all_defs.cpp9046 行定义.

9046{return begin()[pos];}

◆ rbegin()

template<class T >
constexpr reverse_iterator elc::defs::base::array_like_n::array_like_view_t< T >::rbegin ( )
inlineconstexprnoexcept

在文件 all_defs.cpp9036 行定义.

9036{return _begin+size()-1;}

◆ rend()

template<class T >
constexpr reverse_iterator elc::defs::base::array_like_n::array_like_view_t< T >::rend ( )
inlineconstexprnoexcept

在文件 all_defs.cpp9037 行定义.

9037{return _begin-1;}

◆ size()

template<class T >
constexpr size_t elc::defs::base::array_like_n::array_like_view_t< T >::size ( ) const
inlineconstexprnoexcept

在文件 all_defs.cpp9026 行定义.

9026{return _size;}
这是这个函数的调用关系图:

◆ subview() [1/2]

template<class T >
constexpr this_t elc::defs::base::array_like_n::array_like_view_t< T >::subview ( size_t  pos)
inlineconstexprnoexcept

在文件 all_defs.cpp9061 行定义.

9061 {
9062 if(pos>size())pos=size();
9063 return this_t{_begin+pos,size()-pos};
9064 }

◆ subview() [2/2]

template<class T >
constexpr this_t elc::defs::base::array_like_n::array_like_view_t< T >::subview ( size_t  pos,
size_t  end_pos 
)
inlineconstexprnoexcept

在文件 all_defs.cpp9056 行定义.

9056 {
9057 if(end_pos>size())end_pos=size();
9059 return this_t{_begin+pos,end_pos-pos};
9060 }

◆ swap_with()

template<class T >
void elc::defs::base::array_like_n::array_like_view_t< T >::swap_with ( this_t b)
inlinenoexcept

在文件 all_defs.cpp9020 行定义.

9020 {
9021 swap(_begin,b._begin);
9022 swap(_size,b._size);
9023 }
constexpr void swap(T1 &a, T2 &b)
函数调用图:

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