aboutsummaryrefslogtreecommitdiff
path: root/common/xmlparser.h
diff options
context:
space:
mode:
authorMax Horn2008-10-12 22:05:26 +0000
committerMax Horn2008-10-12 22:05:26 +0000
commit95474b048aa742f500f276f782e9998eccfce8d9 (patch)
treed1724aeabc9af30742c64a2cb85e27970bfd648a /common/xmlparser.h
parent24dea3aff2e635f19695ac680a33bb6738bbad97 (diff)
downloadscummvm-rg350-95474b048aa742f500f276f782e9998eccfce8d9.tar.gz
scummvm-rg350-95474b048aa742f500f276f782e9998eccfce8d9.tar.bz2
scummvm-rg350-95474b048aa742f500f276f782e9998eccfce8d9.zip
COMMON: Added a new ObjectPool class, with matching operator new/delete overloads
svn-id: r34785
Diffstat (limited to 'common/xmlparser.h')
-rw-r--r--common/xmlparser.h10
1 files changed, 4 insertions, 6 deletions
diff --git a/common/xmlparser.h b/common/xmlparser.h
index cd2580b448..31ba4e594e 100644
--- a/common/xmlparser.h
+++ b/common/xmlparser.h
@@ -51,7 +51,7 @@ namespace Common {
#define MAX_XML_DEPTH 8
#define XML_KEY(keyName) {\
- lay = new CustomXMLKeyLayout;\
+ lay = new CustomXMLKeyLayout;\
lay->callback = (&kLocalParserName::parserCallback_##keyName);\
layout.top()->children[#keyName] = lay;\
layout.push(lay); \
@@ -169,16 +169,14 @@ public:
XMLKeyLayout *layout;
};
- FixedSizeMemoryPool<sizeof(ParserNode), MAX_XML_DEPTH> _nodePool;
+ ObjectPool<ParserNode, MAX_XML_DEPTH> _nodePool;
ParserNode *allocNode() {
- void* mem = _nodePool.malloc();
- return new (mem) ParserNode;
+ return new (_nodePool) ParserNode;
}
void freeNode(ParserNode *node) {
- node->~ParserNode();
- _nodePool.free(node);
+ _nodePool.deleteChunk(node);
}
/**