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

Public 类型

typedef erased_string_data_t< char_Tthis_t
 
typedef base_string_data_t< char_Tbase_t
 
typedef comn_ptr_t< this_tptr_t
 
typedef string_view_t< char_Tstring_view_t
 
typedef char_Tstring_ptr_t
 
typedef const char_Tconst_string_ptr_t
 
- Public 类型 继承自 elc::defs::string_n::string_data_n::base_string_data_t< char_T >
typedef base_string_data_t< char_Tthis_t
 
typedef comn_ptr_t< this_tptr_t
 
typedef string_view_t< char_Tstring_view_t
 
typedef char_Tstring_ptr_t
 
typedef const char_Tconst_string_ptr_t
 
typedef compare_t::type< char_Tcompare_type
 

Public 成员函数

void null_equivalent_check () noexcept
 
 erased_string_data_t (ptr_t str, size_t erase_pos, size_t erase_size) noexcept
 
virtual ptr_t get_substr_data (size_t begin, size_t size) noexcept override final
 
virtual void be_replace_as (ptr_t a) noexcept(clear_nothrow) override final
 
virtual size_t get_size () noexcept override final
 
virtual ptr_t do_erase (size_t pos, size_t size) noexcept override final
 
virtual char_T arec (size_t index) noexcept(copy_construct_nothrow &&move_construct_nothrow) override final
 
virtual void arec_set (size_t index, char_T a, ptr_t &p) noexcept(copy_assign_nothrow &&move_construct_nothrow) override final
 
virtual ptr_t apply_str_to_begin (string_view_t str) noexcept(copy_construct_nothrow &&apply_data_nothrow) override final
 
virtual ptr_t apply_str_to_begin (ptr_t str) noexcept(apply_data_nothrow) override final
 
virtual ptr_t apply_str_to_end (string_view_t str) noexcept(copy_construct_nothrow &&apply_data_nothrow) override final
 
virtual ptr_t apply_str_to_end (ptr_t str) noexcept(apply_data_nothrow) override final
 
virtual ptr_t do_remove_front (size_t size) noexcept(construct_nothrow &&copy_assign_nothrow) override final
 
virtual ptr_t do_remove_back (size_t size) noexcept(construct_nothrow &&copy_assign_nothrow) override final
 
virtual ptr_t do_pop_front (size_t size, ptr_t &self) noexcept(construct_nothrow &&copy_assign_nothrow) override final
 
virtual ptr_t do_pop_back (size_t size, ptr_t &self) noexcept(construct_nothrow &&copy_assign_nothrow) override final
 
void self_changed () noexcept
 
hash_t set_hash_cache (hash_t value) noexcept
 
- Public 成员函数 继承自 elc::defs::string_n::string_data_n::base_string_data_t< char_T >
 base_string_data_t () noexcept=default
 
 base_string_data_t (never_ref_num_zero_t) noexcept
 
bool is_unique () noexcept
 
virtual ~base_string_data_t () noexcept(destruct_nothrow)=default
 
virtual string_ptr_t get_c_str (ptr_t &) noexcept(get_data_nothrow)
 
virtual const_string_ptr_t get_const_c_str (ptr_t &p) noexcept(get_data_nothrow)
 
virtual const char_Tget_data (ptr_t &p) noexcept(get_data_nothrow)
 
virtual string_ptr_t get_unique_c_str (ptr_t &) noexcept(get_data_nothrow)
 
virtual ptr_t do_insert (size_t pos, string_view_t str) noexcept(copy_construct_nothrow)
 
virtual ptr_t do_insert (size_t pos, ptr_t str) noexcept
 
bool equal_with (ptr_t with) noexcept(equal.nothrow< char_T >)
 
bool equal_with_same_size (ptr_t with) noexcept(equal.nothrow< char_T >)
 
bool equal_with (ptr_t with, size_t pos, size_t size) noexcept(equal.nothrow< char_T >)
 
bool equal_with (string_view_t with) noexcept(equal.nothrow< char_T >)
 
bool equal_with (const_string_ptr_t with) noexcept(equal.nothrow< char_T >)
 
compare_type compare_with (ptr_t with) noexcept(compare.nothrow< char_T >)
 
compare_type compare_with_same_size (ptr_t with) noexcept(compare.nothrow< char_T >)
 
compare_type compare_with (ptr_t with, size_t pos, size_t size) noexcept(compare.nothrow< char_T >)
 
