Rename m__data to m_data in string_base. Forgot to fix the temp name much earlier. Other basic readability improvements

This commit is contained in:
rexy712 2020-08-06 15:32:04 -07:00
parent 05e2fa2406
commit ea8c15b27e

View File

@ -77,68 +77,42 @@ namespace rexy{
sdata s;
constexpr combine_data(void)noexcept:
l(){}
}m__data;
pointer m_raw = m__data.s.data;
}m_data;
pointer m_raw = m_data.s.data;
protected:
constexpr void set_islong_flag(bool b){
if(b)
m__data.l.islong = b;
m_data.l.islong = b;
else
m__data.s.islong = b;
m_data.s.islong = b;
}
constexpr bool islong(void)const{
//common standard layout union member subsequence, never undefined behavior
return m__data.l.islong;
return m_data.l.islong;
}
constexpr pointer set_short_ptr(void){
set_islong_flag(false);
return m_raw = m__data.s.data;
return m_raw = m_data.s.data;
}
constexpr pointer set_long_ptr(pointer ptr){
set_islong_flag(true);
return m_raw = ptr;
}
constexpr pointer get_long_ptr(void){
return m_raw;
}
constexpr pointer get_short_ptr(void){
return m_raw;
}
constexpr const_pointer get_long_ptr(void)const{
return m_raw;
}
constexpr const_pointer get_short_ptr(void)const{
return m_raw;
}
constexpr pointer get_pointer(void){
return m_raw;
}
constexpr const_pointer get_pointer(void)const{
return m_raw;
}
constexpr void set_long_length(size_type len){
m__data.l.length = len;
}
constexpr size_type get_long_length(void)const{
return m__data.l.length;
}
constexpr void set_short_length(size_type len){
m__data.s.length = static_cast<unsigned char>(len);
}
constexpr size_type get_short_length(void)const{
return m__data.s.length;
}
constexpr void set_long_capacity(size_type cap){
m__data.l.capacity = cap;
}
constexpr pointer get_long_ptr(void){return m_raw;}
constexpr pointer get_short_ptr(void){return m_raw;}
constexpr const_pointer get_long_ptr(void)const{return m_raw;}
constexpr const_pointer get_short_ptr(void)const{return m_raw;}
constexpr pointer get_pointer(void){return m_raw;}
constexpr const_pointer get_pointer(void)const{return m_raw;}
constexpr void set_long_length(size_type len){m_data.l.length = len;}
constexpr size_type get_long_length(void)const{return m_data.l.length;}
constexpr void set_short_length(size_type len){m_data.s.length = static_cast<unsigned char>(len);}
constexpr size_type get_short_length(void)const{return m_data.s.length;}
constexpr void set_long_capacity(size_type cap){m_data.l.capacity = cap;}
constexpr void set_short_capacity(size_type){}
constexpr size_type get_long_capacity(void)const{
return m__data.l.capacity;
}
constexpr size_type get_short_capacity(void)const{
return MAX_SHORT_LEN;
}
constexpr size_type get_long_capacity(void)const{return m_data.l.capacity;}
constexpr size_type get_short_capacity(void)const{return MAX_SHORT_LEN;}
constexpr void set_length(size_type s){
if(islong())
set_long_length(s);
@ -169,22 +143,22 @@ namespace rexy{
string_base(data, len, len){}
//Copy ctor, copy length+capacity+short string, not long string value
constexpr string_base(const string_base& s)noexcept:
m__data(s.m__data){}
m_data(s.m_data){}
constexpr string_base(string_base&& s)noexcept:
m__data(std::move(s.m__data)),
m_raw(s.islong() ? s.m_raw : m__data.s.data)
m_data(std::move(s.m_data)),
m_raw(s.islong() ? s.m_raw : m_data.s.data)
{
s.set_islong_flag(false);
}
~string_base(void)noexcept = default;
constexpr string_base& operator=(string_base&& s)noexcept{
std::swap(m__data, s.m__data);
std::swap(m_data, s.m_data);
if(this->islong())
std::swap(m_raw, s.m_raw);
else{
s.m_raw = m_raw;
m_raw = m__data.s.data;
m_raw = m_data.s.data;
}
return *this;
}