This commit is contained in:
watrabi
2025-10-28 14:05:46 -04:00
parent 977f1ff4b8
commit c93494f795
452 changed files with 47860 additions and 152 deletions
+43
View File
@@ -0,0 +1,43 @@
#pragma once
#include <memory>
#include <string>
#include <boost/functional/hash/hash.hpp>
namespace RBX {
template<class Type>
class ProtectedGeneric
{
private:
Type value;
std::size_t hash;
public:
const Type& peekValue() const
{
return value;
}
bool getValue(Type& _value) const
{
_value = this->value;
boost::hash<Type> hasher;
std::size_t newHash = hasher(_value);
return (hash == newHash);
}
void setValue(Type _value)
{
this->value = _value;
boost::hash<Type> hasher;
hash = hasher(_value);
}
ProtectedGeneric(Type _value)
{
setValue(_value);
}
private:
ProtectedGeneric(const ProtectedGeneric& other)
{}
};
}