compare_type compare_with (string_view_t with) noexcept(compare.nothrow< char_T >)
 
compare_type compare_with (const_string_ptr_t with) noexcept(compare.nothrow< char_T >)
 
hash_t get_hash (ptr_t &p) noexcept(hash_nothrow)
 
hash_t get_others_hash_with_calculated_before (hash_t before, size_t before_size, ptr_t &p, size_t pos, size_t size) noexcept(hash_nothrow)
 
float_size_t get_memory_cost () noexcept
 
float_size_t get_memory_cost_after_gc () noexcept
 
float_size_t get_gc_profit () noexcept
 
bool positive_gc_profit () noexcept
 
virtual const range_n::match_pattern< const char_T > & get_match_pattern_from_self (ptr_t &self) noexcept(copy_assign_nothrow &&move_construct_nothrow)
 
virtual const range_n::reverse_match_pattern< const char_T > & get_reverse_match_pattern_from_self (ptr_t &self) noexcept(copy_assign_nothrow &&move_construct_nothrow)
 
virtual ptr_t pre_alloc_before_begin (size_t size) noexcept
 
virtual ptr_t pre_alloc_after_end (size_t size) noexcept
 
virtual void do_output (text_ostream_t< char_T > &os)
 

Public 属性

ptr_t _to
 
size_t _to_size
 
size_t _erase_pos
 
size_t _erase_size
 

静态 Public 属性

static constexpr bool copy_assign_nothrow
 
static constexpr bool copy_construct_nothrow
 
static constexpr bool move_construct_nothrow
 
static constexpr bool construct_nothrow
 
static constexpr bool destruct_nothrow
 
static constexpr bool clear_nothrow
 
static constexpr bool ptr_reset_nothrow
 
static constexpr bool hash_nothrow
 
static constexpr bool get_data_nothrow
 
static constexpr bool apply_data_nothrow
 
- 静态 Public 属性 继承自 elc::defs::string_n::string_data_n::base_string_data_t< char_T >
static constexpr bool copy_assign_nothrow =copy_assign.nothrow<char_T>
 
static constexpr bool copy_construct_nothrow =copy_construct.nothrow<char_T>
 
static constexpr bool move_construct_nothrow =move_construct.nothrow<char_T>
 
static constexpr bool construct_nothrow =construct<char_T>.nothrow<>
 
static constexpr bool destruct_nothrow =destruct.nothrow<char_T>
 
static constexpr bool clear_nothrow =destruct_nothrow
 
static constexpr bool ptr_reset_nothrow =destruct_nothrow
 
static constexpr bool hash_nothrow =hash.nothrow<char_T>
 
static constexpr bool get_data_nothrow =copy_construct_nothrow&&destruct_nothrow
 
static constexpr bool apply_data_nothrow =construct_nothrow&&copy_assign_nothrow
 

Protected 成员函数

virtual void copy_part_data_to (char_T *to, size_t pos, size_t size) noexcept(copy_assign_nothrow) override final
 
virtual hash_t get_hash_detail (ptr_t &) noexcept(hash_nothrow) override final
 
virtual hash_t get_others_hash_with_calculated_before_detail (hash_t before, size_t before_size, ptr_t &, size_t pos, size_t size) noexcept(hash_nothrow) override final
 
virtual bool same_struct (ptr_t with) noexcept override final
 
virtual range_t< const char_T * > get_the_largest_complete_data_block_begin_form (size_t begin) noexcept override final
 
virtual bool same_struct_equal (ptr_t with) noexcept(equal.nothrow< char_T >) override final
 
virtual base_t::compare_type same_struct_compare (ptr_t with) noexcept(compare.nothrow< char_T >) override final
 
virtual float_size_t get_base_memory_cost () noexcept override final
 
- Protected 成员函数 继承自 elc::defs::string_n::string_data_n::base_string_data_t< char_T >
bool same_type (ptr_t a) noexcept
 
bool default_equal_method (ptr_t with) noexcept(equal.nothrow< char_T >)
 
compare_type default_compare_method (ptr_t with) noexcept(compare.nothrow< char_T >)
 
bool has_hash_cache () noexcept
 
void reset_hash_cache () noexcept
 
hash_t get_hash_cache () noexcept
 
hash_t set_hash_cache (hash_t value) noexcept
 
void self_changed () noexcept
 

额外继承的成员函数

