#include <SharedPtrObjectPool.h>
Public メソッド | |
template<typename Arg0, typename Arg1, typename Arg2, typename Arg3> | |
boost::shared_ptr< T > | construct (const Arg0 &a0, const Arg1 &a1, const Arg2 &a2, const Arg3 &a3) |
template<typename Arg0, typename Arg1, typename Arg2> | |
boost::shared_ptr< T > | construct (const Arg0 &a0, const Arg1 &a1, const Arg2 &a2) |
template<typename Arg0, typename Arg1> | |
boost::shared_ptr< T > | construct (const Arg0 &a0, const Arg1 &a1) |
template<typename Arg0> | |
boost::shared_ptr< T > | construct (const Arg0 &a0) |
boost::shared_ptr< T > | construct () |
構成 | |
struct | SharedPtrObjectPoolDeleter |
struct | SharedPtrObjectPoolTag |
SharedPtrObjectPool.h の 39 行で定義されています。
boost::shared_ptr<T> Onikiri::SharedPtrObjectPool< T >::construct | ( | const Arg0 & | a0, | |
const Arg1 & | a1, | |||
const Arg2 & | a2, | |||
const Arg3 & | a3 | |||
) | [inline] |
SharedPtrObjectPool.h の 116 行で定義されています。
00118 { 00119 T* const ret = (T*)Pool::malloc(); 00120 if(ret == 0) 00121 return boost::shared_ptr<T>( ret ); 00122 try { new (ret) T(a0, a1, a2, a3); } 00123 catch (...) { Pool::free(ret); throw; } 00124 00125 return boost::shared_ptr<T>( 00126 ret, 00127 SharedPtrObjectPoolDeleter() ); 00128 };
boost::shared_ptr<T> Onikiri::SharedPtrObjectPool< T >::construct | ( | const Arg0 & | a0, | |
const Arg1 & | a1, | |||
const Arg2 & | a2 | |||
) | [inline] |
SharedPtrObjectPool.h の 102 行で定義されています。
00103 { 00104 T* const ret = (T*)Pool::malloc(); 00105 if(ret == 0) 00106 return boost::shared_ptr<T>( ret ); 00107 try { new (ret) T(a0, a1, a2); } 00108 catch (...) { Pool::free(ret); throw; } 00109 00110 return boost::shared_ptr<T>( 00111 ret, 00112 SharedPtrObjectPoolDeleter() ); 00113 };
boost::shared_ptr<T> Onikiri::SharedPtrObjectPool< T >::construct | ( | const Arg0 & | a0, | |
const Arg1 & | a1 | |||
) | [inline] |
SharedPtrObjectPool.h の 88 行で定義されています。
00089 { 00090 T* const ret = (T*)Pool::malloc(); 00091 if(ret == 0) 00092 return boost::shared_ptr<T>( ret ); 00093 try { new (ret) T(a0, a1); } 00094 catch (...) { Pool::free(ret); throw; } 00095 00096 return boost::shared_ptr<T>( 00097 ret, 00098 SharedPtrObjectPoolDeleter() ); 00099 };
boost::shared_ptr<T> Onikiri::SharedPtrObjectPool< T >::construct | ( | const Arg0 & | a0 | ) | [inline] |
SharedPtrObjectPool.h の 74 行で定義されています。
00075 { 00076 T* const ret = (T*)Pool::malloc(); 00077 if(ret == 0) 00078 return boost::shared_ptr<T>( ret ); 00079 try { new (ret) T(a0); } 00080 catch (...) { Pool::free(ret); throw; } 00081 00082 return boost::shared_ptr<T>( 00083 ret, 00084 SharedPtrObjectPoolDeleter() ); 00085 };
boost::shared_ptr<T> Onikiri::SharedPtrObjectPool< T >::construct | ( | ) | [inline] |
SharedPtrObjectPool.h の 60 行で定義されています。
00061 { 00062 T* const ret = (T*)Pool::malloc(); 00063 if(ret == 0) 00064 return boost::shared_ptr<T>( ret ); 00065 try { new (ret) T(); } 00066 catch (...) { Pool::free(ret); throw; } 00067 00068 return boost::shared_ptr<T>( 00069 ret, 00070 SharedPtrObjectPoolDeleter() ); 00071 };