OSDN Git Service

reference_counter のコンストラクタを分割
authorSubaruG <subaru_g@users.sourceforge.jp>
Fri, 22 Jan 2010 17:50:05 +0000 (02:50 +0900)
committerSubaruG <subaru_g@users.sourceforge.jp>
Fri, 22 Jan 2010 17:50:05 +0000 (02:50 +0900)
gintenlib/reference_counter.hpp

index c23c446..3bacb20 100644 (file)
       void Release() const;
       
      protected:
+      // 初期化
+      reference_counter();
       // 初期カウントを指定して初期化
-      reference_counter( int initial_count = 0 );
+      reference_counter( int initial_count );
       // コピーは一応可能にする
       // カウントは動かない
       reference_counter( const reference_counter& );
@@ -106,7 +108,8 @@ namespace gintenlib
     int use_count() const { return count; }
     
    protected:
-    reference_counter( int initial_count = 0 ) : count(initial_count) {}
+    reference_counter() : count(0) {}
+    reference_counter( int initial_count ) : count(initial_count) {}
     ~reference_counter()
     {
       using namespace std;
@@ -162,7 +165,8 @@ namespace gintenlib
     int use_count() const { return count; }
     
    protected:
-    reference_counter_base( int initial_count = 0 ) : count(initial_count) {}
+    reference_counter_base() : count(0) {}
+    reference_counter_base( int initial_count ) : count(initial_count) {}
     virtual ~reference_counter_base()
     {
       using namespace std;
@@ -185,6 +189,8 @@ namespace gintenlib
     : virtual reference_counter_base
   {
    protected:
+    reference_counter()
+      : reference_counter_base() {}
     reference_counter( int initial_count = 0 )
       : reference_counter_base(initial_count) {}
     virtual ~reference_counter(){}