00001 /* 00002 * Copyright 2006 Sony Computer Entertainment Inc. 00003 * 00004 * Licensed under the MIT Open Source License, for details please see license.txt or the website 00005 * http://www.opensource.org/licenses/mit-license.php 00006 * 00007 */ 00008 00009 #ifndef __DAE_STRING_TABLE_H__ 00010 #define __DAE_STRING_TABLE_H__ 00011 #include <dae/daeTypes.h> 00012 #include <dae/daeMemorySystem.h> 00013 00018 class daeStringTable 00019 { 00020 public: // allocate/construct/destruct/deallocate 00024 DAE_ALLOC 00029 DLLSPEC daeStringTable(int stringBufferSize = 1024*1024); 00030 00034 ~daeStringTable() { clear(); } 00035 00036 public: // INTERFACE 00042 DLLSPEC daeString allocString(daeString string); 00043 00047 DLLSPEC void clear(); 00048 00049 private: // MEMBERS 00050 size_t _stringBufferSize; 00051 size_t _stringBufferIndex; 00052 daeStringArray _stringBuffersList; 00053 00054 daeString allocateBuffer(); 00055 00056 daeString _empty; 00057 }; 00058 00059 #endif //__DAE_STRING_TABLE_H__