- 静态 Protected 成员函数 继承自 elc::defs::string_n::string_data_n::base_string_data_t< char_T >
static void be_replace (this_t *a, ptr_t b) noexcept(ptr_reset_nothrow)
 
static void be_replace (ptr_t &a, ptr_t b) noexcept(ptr_reset_nothrow)
 
static void equivalent_optimization (auto &&a, auto &&b) noexcept(ptr_reset_nothrow)
 
- Protected 属性 继承自 elc::defs::string_n::string_data_n::base_string_data_t< char_T >
hash_t _hash_cache {}
 
bool _has_hash_cache =false
 

详细描述

template<typename char_T>
struct elc::defs::string_n::string_data_n::erased_string_data_t< char_T >

在文件 all_defs.cpp37736 行定义.

成员类型定义说明

◆ base_t

◆ const_string_ptr_t

◆ ptr_t

◆ string_ptr_t

◆ string_view_t

◆ this_t

构造及析构函数说明

◆ erased_string_data_t()

成员函数说明

◆ apply_str_to_begin() [1/2]

template<typename char_T >
virtual ptr_t elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::apply_str_to_begin ( ptr_t  str)
inlinefinaloverridevirtualnoexcept

重载 elc::defs::string_n::string_data_n::base_string_data_t< char_T > .

在文件 all_defs.cpp37844 行定义.

37844 {
37845 if(this->is_unique()){
37846 _to=_to->apply_str_to_begin(str);
37847 const auto strsize=str->get_size();
37850 self_changed();
37851 return this;
37852 }
37853 else
37854 return base_t::apply_str_to_begin(str);
37855 }
virtual ptr_t apply_str_to_begin(string_view_t str) noexcept(copy_construct_nothrow &&apply_data_nothrow)

◆ apply_str_to_begin() [2/2]

template<typename char_T >
virtual ptr_t elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::apply_str_to_begin ( string_view_t  str)
inlinefinaloverridevirtualnoexcept

重载 elc::defs::string_n::string_data_n::base_string_data_t< char_T > .

在文件 all_defs.cpp37832 行定义.

37832 {
37833 if(this->is_unique()){
37834 _to=_to->apply_str_to_begin(str);
37835 const auto strsize=str.size();
37838 self_changed();
37839 return this;
37840 }
37841 else
37842 return base_t::apply_str_to_begin(str);
37843 }

◆ apply_str_to_end() [1/2]

template<typename char_T >
virtual ptr_t elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::apply_str_to_end ( ptr_t  str)
inlinefinaloverridevirtualnoexcept

重载 elc::defs::string_n::string_data_n::base_string_data_t< char_T > .

在文件 all_defs.cpp37866 行定义.

37866 {
37867 if(this->is_unique()){
37868 _to=_to->apply_str_to_end(str);
37869 _to_size+=str->get_size();
37870 self_changed();
37871 return this;
37872 }
37873 else
37874 return base_t::apply_str_to_end(str);
37875 }
virtual ptr_t apply_str_to_end(string_view_t str) noexcept(copy_construct_nothrow &&apply_data_nothrow)

◆ apply_str_to_end() [2/2]

template<typename char_T >
virtual ptr_t elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::apply_str_to_end ( string_view_t  str)
inlinefinaloverridevirtualnoexcept

重载 elc::defs::string_n::string_data_n::base_string_data_t< char_T > .

在文件 all_defs.cpp37856 行定义.

37856 {
37857 if(this->is_unique()){
37858 _to=_to->apply_str_to_end(str);
37859 _to_size+=str.size();
37860 self_changed();
37861 return this;
37862 }
37863 else
37864 return base_t::apply_str_to_end(str);
37865 }

◆ arec()

template<typename char_T >
virtual char_T elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::arec ( size_t  index)
inlinefinaloverridevirtualnoexcept

实现了 elc::defs::string_n::string_data_n::base_string_data_t< char_T >.

在文件 all_defs.cpp37814 行定义.

37814 {
37815 if(index>=_erase_pos)
37816 return _to->arec(index+_erase_size);
37817 else
37818 return _to->arec(index);
37819 }

◆ arec_set()

template<typename char_T >
virtual void elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::arec_set ( size_t  index,
char_T  a,
ptr_t p 
)
inlinefinaloverridevirtualnoexcept

实现了 elc::defs::string_n::string_data_n::base_string_data_t< char_T >.

在文件 all_defs.cpp37821 行定义.

