ELC in dev
ELC-lang
载入中...
搜索中...
未找到
elc::defs::base::iterator_n::base_iterator_t< value_t, base_t_w > 模板结构体 参考
类 elc::defs::base::iterator_n::base_iterator_t< value_t, base_t_w > 继承关系图:
[图例]
elc::defs::base::iterator_n::base_iterator_t< value_t, base_t_w > 的协作图:
[图例]

Public 类型

typedef base_iterator_t< value_t, base_t_w > this_t
 
typedef same_base_t< value_t, base_t_w > base_t
 

Public 成员函数

constexpr this_toperator= (const base_t_rw &a) &noexcept(copy_assign.nothrow< base_t_rw >)
 
constexpr this_toperator= (base_t_rw &&a) &noexcept(move_assign.nothrow< base_t_rw >)
 
constexpr this_toperator++ () &noexcept(is_next_getter_noexcept())
 
constexpr this_toperator-- () &noexcept(is_before_getter_noexcept())
 
constexpr this_t operator++ (int) &noexcept(noexcept((this_t(++(::std::declval< this_t & >())))))
 
constexpr this_t operator-- (int) &noexcept(noexcept((this_t(--(::std::declval< this_t & >())))))
 
constexpr this_t operator+ (ptrdiff_t num) const noexcept(noexcept((this_t(--(::std::declval< this_t & >())),++(::std::declval< this_t & >()))))
 
constexpr this_t operator- (ptrdiff_t num) const noexcept(noexcept(((::std::declval< this_t & >())+0)))
 
- Public 成员函数 继承自 elc::defs::base::iterator_n::same_base_t< value_t, base_t_w >
constexpr void swap_with (this_t &a) noexcept(noexcept((swap((::std::declval< base_t_rw & >()),(::std::declval< base_t_rw & >())))))
 
constexpr same_base_t () noexcept=default
 
template<typename build_base_t_T >
requires (construct<base_t_rw>.able<build_base_t_T>)
constexpr same_base_t (build_base_t_T &&a) noexcept(construct< base_t_rw >.nothrow< build_base_t_T >)
 
constexpr same_base_t (const this_t &a) noexcept(construct< base_t_rw >.nothrow< const base_t_rw >)
 
constexpr same_base_t (this_t &&a) noexcept(noexcept((construct< base_t_rw >.nothrow< base_t_rw && >)))
 
template<typename other_T , typename other_base_t >
requires (construct<base_t_rw>.able<other_base_t>)
constexpr same_base_t (const same_base_t< other_T, other_base_t > &a) noexcept(construct< base_t_rw >.nothrow< other_base_t >)
 
 ~same_base_t () noexcept(destruct.nothrow< base_t_rw >)=default
 
constexpr bool operator== (const this_t &a) const noexcept(noexcept(((::std::declval< base_t_rw >())==(::std::declval< base_t_rw >()))))
 
constexpr value_t * operator-> () noexcept(is_handle_getter_noexcept())
 
constexpr value_type operator* () noexcept(is_value_getter_noexcept())
 
constexpr operator value_t * () noexcept(noexcept(((::std::declval< this_t >()).operator->())))
 
constexpr bool operator== (value_t *a) const noexcept(is_handle_getter_noexcept()&&noexcept(pointer_equal((::std::declval< value_t * >()),(::std::declval< value_t * >()))))
 
template<typename other_value_t , typename other_base_t_w >
requires (equal.able<base_t_rw,other_base_t_w>)
constexpr bool operator== (const same_base_t< other_value_t, other_base_t_w > &a) const noexcept(equal.nothrow< base_t_rw, other_base_t_w >)
 
template<typename other_value_t , typename other_base_t_w >
constexpr auto operator<=> (const same_base_t< other_value_t, other_base_t_w > &a) const noexcept(compare.nothrow< base_t_rw, other_base_t_w >)
 
constexpr this_toperator= (const this_t &) &noexcept=default
 
base_t_rwget_base () noexcept
 
const base_t_rwget_base () const noexcept
 

Protected 类型

typedef remove_cv< base_t_w > base_t_rw
 
- Protected 类型 继承自 elc::defs::base::iterator_n::same_base_t< value_t, base_t_w >
typedef same_base_t< value_t, base_t_w > this_t
 
typedef remove_cv< base_t_w > base_t_rw
 
typedef decltype(value_type_getter()) ::template type value_type
 

Protected 成员函数

