#pragma once #ifndef DBPROXY_GUILD_COMMON_H #define DBPROXY_GUILD_COMMON_H #include class Guild; class GuildMember; typedef util::SolarHashTable GUILDMEMBER_HASH; typedef util::SolarHashTable GUILD_HASH; typedef STLX_HASH_MAP GUILD_NAME_HASH; #ifdef _CH_20100420_CHANGE_DOMINATION_APPLY_WAY //<°æ¸Å Á¤º¸> typedef STLX_LIST DominationAuctionInfoList; //<Á¡·É ¸Ê ÄÚµå, Áö¿ªº° °æ¸Å ¸®½ºÆ®> typedef STLX_HASH_MAP AllAreaAuctionInfoMap; #else //<ÀÔÂû±Ý¾×(۰ª), °æ¸Å Á¤º¸> typedef STLX_MULTIMAP DominationAuctionInfoMap; //<Áö¿ª Á¡·É ¸ÊÄÚµå, Áö¿ªº° °æ¸Å Á¤º¸ ¸Ê> typedef STLX_HASH_MAP AllAreaAuctionInfoMap; #endif typedef STLX_MULTIMAP MemberMap; //-------------------------------------------------------------------------------- //s GUILDPOOLÀÇ ¸Þ¸ð¸® Ç® °ü·Ã ÄÚµå //-------------------------------------------------------------------------------- template class GUILDPOOL { public: GUILDPOOL(){ m_Pool.Initialize(20, 20, "GUILDPOOL"); } ~GUILDPOOL(){ m_Pool.Release(); } _Ct * Alloc() { return (_Ct*)m_Pool.Alloc(); } BOOL Free( _Ct * p ) { return m_Pool.Free(p); } private: util::CMemoryPoolFactory<_Ct> m_Pool; }; #define __DECL_GUILDPOOL(_ClassType) \ private: \ static GUILDPOOL<_ClassType> s_Pool; \ public: \ static _ClassType * ALLOC() { return s_Pool.Alloc(); } \ static VOID FREE( _ClassType * pClass ) { s_Pool.Free( pClass ); } #define __IMPL_GUILDPOOL(_ClassType) \ GUILDPOOL<_ClassType> _ClassType::s_Pool; //-------------------------------------------------------------------------------- //e GUILDPOOLÀÇ ¸Þ¸ð¸® Ç® °ü·Ã ÄÚµå //-------------------------------------------------------------------------------- #endif //DBPROXY_GUILD_COMMON_H