commit 2025-10-05 21:00 add operator bool() in ZtCObjOpt : ZCppMain/ZMainHead.H
This commit is contained in:
@ -4512,7 +4512,8 @@ namespace ZNsMain
|
|||||||
ZtCObjOpt& operator=(const ZtCObjOpt& rhs)
|
ZtCObjOpt& operator=(const ZtCObjOpt& rhs)
|
||||||
{ mp_TypeData=rhs.mp_TypeData; return *this; }
|
{ mp_TypeData=rhs.mp_TypeData; return *this; }
|
||||||
|
|
||||||
bool has_value() const{return mp_TypeData!=0;}
|
operator bool () const{return mp_TypeData!=0;}
|
||||||
|
bool has_value () const{return mp_TypeData!=0;}
|
||||||
|
|
||||||
TypeData& value() const{return *mp_TypeData ;}
|
TypeData& value() const{return *mp_TypeData ;}
|
||||||
|
|
||||||
|
@ -49,6 +49,7 @@ namespace ZNsMain
|
|||||||
ZCStrLinkOpt VO_StrLinkOpt = VO_ZCLinkStrLis.GetObjOpt(1);
|
ZCStrLinkOpt VO_StrLinkOpt = VO_ZCLinkStrLis.GetObjOpt(1);
|
||||||
|
|
||||||
cout<<"# VO_StrLinkOpt.has_value()="<<VO_StrLinkOpt.has_value()<<endl;
|
cout<<"# VO_StrLinkOpt.has_value()="<<VO_StrLinkOpt.has_value()<<endl;
|
||||||
|
cout<<"# VO_StrLinkOpt.bool() ="<<bool(VO_StrLinkOpt) <<endl;
|
||||||
|
|
||||||
VO_ZCLinkStrLis.AddTail()()=string("123");
|
VO_ZCLinkStrLis.AddTail()()=string("123");
|
||||||
VO_ZCLinkStrLis.AddTail()()=string("ABC");
|
VO_ZCLinkStrLis.AddTail()()=string("ABC");
|
||||||
@ -57,6 +58,7 @@ namespace ZNsMain
|
|||||||
VO_StrLinkOpt = VO_ZCLinkStrLis.GetObjOpt(1);
|
VO_StrLinkOpt = VO_ZCLinkStrLis.GetObjOpt(1);
|
||||||
|
|
||||||
cout<<"# VO_StrLinkOpt.GetObjOpt(1) : has_value()="<<VO_StrLinkOpt.has_value()<<endl;
|
cout<<"# VO_StrLinkOpt.GetObjOpt(1) : has_value()="<<VO_StrLinkOpt.has_value()<<endl;
|
||||||
|
cout<<"# VO_StrLinkOpt.GetObjOpt(1) : bool ()="<<bool(VO_StrLinkOpt) <<endl;
|
||||||
|
|
||||||
if(VO_StrLinkOpt.has_value())
|
if(VO_StrLinkOpt.has_value())
|
||||||
cout<<"# value by VO_StrLinkOpt : "<<VO_StrLinkOpt.value()<<endl;
|
cout<<"# value by VO_StrLinkOpt : "<<VO_StrLinkOpt.value()<<endl;
|
||||||
@ -64,6 +66,7 @@ namespace ZNsMain
|
|||||||
VO_StrLinkOpt = VO_ZCLinkStrLis.GetTailOpt();
|
VO_StrLinkOpt = VO_ZCLinkStrLis.GetTailOpt();
|
||||||
|
|
||||||
cout<<"# VO_StrLinkOpt.GetTailOpt() : has_value()="<<VO_StrLinkOpt.has_value()<<endl;
|
cout<<"# VO_StrLinkOpt.GetTailOpt() : has_value()="<<VO_StrLinkOpt.has_value()<<endl;
|
||||||
|
cout<<"# VO_StrLinkOpt.GetTailOpt() : bool ()="<<bool(VO_StrLinkOpt) <<endl;
|
||||||
|
|
||||||
if(VO_StrLinkOpt.has_value())
|
if(VO_StrLinkOpt.has_value())
|
||||||
cout<<"# value by VO_StrLinkOpt : "<<VO_StrLinkOpt.value()<<endl;
|
cout<<"# value by VO_StrLinkOpt : "<<VO_StrLinkOpt.value()<<endl;
|
||||||
|
Reference in New Issue
Block a user