37821 {
37822 if(this->is_unique()){
37823 if(index>=_erase_pos)
37824 _to->arec_set(index+_erase_size,a,_to);
37825 else
37826 _to->arec_set(index,a,_to);
37827 self_changed();
37828 }
37829 else
37830 base_t::arec_set(index,a,p);
37831 }
virtual void arec_set(size_t index, char_T a, ptr_t &p) noexcept(copy_assign_nothrow &&move_construct_nothrow)=0

◆ be_replace_as()

template<typename char_T >
virtual void elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::be_replace_as ( ptr_t  a)
inlinefinaloverridevirtualnoexcept

实现了 elc::defs::string_n::string_data_n::base_string_data_t< char_T >.

在文件 all_defs.cpp37779 行定义.

37779 {
37780 if(type_info<this_t> == typeid(*a)){
37781 const auto p = down_cast<this_t*>(a.get());
37782 if(_erase_pos==p->_erase_pos && _erase_size==p->_erase_size && _to!=p->_to)
37784 }
37785 _to.reset();
37787 }
virtual void be_replace_as(ptr_t a) noexcept(clear_nothrow)=0
static void equivalent_optimization(auto &&a, auto &&b) noexcept(ptr_reset_nothrow)

◆ copy_part_data_to()

template<typename char_T >
virtual void elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::copy_part_data_to ( char_T to,
size_t  pos,
size_t  size 
)
inlinefinaloverrideprotectedvirtualnoexcept

实现了 elc::defs::string_n::string_data_n::base_string_data_t< char_T >.

在文件 all_defs.cpp37790 行定义.

37790 {
37791 if(pos+size<_erase_pos)
37792 _to->copy_part_data_to(to,pos,size);
37794 _to->copy_part_data_to(to,pos+_erase_size,size);
37795 else{
37798 _to->copy_part_data_to(to,pos,size_before_erase_pos);
37800 }
37801 }
#define elseif
Definition all_defs.cpp:650
constexpr size_t size(::size_t v)

◆ do_erase()

template<typename char_T >
virtual ptr_t elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::do_erase ( size_t  pos,
size_t  size 
)
inlinefinaloverridevirtualnoexcept

重载 elc::defs::string_n::string_data_n::base_string_data_t< char_T > .

在文件 all_defs.cpp37803 行定义.

37803 {
37804 if(this->is_unique()){
37808 self_changed();
37809 return this;
37810 }
37811 }
37812 return base_t::do_erase(pos,size);
37813 }
virtual ptr_t do_erase(size_t pos, size_t size) noexcept

◆ do_pop_back()

template<typename char_T >
virtual ptr_t elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::do_pop_back ( size_t  size,
ptr_t self 
)
inlinefinaloverridevirtualnoexcept

重载 elc::defs::string_n::string_data_n::base_string_data_t< char_T > .

在文件 all_defs.cpp37913 行定义.

37913 {
37914 if(this->is_unique() && _erase_pos+_erase_size <= _to_size-size){
37915 auto aret=_to->do_pop_back(size,_to);
37916 _to_size-=size;
37918 self_changed();
37919 return aret;
37920 }
37921 else
37922 return base_t::do_pop_back(size,self);
37923 }
virtual ptr_t do_pop_back(size_t size, ptr_t &self) noexcept(construct_nothrow &&copy_assign_nothrow)

◆ do_pop_front()

template<typename char_T >
virtual ptr_t elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::do_pop_front ( size_t  size,
ptr_t self 
)
inlinefinaloverridevirtualnoexcept

重载 elc::defs::string_n::string_data_n::base_string_data_t< char_T > .

在文件 all_defs.cpp37901 行定义.

37901 {
37902 if(this->is_unique() && _erase_pos > size){
37903 auto aret=_to->do_pop_front(size,_to);
37904 _to_size-=size;
37907 self_changed();
37908 return aret;
37909 }
37910 else
37911 return base_t::do_pop_front(size,self);
37912 }
virtual ptr_t do_pop_front(size_t size, ptr_t &self) noexcept(construct_nothrow &&copy_assign_nothrow)

◆ do_remove_back()

template<typename char_T >
virtual ptr_t elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::do_remove_back ( size_t  size)
inlinefinaloverridevirtualnoexcept

重载 elc::defs::string_n::string_data_n::base_string_data_t< char_T > .

在文件 all_defs.cpp37889 行定义.

