#include "il2cpp-config.h"
|
#include "il2cpp-class-internals.h"
|
#include "Il2CppTypeHash.h"
|
#include "Il2CppSignatureHash.h"
|
#include "utils/HashUtils.h"
|
|
using il2cpp::utils::HashUtils;
|
|
namespace il2cpp
|
{
|
namespace metadata
|
{
|
size_t Il2CppSignatureHash::operator()(const il2cpp::utils::dynamic_array<const Il2CppType*>& signature) const
|
{
|
return Hash(signature);
|
}
|
|
size_t Il2CppSignatureHash::Hash(const il2cpp::utils::dynamic_array<const Il2CppType*>& signature)
|
{
|
il2cpp::utils::dynamic_array<const Il2CppType*>::const_iterator iter, end = signature.end();
|
size_t retVal = 0;
|
|
for (iter = signature.begin(); iter != end; ++iter)
|
retVal = HashUtils::Combine(retVal, Il2CppTypeHash::Hash(*iter));
|
|
return retVal;
|
}
|
} /* namespace metadata */
|
} /* namespace il2cpp */
|