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

Public 成员函数

 auto_stack_t (const base_t &a) noexcept(noexcept((base_t(a))))
 
 auto_stack_t (base_t &&a) noexcept(noexcept((base_t(a))))
 
this_toperator= (this_t &&a) &noexcept
 
template<typename U >
maybe_fail_reference< T > find (U &&a) noexcept(noexcept(((::std::declval< T & >())==a)))
 
bool in_stack (const T &a) const noexcept(noexcept(((::std::declval< this_t >()).find(a).not_fail())))
 
bool not_in_stack (const T &a) const noexcept(noexcept(((::std::declval< this_t >()).in_stack(a))))
 
- Public 成员函数 继承自 elc::defs::container::stack_n::base_stack_t< T >
constexpr base_stack_t () noexcept
 
void swap_with (this_t &a) noexcept
 
this_toperator= (this_t &&a) &noexcept
 
 base_stack_t (this_t &&a) noexcept
 
this_toperator= (const this_t &a) &noexcept(noexcept(((::std::declval< this_t >()).copy())))
 
 base_stack_t (const this_t &a) noexcept(noexcept(((::std::declval< this_t >()).copy())))
 
 ~base_stack_t () noexcept(unget.nothrow< data_t >)
 
void clear () noexcept(re_construct.nothrow< this_t >)
 
bool empty () const noexcept
 
template<typename U >
maybe_fail_reference< T > find (U &&a) noexcept(noexcept(((::std::declval< T & >())==a)))
 
bool in_stack (const T &a) const noexcept(noexcept(((::std::declval< this_t >()).find(a).not_fail())))
 
bool not_in_stack (const T &a) const noexcept(noexcept(((::std::declval< this_t >()).in_stack(a))))
 
size_t size () const noexcept
 
void add (const T &a) noexcept(add_nothrow)
 
template<typename T_ >
bool remove (const T_ &a) noexcept(remove_nothrow &&equal.nothrow< T_, T >)
 
template<typename func_t >
requires (bool(requires{ (::std::declval< func_t >())((::std::declval< T& >())) ;}))
void for_each (func_t &&func) noexcept(noexcept(((::std::declval< func_t >())((::std::declval< T & >())))))
 
template<typename func_t >
requires (bool(requires{ (::std::declval< func_t >())((::std::declval< const T& >())) ;}))
void for_each (func_t &&func) const noexcept(noexcept(((::std::declval< func_t >())((::std::declval< const T & >())))))
 
hash_t get_top_hash () noexcept(noexcept((hash((::std::declval< T & >())))))
 
void move_top_to (this_t &a) noexcept
 

额外继承的成员函数

- 静态 Public 属性 继承自 elc::defs::container::stack_n::base_stack_t< T >
static constexpr bool add_nothrow =noexcept(get<data_t>((::std::declval< const T& >()),(::std::declval< data_t* >())))
 
static constexpr bool remove_nothrow =unget.nothrow<data_t>
 
- Protected 成员函数 继承自 elc::defs::container::stack_n::base_stack_t< T >
void add (data_t *a) noexcept
 
- Protected 属性 继承自 elc::defs::container::stack_n::base_stack_t< T >
struct elc::defs::container::stack_n::base_stack_t::data_t_m
 
size_t _size
 

详细描述

template<typename T>
struct elc::defs::container::stack_n::auto_stack_t< T >

在文件 all_defs.cpp25186 行定义.

构造及析构函数说明

◆ auto_stack_t() [1/2]

template<typename T >
elc::defs::container::stack_n::auto_stack_t< T >::auto_stack_t ( const base_t a)
inlinenoexcept

在文件 all_defs.cpp25195 行定义.

25195:base_t(a){}
constexpr T down_cast(U a) noexcept
向下转型至

◆ auto_stack_t() [2/2]

template<typename T >
elc::defs::container::stack_n::auto_stack_t< T >::auto_stack_t ( base_t &&  a)
inlinenoexcept

在文件 all_defs.cpp25196 行定义.

25196:base_t(a){}

成员函数说明

◆ find()

template<typename T >
template<typename U >
maybe_fail_reference< T > elc::defs::container::stack_n::auto_stack_t< T >::find ( U &&  a)
inlinenoexcept

在文件 all_defs.cpp25200 行定义.

25200 {
25201 data_t*tmp=_m,**tmp_=&_m;
25202 while(tmp!=null_ptr){
25203 if(tmp->_data==a){
25204 *tmp_=tmp->_next;
25205 tmp->_next=_m;//提头
25206 _m=tmp;
25207 return tmp->_data;
25208 }
25209 tmp_=&tmp->_next;
25210 tmp=*tmp_;
25211 }
25212 return note::fail;
25213 }
constexpr struct elc::defs::base::note_n::fail_t fail

◆ in_stack()

template<typename T >
bool elc::defs::container::stack_n::auto_stack_t< T >::in_stack ( const T &  a) const
inlinenoexcept

在文件 all_defs.cpp25214 行定义.

25214 {
25215 return remove_const(this)->find(a).not_fail();
25216 }
constexpr T & remove_const(const T &a) noexcept
对引用移除const
函数调用图:

◆ not_in_stack()

template<typename T >
bool elc::defs::container::stack_n::auto_stack_t< T >::not_in_stack ( const T &  a) const
inlinenoexcept

在文件 all_defs.cpp25217 行定义.

25217 {
25218 return not in_stack(a);
25219 }
bool in_stack(const T &a) const noexcept(noexcept(((::std::declval< this_t >()).find(a).not_fail())))

◆ operator=()

template<typename T >
this_t & elc::defs::container::stack_n::auto_stack_t< T >::operator= ( this_t &&  a) &
inlinenoexcept

在文件 all_defs.cpp25198 行定义.

25198{base_t::operator=(move(a));return*this;}
this_t & operator=(this_t &&a) &noexcept
constexpr struct elc::defs::memory::lifetime_n::move_t move

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