/* glibmm - a C++ wrapper for the GLib toolkit * * Copyright 2002 The gtkmm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library. If not, see . */ #ifndef _GLIBMM_H #define _GLIBMM_H /** @mainpage glibmm Reference Manual * * @section description Description * * glibmm is the official C++ interface for the popular cross-platform library %Glib. * It provides non-UI API that is not available in standard C++ and makes it * possible for gtkmm to wrap GObject-based APIs. * See also the * Programming with gtkmm book for a tutorial on programming with gtkmm and * glibmm. * * @section features Features * * - Glib::ustring: A UTF-8 string class that can be used interchangably with std::string. * Plus @ref StringUtils * - Glib::RefPtr: A reference-counting smartpointer, for use with Glib::ObjectBase or similar * - @ref CharsetConv * - Glib::Regex: Regular expression string matching. * - Glib::KeyFile: Parsing and writing of key files (similar to .ini files) * - Glib::Checksum * - Glib::Date, Glib::Timer, Glib::TimeVal * - Glib::Dispatcher: Inter-thread communication * - @ref FileUtils and @ref UriUtils * - @ref MainLoop * - @ref Spawn * - @ref Threads * - @ref MiscUtils * * giomm (part of the glibmm project) also contains: * - Asynchronous IO. See Gio::File and the @ref Streams. * - @ref NetworkIO * - @ref DBus * - Gio::Settings for application settings. * * @section basics Basic Usage * * Include the glibmm header, plus giomm if necessary: * @code * #include * #include * @endcode * (You may include individual headers, such as @c glibmm/ustring.h instead.) * * If your source file is @c program.cc, you can compile it with: * @code * g++ program.cc -o program `pkg-config --cflags --libs glibmm-2.4 giomm-2.4` * @endcode * If your version of g++ is not C++11-compliant by default, * add the @c -std=c++11 option. * * If you use Meson, include the following * in @c meson.build: * @code * glibmm_dep = dependency('glibmm-2.4') * giomm_dep = dependency('giomm-2.4') * program_name = 'program' * cpp_sources = [ 'program.cc' ] * executable(program_name, * cpp_sources, * dependencies: [ glibmm_dep, giomm_dep ] * ) * @endcode * * Alternatively, if using autoconf, use the following in @c configure.ac: * @code * PKG_CHECK_MODULES([GLIBMM], [glibmm-2.4 giomm-2.4]) * @endcode * Then use the generated @c GLIBMM_CFLAGS and @c GLIBMM_LIBS variables in the * project Makefile.am files. For example: * @code * program_CPPFLAGS = $(GLIBMM_CFLAGS) * program_LDADD = $(GLIBMM_LIBS) * @endcode */ #include //#include //This must be included by the application, after system headers such as //. // Include this first because we need it to be the first thing to include , // so we can do an undef trick to still use deprecated API in the header: #include #include #include #include #include #ifndef GLIBMM_INCLUDED_FROM_WRAP_INIT_CC // wrap_init.cc includes this file after it has cleared G_GNUC_CONST. #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #endif /* _GLIBMM_H */