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