mirror of
https://github.com/edubart/otclient.git
synced 2025-12-25 09:17:11 +01:00
Add remove function to stdext storages
This commit is contained in:
@@ -37,10 +37,25 @@ public:
|
||||
m_data.resize(k+1);
|
||||
m_data[k] = value;
|
||||
}
|
||||
bool remove(const Key& k) {
|
||||
if(m_data.size() < k)
|
||||
return false;
|
||||
if(m_data[k].empty())
|
||||
return false;
|
||||
m_data[k] = any();
|
||||
return true;
|
||||
}
|
||||
template<typename T> T get(const Key& k) const { return has(k) ? any_cast<T>(m_data[k]) : T(); }
|
||||
bool has(const Key& k) const { return k < m_data.size() && !m_data[k].empty(); }
|
||||
|
||||
std::size_t size() const { return m_data.size(); }
|
||||
std::size_t size() const {
|
||||
std::size_t count = 0;
|
||||
for(std::size_t i=0;i<m_data.size();++i)
|
||||
if(!m_data[i].empty())
|
||||
count++;
|
||||
return count;
|
||||
}
|
||||
|
||||
void clear() { m_data.clear(); }
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user