37889 {
37891 return _to->do_remove_back(size+_erase_size);
37892 if(this->is_unique()){//&& size<_to_size-_erase_pos-_erase_size
37893 _to=_to->do_remove_back(size);
37894 _to_size-=size;
37895 self_changed();
37896 return this;
37897 }
37898 else
37899 return base_t::do_remove_back(size);
37900 }
virtual ptr_t do_remove_back(size_t size) noexcept(construct_nothrow &&copy_assign_nothrow)

◆ do_remove_front()

template<typename char_T >
virtual ptr_t elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::do_remove_front ( size_t  size)
inlinefinaloverridevirtualnoexcept

重载 elc::defs::string_n::string_data_n::base_string_data_t< char_T > .

在文件 all_defs.cpp37876 行定义.

37876 {
37877 if(size>=_erase_pos)
37878 return _to->do_remove_front(size+_erase_size);
37879 if(this->is_unique()){//&& size<_erase_pos
37880 _to=_to->do_remove_front(size);
37881 _to_size-=size;
37883 self_changed();
37884 return this;
37885 }
37886 else
37887 return base_t::do_remove_front(size);
37888 }
virtual ptr_t do_remove_front(size_t size) noexcept(construct_nothrow &&copy_assign_nothrow)

◆ get_base_memory_cost()

template<typename char_T >
virtual float_size_t elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::get_base_memory_cost ( )
inlinefinaloverrideprotectedvirtualnoexcept

实现了 elc::defs::string_n::string_data_n::base_string_data_t< char_T >.

在文件 all_defs.cpp37972 行定义.

37972 {
37973 return float_size_of(*this)+_to->get_memory_cost();
37974 }
#define float_size_of(...)
Definition all_defs.cpp:576

◆ get_hash_detail()

template<typename char_T >
virtual hash_t elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::get_hash_detail ( ptr_t )
inlinefinaloverrideprotectedvirtualnoexcept

重载 elc::defs::string_n::string_data_n::base_string_data_t< char_T > .

在文件 all_defs.cpp37925 行定义.

37925 {
37926 auto result=hash(nothing);
37927 const auto size=get_size();
37930 result=_to->get_others_hash_with_calculated_before(result,0,_to,0,size_before_erase_pos);
37931 result=_to->get_others_hash_with_calculated_before(result,size_before_erase_pos,_to,_erase_pos+_erase_size,size_after_erase_pos);
37932 return result;
37933 }
#define hash
#define nothing
Definition all_defs.cpp:647
virtual size_t get_size() noexcept override final

◆ get_others_hash_with_calculated_before_detail()

template<typename char_T >
virtual hash_t elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::get_others_hash_with_calculated_before_detail ( hash_t  before,
size_t  before_size,
ptr_t ,
size_t  pos,
size_t  size 
)
inlinefinaloverrideprotectedvirtualnoexcept

重载 elc::defs::string_n::string_data_n::base_string_data_t< char_T > .

在文件 all_defs.cpp37934 行定义.

37934 {
37935 if(pos+size<_erase_pos)
37936 before=_to->get_others_hash_with_calculated_before(before,before_size,_to,pos,size);
37938 before=_to->get_others_hash_with_calculated_before(before,before_size,_to,pos+_erase_size,size);
37939 else{
37942 before=_to->get_others_hash_with_calculated_before(before,before_size,_to,pos,size_before_erase_pos);
37944 }
37945 return before;
37946 }

◆ get_size()

template<typename char_T >
virtual size_t elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::get_size ( )
inlinefinaloverridevirtualnoexcept

◆ get_substr_data()

template<typename char_T >
virtual ptr_t elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::get_substr_data ( size_t  begin,
size_t  size 
)
inlinefinaloverridevirtualnoexcept

重载 elc::defs::string_n::string_data_n::base_string_data_t< char_T > .

在文件 all_defs.cpp37771 行定义.

37771 {
37772 if(begin+size<_erase_pos)
37773 return _to->get_substr_data(begin,size);
37774 elseif(begin>=_erase_pos)
37775 return _to->get_substr_data(begin+_erase_size,size);
37776 else
37777 return base_t::get_substr_data(begin,size);
37778 }
virtual ptr_t get_substr_data(size_t begin, size_t size) noexcept

◆ get_the_largest_complete_data_block_begin_form()

template<typename char_T >
virtual range_t< const char_T * > elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::get_the_largest_complete_data_block_begin_form ( size_t  begin)
inlinefinaloverrideprotectedvirtualnoexcept

