2021-05-11 06:51:06 +02:00
|
|
|
|
|
|
|
namespace lasd {
|
|
|
|
|
2021-05-11 06:52:44 +02:00
|
|
|
template <typename Data>
|
|
|
|
void AuxFoldExists(const Data& dat, const void* val, void* exists){
|
|
|
|
if(dat == *((Data*)val)){
|
|
|
|
*((bool*)exists) = true;
|
|
|
|
}
|
|
|
|
}
|
2021-05-11 06:51:06 +02:00
|
|
|
|
2021-05-11 06:52:44 +02:00
|
|
|
template <typename Data>
|
|
|
|
bool FoldableContainer<Data>::Exists(const Data& dat) const noexcept{
|
|
|
|
bool exists = false;
|
|
|
|
FoldPreOrder(&AuxFoldExists<Data>, &dat, &exists);
|
|
|
|
return exists;
|
|
|
|
}
|
2021-05-11 06:51:06 +02:00
|
|
|
|
|
|
|
}
|