wxWidgets/include/wx/gtk/private/list.h
Vadim Zeitlin 0eec47e4a2 No changes, just add wxGtkList to ensure g_list_free() is always called.
Add an extremely simple RAII wrapper around GList and use it.

Also add wxGtkTreePathList which also automatically frees its contents to
simplify working with the lists of GtkTreePaths.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68842 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-22 12:41:00 +00:00

34 lines
1.0 KiB
C++

///////////////////////////////////////////////////////////////////////////////
// Name: wx/gtk/private/list.h
// Purpose: wxGtkList class.
// Author: Vadim Zeitlin
// Created: 2011-08-21
// RCS-ID: $Id$
// Copyright: (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org>
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#ifndef _WX_GTK_PRIVATE_LIST_H_
#define _WX_GTK_PRIVATE_LIST_H_
// ----------------------------------------------------------------------------
// Convenience class for calling g_list_free() automatically
// ----------------------------------------------------------------------------
class wxGtkList
{
public:
explicit wxGtkList(GList* list) : m_list(list) { }
~wxGtkList() { g_list_free(m_list); }
operator GList *() const { return m_list; }
GList * operator->() const { return m_list; }
protected:
GList* const m_list;
wxDECLARE_NO_COPY_CLASS(wxGtkList);
};
#endif // _WX_GTK_PRIVATE_LIST_H_