mirror of
https://github.com/PrimeDecomp/prime.git
synced 2025-08-26 22:55:44 +00:00
CSimplePool matches
This commit is contained in:
parent
58bf733091
commit
03f3b2e312
@ -16,15 +16,15 @@ public:
|
|||||||
CSimplePool(IFactory& factory);
|
CSimplePool(IFactory& factory);
|
||||||
~CSimplePool();
|
~CSimplePool();
|
||||||
void DebugDumpPool() const;
|
void DebugDumpPool() const;
|
||||||
virtual CToken GetObj(const SObjectTag& tag, const CVParamTransfer& xfer);
|
CToken GetObj(const SObjectTag& tag, const CVParamTransfer& xfer) override;
|
||||||
virtual CToken GetObj(const SObjectTag& tag);
|
CToken GetObj(const SObjectTag& tag) override;
|
||||||
virtual CToken GetObj(const char* name);
|
CToken GetObj(const char* name) override;
|
||||||
virtual CToken GetObj(const char* name, const CVParamTransfer& xfer);
|
CToken GetObj(const char* name, const CVParamTransfer& xfer) override;
|
||||||
virtual bool HasObject(const SObjectTag& tag) const;
|
bool HasObject(const SObjectTag& tag) const override;
|
||||||
virtual bool ObjectIsLive(const SObjectTag& tag) const;
|
bool ObjectIsLive(const SObjectTag& tag) const override;
|
||||||
virtual IFactory& GetFactory() const { return x18_factory; }
|
IFactory& GetFactory() const override { return x18_factory; }
|
||||||
virtual void Flush();
|
void Flush() override;
|
||||||
virtual void ObjectUnreferenced(const SObjectTag& tag);
|
void ObjectUnreferenced(const SObjectTag& tag) override;
|
||||||
rstl::vector< SObjectTag > GetReferencedTags();
|
rstl::vector< SObjectTag > GetReferencedTags();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -13,6 +13,8 @@ namespace rstl {
|
|||||||
template < typename K, typename P, int unk, typename Select, typename Hash, typename Equal,
|
template < typename K, typename P, int unk, typename Select, typename Hash, typename Equal,
|
||||||
typename Alloc = rmemory_allocator >
|
typename Alloc = rmemory_allocator >
|
||||||
class hash_table {
|
class hash_table {
|
||||||
|
public:
|
||||||
|
int size() const { return x.size(); }
|
||||||
private:
|
private:
|
||||||
rstl::vector< rstl::list< P, Alloc > /*::iterator*/, Alloc > x;
|
rstl::vector< rstl::list< P, Alloc > /*::iterator*/, Alloc > x;
|
||||||
};
|
};
|
||||||
@ -21,6 +23,8 @@ template < typename K, typename V, typename Hash, typename Equal,
|
|||||||
typename Alloc = rmemory_allocator >
|
typename Alloc = rmemory_allocator >
|
||||||
class hash_map {
|
class hash_map {
|
||||||
typedef rstl::pair< K, V > Pair;
|
typedef rstl::pair< K, V > Pair;
|
||||||
|
public:
|
||||||
|
int size() const { return table.size(); }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
hash_table< K, Pair, 0, select1st< Pair >, Hash, Equal, Alloc > table;
|
hash_table< K, Pair, 0, select1st< Pair >, Hash, Equal, Alloc > table;
|
||||||
|
@ -1,13 +1,15 @@
|
|||||||
#include "Kyoto/CSimplePool.hpp"
|
#include "Kyoto/CSimplePool.hpp"
|
||||||
#include "Kyoto/CVParamTransfer.hpp"
|
#include "Kyoto/IFactory.hpp"
|
||||||
#include "Kyoto/SObjectTag.hpp"
|
|
||||||
|
|
||||||
CSimplePool::CSimplePool(IFactory& factory)
|
CSimplePool::CSimplePool(IFactory& factory)
|
||||||
: x18_factory(factory), x1c_paramXfr(CVParamTransfer::Null()) {}
|
: x18_factory(factory), x1c_paramXfr(CVParamTransfer::Null()) {}
|
||||||
|
|
||||||
CSimplePool::~CSimplePool() {
|
CSimplePool::~CSimplePool() {
|
||||||
|
Flush();
|
||||||
|
if (x8_resources.size() > 0) {
|
||||||
DebugDumpPool();
|
DebugDumpPool();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void CSimplePool::ObjectUnreferenced(const SObjectTag& tag) {}
|
void CSimplePool::ObjectUnreferenced(const SObjectTag& tag) {}
|
||||||
|
|
||||||
@ -15,26 +17,19 @@ CToken CSimplePool::GetObj(const SObjectTag& tag, const CVParamTransfer& xfer) {
|
|||||||
|
|
||||||
CToken CSimplePool::GetObj(const SObjectTag& tag) { return CSimplePool::GetObj(tag, x1c_paramXfr); }
|
CToken CSimplePool::GetObj(const SObjectTag& tag) { return CSimplePool::GetObj(tag, x1c_paramXfr); }
|
||||||
|
|
||||||
CToken CSimplePool::GetObj(const char* name) { return CToken(); }
|
CToken CSimplePool::GetObj(const char* name) { return CSimplePool::GetObj(name, x1c_paramXfr); }
|
||||||
|
|
||||||
CToken CSimplePool::GetObj(const char* name, const CVParamTransfer& xfer) { return CToken(); }
|
CToken CSimplePool::GetObj(const char* name, const CVParamTransfer& xfer) {
|
||||||
|
const SObjectTag* tag = CSimplePool::GetFactory().GetResourceIdByName(name);
|
||||||
bool CSimplePool::HasObject(const SObjectTag& tag) const {
|
return CSimplePool::GetObj(*tag, xfer);
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CSimplePool::ObjectIsLive(const SObjectTag& tag) const {
|
bool CSimplePool::HasObject(const SObjectTag& tag) const { return false; }
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CSimplePool::Flush() {
|
bool CSimplePool::ObjectIsLive(const SObjectTag& tag) const { return false; }
|
||||||
|
|
||||||
}
|
void CSimplePool::Flush() {}
|
||||||
|
|
||||||
void CSimplePool::DebugDumpPool() const {
|
void CSimplePool::DebugDumpPool() const {}
|
||||||
|
|
||||||
}
|
rstl::vector< SObjectTag > CSimplePool::GetReferencedTags() { return rstl::vector< SObjectTag >(); }
|
||||||
|
|
||||||
rstl::vector<SObjectTag> CSimplePool::GetReferencedTags() {
|
|
||||||
return rstl::vector<SObjectTag>();
|
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user