commit 2025-10-05 21:00 add operator bool() in ZtCObjOpt : ZCppMain/ZMainHead.H

This commit is contained in:
2025-10-05 21:00:58 +09:00
parent cd42f26bfd
commit e1519765ba
2 changed files with 5 additions and 1 deletions

View File

@ -4512,7 +4512,8 @@ namespace ZNsMain
ZtCObjOpt& operator=(const ZtCObjOpt& rhs)
{ 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 ;}

View File

@ -49,6 +49,7 @@ namespace ZNsMain
ZCStrLinkOpt VO_StrLinkOpt = VO_ZCLinkStrLis.GetObjOpt(1);
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("ABC");
@ -57,6 +58,7 @@ namespace ZNsMain
VO_StrLinkOpt = VO_ZCLinkStrLis.GetObjOpt(1);
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())
cout<<"# value by VO_StrLinkOpt : "<<VO_StrLinkOpt.value()<<endl;
@ -64,6 +66,7 @@ namespace ZNsMain
VO_StrLinkOpt = VO_ZCLinkStrLis.GetTailOpt();
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())
cout<<"# value by VO_StrLinkOpt : "<<VO_StrLinkOpt.value()<<endl;