ithewei 5 年 前
コミット
4f3387c248
2 ファイル変更11 行追加6 行削除
  1. 6 3
      base/hlog.h
  2. 5 3
      base/hobjectpool.h

+ 6 - 3
base/hlog.h

@@ -8,13 +8,16 @@
 #include <string.h>
 
 #ifdef _WIN32
-#define DIR_SEPARATOR   '\\'
+#define DIR_SEPARATOR       '\\'
+#define DIR_SEPARATOR_STR   "\\"
 #else
-#define DIR_SEPARATOR   '/'
+#define DIR_SEPARATOR       '/'
+#define DIR_SEPARATOR_STR   "/"
 #endif
 
 #ifndef __FILENAME__
-#define __FILENAME__  (strrchr(__FILE__, DIR_SEPARATOR) + 1)
+// #define __FILENAME__  (strrchr(__FILE__, DIR_SEPARATOR) ? strrchr(__FILE__, DIR_SEPARATOR) + 1 : __FILE__)
+#define __FILENAME__  (strrchr(DIR_SEPARATOR_STR __FILE__, DIR_SEPARATOR) + 1)
 #endif
 
 #include "hexport.h"

+ 5 - 3
base/hobjectpool.h

@@ -136,10 +136,12 @@ private:
     std::condition_variable cond_;
 };
 
-template <typename T>
+template<class T, class TFactory = HObjectFactory<T>>
 class HPoolObject {
 public:
-    HPoolObject(HObjectPool<T>& pool) : pool_(pool)
+    typedef HObjectPool<T> PoolType;
+
+    HPoolObject(PoolType& pool) : pool_(pool)
     {
         sptr_ = pool_.Borrow();
     }
@@ -170,7 +172,7 @@ public:
     }
 
 private:
-    HObjectPool<T>& pool_;
+    PoolType& pool_;
     std::shared_ptr<T> sptr_;
 };