Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

at_lifetime_mt.h

Go to the documentation of this file.
00001 //
00002 // The Austria library is copyright (c) Gianni Mariani 2004.
00003 // 
00004 // Grant Of License.  Grants to LICENSEE the non-exclusive right to use the Austria
00005 // library subject to the terms of the LGPL.
00006 // 
00007 // A copy of the license is available in this directory or one may be found at this URL:
00008 //      http://www.gnu.org/copyleft/lesser.txt
00009 // 
00015 #ifndef x_at_lifetime_mt_h_x
00016 #define x_at_lifetime_mt_h_x 1
00017 
00018 #include "at_exports.h"
00019 #include "at_lifetime.h"
00020 #include "at_atomic.h"
00021 
00022 
00023 // Austria namespace
00024 namespace at
00025 {
00026 
00027 
00028 // ======== PtrTarget_MT ==============================================
00036 AUSTRIA_TEMPLATE_EXPORT(PtrTarget_Generic, AtomicCount)
00037 typedef PtrTarget_Generic<AtomicCount> PtrTarget_MT;
00038 
00039 template <typename w_ptr_style_traits>
00040 class PtrTarget_Helpers< AtomicCount, w_ptr_style_traits >
00041 {
00042     public:
00043 
00044 
00045     // ======== IsRefCountOne =========================================
00056     static bool IsRefCountOne(
00057         const PtrTarget_Generic<AtomicCount, w_ptr_style_traits> * i_ptr
00058     )
00059     {
00060         return 1 == i_ptr->m_ref_count.Get();
00061     }
00062 };
00063 
00064 
00065 }; // namespace
00066 #endif // x_at_lifetime_mt_h_x
00067 

Generated for Austria by doxygen and MakeXS at Sun Oct 24 17:35:34 PDT 2004