From 43e8db0b6107ae4883b5094bf072c206972bd6de Mon Sep 17 00:00:00 2001 From: hyzboy Date: Mon, 13 Jan 2020 11:17:24 +0800 Subject: [PATCH] add Comp(start,string,comp_len) function of BaseString --- inc/hgl/type/BaseString.h | 43 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/inc/hgl/type/BaseString.h b/inc/hgl/type/BaseString.h index 758db60..2934b5a 100644 --- a/inc/hgl/type/BaseString.h +++ b/inc/hgl/type/BaseString.h @@ -478,6 +478,27 @@ namespace hgl /** * 和一个字符串进行比较 + * @param pos 起始位置 + * @param bs 比较字符串 + * @param num 比较长度 + * @return <0 自身小 + * @return 0 等同 + * @return >0 自身大 + */ + int Comp(const int pos,const SelfClass &bs,const int num)const + { + if(!data.valid()) + return(bs.Length()); + + if(bs.Length()<=0) + return Length(); + + return data->Comp(pos,bs.data.get(),num); + } + + /** + * 和一个字符串进行比较 + * @param pos 起始位置 * @param str 比较字符串 * @return <0 自身小 * @return 0 等同 @@ -496,6 +517,28 @@ namespace hgl return data->Comp(pos,str); } + /** + * 和一个字符串进行比较 + * @param pos 起始位置 + * @param str 比较字符串 + * @param num 比较长度 + * @return <0 自身小 + * @return 0 等同 + * @return >0 自身大 + */ + int Comp(const int pos,const T *str,const int num)const + { + if(!data.valid()) + { + if(!str) + return 0; + else + return *str; + } + + return data->Comp(pos,str,num); + } + /** * 和那一个字符串进行比较,英文不区分大小写 * @param bs 比较字符串