base_t_w before_getter () const noexcept(is_before_getter_noexcept())
 
base_t_w next_getter () const noexcept(is_next_getter_noexcept())
 
- Protected 成员函数 继承自 elc::defs::base::iterator_n::same_base_t< value_t, base_t_w >
value_t * handle_getter () const noexcept(is_handle_getter_noexcept())
 
value_type value_getter () const noexcept(is_handle_getter_noexcept())
 
base_t_w next_getter () const noexcept(is_next_getter_noexcept())
 
base_t_w before_getter () const noexcept(is_before_getter_noexcept())
 

静态 Protected 成员函数

static constexpr bool is_before_getter_noexcept () noexcept
 
static constexpr bool is_next_getter_noexcept () noexcept
 
- 静态 Protected 成员函数 继承自 elc::defs::base::iterator_n::same_base_t< value_t, base_t_w >
static constexpr bool is_able_to_get_handle () noexcept
 
static constexpr bool is_handle_getter_noexcept () noexcept
 
static constexpr bool is_value_getter_noexcept () noexcept
 
static constexpr auto value_type_getter () noexcept
 
static constexpr bool is_next_getter_noexcept () noexcept
 
static constexpr bool is_before_getter_noexcept () noexcept
 

额外继承的成员函数

- Protected 属性 继承自 elc::defs::base::iterator_n::same_base_t< value_t, base_t_w >
base_t_rw _m
 

详细描述

template<typename value_t, typename base_t_w>
struct elc::defs::base::iterator_n::base_iterator_t< value_t, base_t_w >

在文件 all_defs.cpp10575 行定义.

成员类型定义说明

◆ base_t

template<typename value_t , typename base_t_w >
typedef same_base_t<value_t,base_t_w> elc::defs::base::iterator_n::base_iterator_t< value_t, base_t_w >::base_t

在文件 all_defs.cpp10577 行定义.

◆ base_t_rw

template<typename value_t , typename base_t_w >
typedef remove_cv<base_t_w> elc::defs::base::iterator_n::base_iterator_t< value_t, base_t_w >::base_t_rw
protected

在文件 all_defs.cpp10583 行定义.

◆ this_t

template<typename value_t , typename base_t_w >
typedef base_iterator_t<value_t,base_t_w> elc::defs::base::iterator_n::base_iterator_t< value_t, base_t_w >::this_t

在文件 all_defs.cpp10576 行定义.

成员函数说明

◆ before_getter()

template<typename value_t , typename base_t_w >
base_t_w elc::defs::base::iterator_n::same_base_t< value_t, base_t_w >::before_getter ( ) const
inlineprotectednoexcept

在文件 all_defs.cpp10533 行定义.

10533 {
10535 return ((base_t_w)_m)-1;
10536 elseif constexpr(was_not_an_ill_form(declvalue(base_t_w)->get_before()))
10537 return ((base_t_w)_m)->get_before();
10538 elseif constexpr(was_not_an_ill_form(declvalue(base_t_w).get_before()))
10539 return ((base_t_w)_m).get_before();
10540 }
#define was_not_an_ill_form(...)
Definition all_defs.cpp:611
#define elseif
Definition all_defs.cpp:650
#define declvalue(...)
Definition all_defs.cpp:556
constexpr T down_cast(U a) noexcept
向下转型至

◆ is_before_getter_noexcept()

template<typename value_t , typename base_t_w >
static constexpr bool elc::defs::base::iterator_n::same_base_t< value_t, base_t_w >::is_before_getter_noexcept ( )
inlinestaticconstexprprotectednoexcept

在文件 all_defs.cpp10525 行定义.

10525 {
10527 return true;
10528 elseif constexpr(was_not_an_ill_form(declvalue(base_t_w)->get_before()))
10529 return noexcept(declvalue(base_t_w)->get_before());
10530 elseif constexpr(was_not_an_ill_form(declvalue(base_t_w).get_before()))
10531 return noexcept(declvalue(base_t_w).get_before());
10532 }

◆ is_next_getter_noexcept()

template<typename value_t , typename base_t_w >
static constexpr bool elc::defs::base::iterator_n::same_base_t< value_t, base_t_w >::is_next_getter_noexcept ( )
inlinestaticconstexprprotectednoexcept

在文件 all_defs.cpp10508 行定义.