实现了 elc::defs::string_n::string_data_n::base_string_data_t< char_T >.

在文件 all_defs.cpp37952 行定义.

37952 {
37953 if(begin < _erase_pos){
37954 auto aret=_to->get_the_largest_complete_data_block_begin_form(begin);
37955 if(aret.size() > _erase_pos)
37956 aret = {aret.begin(),_erase_pos};
37957 return aret;
37958 }
37959 else
37960 return _to->get_the_largest_complete_data_block_begin_form(begin + _erase_size);
37961 }

◆ null_equivalent_check()

template<typename char_T >
void elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::null_equivalent_check ( )
inlinenoexcept

在文件 all_defs.cpp37762 行定义.

37762 {
37764 be_replace_as(null_ptr);
37765 }
virtual void be_replace_as(ptr_t a) noexcept(clear_nothrow) override final

◆ same_struct()

template<typename char_T >
virtual bool elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::same_struct ( ptr_t  with)
inlinefinaloverrideprotectedvirtualnoexcept

实现了 elc::defs::string_n::string_data_n::base_string_data_t< char_T >.

在文件 all_defs.cpp37948 行定义.

37948 {
37949 auto wp = down_cast<this_t*>(with.get());
37950 return _erase_pos == wp->_erase_pos && _erase_size == wp->_erase_size;
37951 }

◆ same_struct_compare()

template<typename char_T >
virtual base_t::compare_type elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::same_struct_compare ( ptr_t  with)
inlinefinaloverrideprotectedvirtualnoexcept

实现了 elc::defs::string_n::string_data_n::base_string_data_t< char_T >.

在文件 all_defs.cpp37966 行定义.

37966 {
37967 auto wp=down_cast<this_t*>(with.get());
37968 if(auto tmp=_to->compare_with(wp->_to,0,_erase_pos); tmp!=0)
37969 return tmp;
37970 return _to->compare_with(wp->_to,_erase_pos+_erase_size,_to_size);
37971 }

◆ same_struct_equal()

template<typename char_T >
virtual bool elc::defs::string_n::string_data_n::erased_string_data_t< char_T >::same_struct_equal ( ptr_t  with)
inlinefinaloverrideprotectedvirtualnoexcept

实现了 elc::defs::string_n::string_data_n::base_string_data_t< char_T >.

在文件 all_defs.cpp37962 行定义.

37962 {
37963 auto wp=down_cast<this_t*>(with.get());
37964 return _to->equal_with(wp->_to,0,_erase_pos) && _to->equal_with(wp->_to,_erase_pos+_erase_size,_to_size);
37965 }

◆ self_changed()

template<typename char_T >
void elc::defs::string_n::string_data_n::base_string_data_t< char_T >::self_changed ( )
inlinenoexcept

在文件 all_defs.cpp35950 行定义.

◆ set_hash_cache()

类成员变量说明

◆ _erase_pos

在文件 all_defs.cpp37759 行定义.

◆ _erase_size

在文件 all_defs.cpp37760 行定义.

◆ _to

◆ _to_size

在文件 all_defs.cpp37758 行定义.

◆ apply_data_nothrow

在文件 all_defs.cpp35573 行定义.

◆ clear_nothrow

在文件 all_defs.cpp35569 行定义.

◆ construct_nothrow

在文件 all_defs.cpp35567 行定义.

◆ copy_assign_nothrow

template<typename char_T >
constexpr bool elc::defs::string_n::string_data_n::base_string_data_t< char_T >::copy_assign_nothrow
staticconstexpr

在文件 all_defs.cpp35564 行定义.

◆ copy_construct_nothrow

template<typename char_T >
constexpr bool elc::defs::string_n::string_data_n::base_string_data_t< char_T >::copy_construct_nothrow
staticconstexpr

在文件 all_defs.cpp35565 行定义.

◆ destruct_nothrow

在文件 all_defs.cpp35568 行定义.

◆ get_data_nothrow

在文件 all_defs.cpp35572 行定义.

◆ hash_nothrow

在文件 all_defs.cpp35571 行定义.

◆ move_construct_nothrow

template<typename char_T >
constexpr bool elc::defs::string_n::string_data_n::base_string_data_t< char_T >::move_construct_nothrow
staticconstexpr

在文件 all_defs.cpp35566 行定义.

◆ ptr_reset_nothrow

在文件 all_defs.cpp35570 行定义.


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