CL_SharedPtr_Link Class Reference
[clanCore System]

#include <sharedptr.h>

Inheritance diagram for CL_SharedPtr_Link:

CL_SharedPtr< Type > CL_UnknownSharedPtr CL_WeakPtr< Type > List of all members.

Public Member Functions

 CL_SharedPtr_Link ()
 CL_SharedPtr_Link (const CL_SharedPtr_Link &copy)
 ~CL_SharedPtr_Link ()
CL_SharedPtr_Linkoperator= (const CL_SharedPtr_Link &copy)
template<typename Type>
void create_deleter (Type *instance)
template<typename Type>
void create_deleter (Type *ptr, CL_MemoryPool *pool)
template<typename Type>
void create_deleter (Type *ptr, void(*free_callback)(Type *ptr))
template<typename Type, typename FreeClass>
void create_deleter (Type *ptr, FreeClass *free_class, void(FreeClass::*free_callback)(Type *ptr))
void call_deleter ()
void connect (const CL_SharedPtr_Link &copy)
bool disconnect ()
 Disconnect from linked list.
void set_weak_link ()
bool is_invalid_weak_link () const

Public Attributes

CL_Mutexmutex

Detailed Description

(Internal ClanLib Class)


Constructor & Destructor Documentation

CL_SharedPtr_Link::CL_SharedPtr_Link  )  [inline]
 

CL_SharedPtr_Link::CL_SharedPtr_Link const CL_SharedPtr_Link copy  )  [inline]
 

CL_SharedPtr_Link::~CL_SharedPtr_Link  )  [inline]
 


Member Function Documentation

void CL_SharedPtr_Link::call_deleter  )  [inline]
 

void CL_SharedPtr_Link::connect const CL_SharedPtr_Link copy  )  [inline]
 

template<typename Type, typename FreeClass>
void CL_SharedPtr_Link::create_deleter Type *  ptr,
FreeClass *  free_class,
void(FreeClass::*)(Type *ptr)  free_callback
[inline]
 

template<typename Type>
void CL_SharedPtr_Link::create_deleter Type *  ptr,
void(*)(Type *ptr)  free_callback
[inline]
 

template<typename Type>
void CL_SharedPtr_Link::create_deleter Type *  ptr,
CL_MemoryPool pool
[inline]
 

template<typename Type>
void CL_SharedPtr_Link::create_deleter Type *  instance  )  [inline]
 

bool CL_SharedPtr_Link::disconnect  )  [inline]
 

Disconnect from linked list.

Returns true if list is empty or only contains weak links.