10508 {
10510 return true;
10511 elseif constexpr(was_not_an_ill_form(declvalue(base_t_w)->get_next()))
10512 return noexcept(declvalue(base_t_w)->get_next());
10513 elseif constexpr(was_not_an_ill_form(declvalue(base_t_w).get_next()))
10514 return noexcept(declvalue(base_t_w).get_next());
10515 }

◆ next_getter()

template<typename value_t , typename base_t_w >
base_t_w elc::defs::base::iterator_n::same_base_t< value_t, base_t_w >::next_getter ( ) const
inlineprotectednoexcept

在文件 all_defs.cpp10516 行定义.

10516 {
10518 return ((base_t_w)_m)+1;
10519 elseif constexpr(was_not_an_ill_form(declvalue(base_t_w)->get_next()))
10520 return ((base_t_w)_m)->get_next();
10521 elseif constexpr(was_not_an_ill_form(declvalue(base_t_w).get_next()))
10522 return ((base_t_w)_m).get_next();
10523 }

◆ operator+()

template<typename value_t , typename base_t_w >
constexpr this_t elc::defs::base::iterator_n::base_iterator_t< value_t, base_t_w >::operator+ ( ptrdiff_t  num) const
inlineconstexprnoexcept

在文件 all_defs.cpp10592 行定义.

10592 {
10594 return base_t::_m+num;
10595 else{
10596 auto a=*this;
10597 if(num>0)
10598 while(num--)
10599 ++a;
10600 else
10601 while(num++)
10602 --a;
10603 return a;
10604 }
10605 }

◆ operator++() [1/2]

template<typename value_t , typename base_t_w >
constexpr this_t & elc::defs::base::iterator_n::base_iterator_t< value_t, base_t_w >::operator++ ( ) &
inlineconstexprnoexcept

在文件 all_defs.cpp10588 行定义.

10588{return*this=next_getter();}
base_t_w next_getter() const noexcept(is_next_getter_noexcept())

◆ operator++() [2/2]

template<typename value_t , typename base_t_w >
constexpr this_t elc::defs::base::iterator_n::base_iterator_t< value_t, base_t_w >::operator++ ( int  ) &
inlineconstexprnoexcept

在文件 all_defs.cpp10590 行定义.

10590{auto a=*this;operator++();return a;}
constexpr this_t & operator++() &noexcept(is_next_getter_noexcept())
函数调用图:
这是这个函数的调用关系图:

◆ operator-()

template<typename value_t , typename base_t_w >
constexpr this_t elc::defs::base::iterator_n::base_iterator_t< value_t, base_t_w >::operator- ( ptrdiff_t  num) const
inlineconstexprnoexcept

在文件 all_defs.cpp10606 行定义.

10606{ return *this+(-num); }

◆ operator--() [1/2]

template<typename value_t , typename base_t_w >
constexpr this_t & elc::defs::base::iterator_n::base_iterator_t< value_t, base_t_w >::operator-- ( ) &
inlineconstexprnoexcept

在文件 all_defs.cpp10589 行定义.

10589{return*this=before_getter();}
base_t_w before_getter() const noexcept(is_before_getter_noexcept())

◆ operator--() [2/2]

template<typename value_t , typename base_t_w >
constexpr this_t elc::defs::base::iterator_n::base_iterator_t< value_t, base_t_w >::operator-- ( int  ) &
inlineconstexprnoexcept

在文件 all_defs.cpp10591 行定义.

10591{auto a=*this;operator--();return a;}
constexpr this_t & operator--() &noexcept(is_before_getter_noexcept())
函数调用图:
这是这个函数的调用关系图:

◆ operator=() [1/2]

template<typename value_t , typename base_t_w >
constexpr this_t & elc::defs::base::iterator_n::base_iterator_t< value_t, base_t_w >::operator= ( base_t_rw &&  a) &
inlineconstexprnoexcept

在文件 all_defs.cpp10587 行定义.

10587{move_assign(base_t::_m,a);return*this;}
constexpr struct elc::defs::memory::lifetime_n::move_assign_t move_assign

◆ operator=() [2/2]

template<typename value_t , typename base_t_w >
constexpr this_t & elc::defs::base::iterator_n::base_iterator_t< value_t, base_t_w >::operator= ( const base_t_rw a) &
inlineconstexprnoexcept

在文件 all_defs.cpp10586 行定义.

10586{copy_assign(base_t::_m,a);return*this;}
constexpr struct elc::defs::memory::lifetime_n::copy_assign_t copy_assign

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