1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2024-11-08 00:37:15 +01:00

Add method to check for existence of an element.

This commit is contained in:
Sandu Liviu Catalin 2021-07-04 03:38:28 +03:00
parent 323dc3ad1b
commit 8fc23a837a
2 changed files with 13 additions and 0 deletions

View File

@ -25,6 +25,7 @@ void Register_Dictionary(HSQUIRRELVM vm, Table & ns)
.Func(_SC("Set"), &SqDictionary::Set)
.Func(_SC("Clear"), &SqDictionary::Clear)
.Func(_SC("Erase"), &SqDictionary::Erase)
.Func(_SC("Exists"), &SqDictionary::Exists)
.CbFunc(_SC("Each"), &SqDictionary::Each)
.CbFunc(_SC("EachWith"), &SqDictionary::EachWith)
.CbFunc(_SC("While"), &SqDictionary::While)

View File

@ -231,6 +231,18 @@ struct SqDictionary
return false;
}
/* --------------------------------------------------------------------------------------------
* Check whether an element exists.
*/
bool Exists(SqKeyHash k) const
{
for (auto & e : mC)
{
if (e.first == k.mH) return true;
}
return false;
}
/* --------------------------------------------------------------------------------------------
* Iterate all values through a functor.
*/