Reimplemented in CL_UnknownSharedPtr, CL_SharedPtr< Type >, CL_WeakPtr< Type >, CL_SharedPtr< CL_SoundFilter_Impl >, CL_SharedPtr< CL_SharedGCData_Impl >, CL_SharedPtr< CL_NetGameClient_Impl >, CL_SharedPtr< CL_ComboBox_Impl >, CL_SharedPtr< CL_BlockAllocator_Impl >, CL_SharedPtr< CL_Callback_Impl_5< RetVal, P1, P2, P3, P4, P5 > >, CL_SharedPtr< CL_HTTPServer_Impl >, CL_SharedPtr< CL_ElementArrayBuffer_Impl >, CL_SharedPtr< CL_ListViewSelectedItem_Impl >, CL_SharedPtr< CL_Callback_Impl_v3< P1, P2, P3 > >, CL_SharedPtr< CL_TabPage_Impl >, CL_SharedPtr< CL_SHA1_Impl >, CL_SharedPtr< CL_PopupMenuItem_Impl >, CL_SharedPtr< CL_XMLTokenizer_Generic >, CL_SharedPtr< CL_Slot_Impl >, CL_SharedPtr< CL_SoundBuffer_Session_Impl >, CL_SharedPtr< CL_PopupMenu_Impl >, CL_SharedPtr< CL_ScrollBar_Impl >, CL_SharedPtr< CL_Service_Impl >, CL_SharedPtr< CL_TextEdit_Impl >, CL_SharedPtr< CL_Cursor_Impl >, CL_SharedPtr< CL_AcceleratorTable_Impl >, CL_SharedPtr< CL_Callback_Impl_v0 >, CL_SharedPtr< CL_RenderBuffer_Impl >, CL_SharedPtr< CL_AcceleratorKey_Impl >, CL_SharedPtr< CL_Event_Impl >, CL_SharedPtr< CL_SoundProvider_Raw_Impl >, CL_SharedPtr< CL_VertexArrayBuffer_Impl >, CL_SharedPtr< CL_ProgramObject_Impl >, CL_SharedPtr< CL_ZipArchive_Impl >, CL_SharedPtr< CL_CSSSelector_Impl >, CL_SharedPtr< CL_XPathObject_Impl >, CL_SharedPtr< CL_StringAllocator_Impl >, CL_SharedPtr< CL_SocketName_Impl >, CL_SharedPtr< CL_Base64Encoder_Impl >, CL_SharedPtr< CL_ToolBarItem_Impl >, CL_SharedPtr< CL_InputDevice_Impl >, CL_SharedPtr< CL_XMLWriter_Generic >, CL_SharedPtr< CL_Texture_Impl >, CL_SharedPtr< CL_ToolBar_Impl >, CL_SharedPtr< CL_LightModel_GL1_Impl >, CL_SharedPtr< CL_BezierCurve_Impl >, CL_SharedPtr< CL_JPEGCompressor_Impl >, CL_SharedPtr< CL_ToolTip_Impl >, CL_SharedPtr< CL_GUIThemePartProperty_Impl >, CL_SharedPtr< CL_SoundBuffer_Impl >, CL_SharedPtr< CL_GUIWindowManager_Impl >, CL_SharedPtr< CL_VirtualDirectoryListingEntry_Impl >, CL_SharedPtr< CL_Callback_Impl_4< RetVal, P1, P2, P3, P4 > >, CL_SharedPtr< CL_PolygonRasterizer_Impl >, CL_SharedPtr< CL_GUIManager_Impl >, CL_SharedPtr< CL_Pen_Impl >, CL_SharedPtr< CL_SoundProvider_Recorder_Impl >, CL_SharedPtr< CL_Slider_Impl >, CL_SharedPtr< CL_RegExp_Impl >, CL_SharedPtr< CL_ProgramUniform_Impl >, CL_SharedPtr< CL_RadioButton_Impl >, CL_SharedPtr< CL_FontDescription_Impl >, CL_SharedPtr< CL_DisplayWindowDescription_Impl >, CL_SharedPtr< CL_DomImplementation_Generic >, CL_SharedPtr< CL_MenuBar_Impl >, CL_SharedPtr< CL_PushButton_Impl >, CL_SharedPtr< CL_IRCConnection_Generic >, CL_SharedPtr< CL_VirtualDirectory_Impl >, CL_SharedPtr< CL_DBConnection_Impl >, CL_SharedPtr< CL_WebservicePart_Impl >, CL_SharedPtr< CL_SoundProvider_Wave_Impl >, CL_SharedPtr< CL_Contour_Impl >, CL_SharedPtr< CL_SpriteDescription_Impl >, CL_SharedPtr< CL_LineEdit_Impl >, CL_SharedPtr< CL_Spin_Impl >, CL_SharedPtr< CL_Sprite_Impl >, CL_SharedPtr< CL_GUIMessage_Impl >, CL_SharedPtr< CL_SlotCallback >, CL_SharedPtr< CL_DataBuffer_Impl >, CL_SharedPtr< CL_Frame_Impl >, CL_SharedPtr< CL_FrameBuffer_Impl >, CL_SharedPtr< CL_SoundProvider_Vorbis_Impl >, CL_SharedPtr< CL_GUIWindowManagerTextureWindow_Impl >, CL_SharedPtr< CL_Timer_Impl >, CL_SharedPtr< CL_AccessControlList_Impl >, CL_SharedPtr< CL_SoundOutput_Impl >, CL_SharedPtr< CL_CDDrive_Impl >, CL_SharedPtr< CL_CSSDocument_Impl >, CL_SharedPtr< CL_DelauneyTriangulator_Generic >, CL_SharedPtr< CL_Callback_Impl_v1< CL_Rect & > >, CL_SharedPtr< CL_GUITheme_Impl >, CL_SharedPtr< CL_GraphicContext_GL1_Impl >, CL_SharedPtr< CL_PrimitivesArray_Impl >, CL_SharedPtr< CL_VirtualFileSystem_Impl >, CL_SharedPtr< CL_FontMetrics_Impl >, CL_SharedPtr< CL_HTTPRequestHandler_Impl >, CL_SharedPtr< CL_CSSRuleSet_Impl >, CL_SharedPtr< CL_GraphicContext_GL_Impl >, CL_SharedPtr< CL_InputState_Impl >, CL_SharedPtr< CL_ListView_Impl >, CL_SharedPtr< CL_GroupBox_Impl >, CL_SharedPtr< CL_GUILayout_Impl >, CL_SharedPtr< CL_OcclusionQuery_Impl >, CL_SharedPtr< CL_WebserviceMessage_Impl >, CL_SharedPtr< CL_HTTPClientConnection_Impl >, CL_SharedPtr< CL_WebserviceClient_Impl >, CL_SharedPtr< CL_Callback_Impl_v4< P1, P2, P3, P4 > >, CL_SharedPtr< CL_Callback_Impl_v2< P1, P2 > >, CL_SharedPtr< CL_DirectoryScanner_Impl >, CL_SharedPtr< CL_IconSet_Impl >, CL_SharedPtr< CL_TextureUnit_GL1_Impl >, CL_SharedPtr< CL_DNSResourceRecord_Impl >, CL_SharedPtr< CL_CSSBox_Impl >, CL_SharedPtr< CL_DBTransaction_Impl >, CL_SharedPtr< CL_ZipFileEntry_Impl >, CL_SharedPtr< CL_Callback_Impl_v2< CL_GUITopLevelWindow *, const CL_Rect & > >, CL_SharedPtr< CL_FileDialog_Impl >, CL_SharedPtr< CL_Thread_Impl >, CL_SharedPtr< CL_Resource_Impl >, CL_SharedPtr< CL_Callback_Impl_1< RetVal, P1 > >, CL_SharedPtr< CL_ImageView_Impl >, CL_SharedPtr< CL_CSSBoxLayout_Impl >, CL_SharedPtr< CL_ListViewColumnData_Impl >, CL_SharedPtr< CL_TCPListen_Impl >, CL_SharedPtr< CL_GUIComponentDescription_Impl >, CL_SharedPtr< CL_ListViewColumnHeader_Impl >, CL_SharedPtr< CL_Font_Impl >, CL_SharedPtr< CL_ResourceManager_Impl >, CL_SharedPtr< CL_OutlineProviderBitmap_Generic >, CL_SharedPtr< CL_CollisionOutline_Generic >, CL_SharedPtr< CL_IODevice_Impl >, CL_SharedPtr< CL_ListViewHeader_Impl >, CL_SharedPtr< CL_EarClipTriangulator_Impl >, CL_SharedPtr< CL_Label_Impl >, CL_SharedPtr< CL_Callback_Impl_v2< CL_GUITopLevelWindow *, const CL_Size & > >, CL_SharedPtr< CL_DisplayWindow_Impl >, CL_SharedPtr< CL_Window_Impl >, CL_SharedPtr< CL_VirtualDirectoryListing_Impl >, CL_SharedPtr< CL_DNSResolver_Impl >, CL_SharedPtr< CL_GL1WindowDescription_Impl >, CL_SharedPtr< CL_TextureGroup_Impl >, CL_SharedPtr< CL_Tab_Impl >, CL_SharedPtr< CL_ListViewItem_Impl >, CL_SharedPtr< CL_PipeListen_Impl >, CL_SharedPtr< CL_ScreenInfo_Impl >, CL_SharedPtr< CL_DNSPacket_Impl >, CL_SharedPtr< CL_ShaderObject_Impl >, CL_SharedPtr< CL_OpenGLWindowDescription_Impl >, CL_SharedPtr< CL_Callback_Impl_v3< CL_GUITopLevelWindow *, const CL_InputEvent &, const CL_InputState & > >, CL_SharedPtr< CL_Callback_Impl_v1< CL_GUITopLevelWindow * > >, CL_SharedPtr< CL_LightSource_GL1_Impl >, CL_SharedPtr< CL_Callback_Impl_v1< P1 > >, CL_SharedPtr< CL_MainWindow_Impl >, CL_SharedPtr< CL_Callback_Impl_2< RetVal, P1, P2 > >, CL_SharedPtr< CL_Callback_Impl_0< RetVal > >, CL_SharedPtr< CL_JPEGDecompressor_Impl >, CL_SharedPtr< CL_DomNode_Generic >, CL_SharedPtr< CL_OutlineTriangulator_Generic >, CL_SharedPtr< CL_RoundedRect_Impl >, CL_SharedPtr< CL_SoundProvider_MikMod_Impl >, CL_SharedPtr< CL_GUIThemePart_Impl >, CL_SharedPtr< CL_Subtexture_Impl >, CL_SharedPtr< CL_SpanLayout_Impl >, CL_SharedPtr< CL_DBCommand_Impl >, CL_SharedPtr< CL_InputContext_Impl >, CL_SharedPtr< CL_DCCDownload_Generic >, CL_SharedPtr< CL_PixelBuffer_Impl >, CL_SharedPtr< CL_RegExpMatch_Impl >, CL_SharedPtr< CL_InputEvent_Impl >, CL_SharedPtr< CL_ZipWriter_Impl >, CL_SharedPtr< CL_UDPSocket_Impl >, CL_SharedPtr< CL_DomNamedNodeMap_Generic >, CL_SharedPtr< CL_ListViewIcon_Impl >, CL_SharedPtr< CL_EarClipResult_Impl >, CL_SharedPtr< CL_Material_GL1_Impl >, CL_SharedPtr< CL_BlendMode_Impl >, CL_SharedPtr< CL_Signal_Impl >, CL_SharedPtr< CL_GUIComponent_Impl >, CL_SharedPtr< CL_GraphicContext_Impl >, CL_SharedPtr< CL_ListViewIconList_Impl >, CL_SharedPtr< CL_BufferControl_Impl >, CL_SharedPtr< CL_HTTPServerConnection_Impl >, CL_SharedPtr< CL_DisplayTarget_Impl >, CL_SharedPtr< CL_StatusBar_Impl >, CL_SharedPtr< CL_NetGameServer_Impl >, CL_SharedPtr< CL_ProgramAttribute_Impl >, CL_SharedPtr< CL_ListViewSelection_Impl >, CL_SharedPtr< CL_Callback_Impl_v5< P1, P2, P3, P4, P5 > >, CL_SharedPtr< CL_CheckBox_Impl >, CL_SharedPtr< CL_XPathEvaluator_Impl >, CL_SharedPtr< CL_CSSProperty_Impl >, CL_SharedPtr< CL_ZipReader_Impl >, CL_SharedPtr< CL_Base64Decoder_Impl >, CL_SharedPtr< CL_PrimitivesArrayBuilder_Impl >, CL_SharedPtr< CL_ProgressBar_Impl >, CL_SharedPtr< CL_DBReader_Impl >, CL_SharedPtr< CL_Callback_Impl_3< RetVal, P1, P2, P3 > >, CL_SharedPtr< CL_CSSImport_Impl >, CL_SharedPtr< CL_Image_Impl >, CL_SharedPtr< CL_OutlineProviderFile_Generic >, and CL_SharedPtr< CL_SoundProvider_Impl >.

bool CL_SharedPtr_Link::is_invalid_weak_link  )  const [inline]
 

CL_SharedPtr_Link& CL_SharedPtr_Link::operator= const CL_SharedPtr_Link copy  )  [inline]
 

void CL_SharedPtr_Link::set_weak_link  )  [inline]
 


Member Data Documentation

CL_Mutex* CL_SharedPtr_Link::mutex [mutable]
 


The documentation for this class was generated from the following file:
Generated on Thu Dec 3 02:39:40 2009 for ClanLib by  doxygen 1.4.6