summaryrefslogtreecommitdiff
path: root/glib
Commit message (Collapse)AuthorAgeFilesLines
* Glib::RefPtr: Enable disallowance with certain classesKjell Ahlstedt2015-09-161-0/+35
| | | | | * glib/glibmm/refptr.h: Make it possible to stop use of RefPtr with certain classes. Bug #755048.
* Glib::WeakRef: Add noexceptKjell Ahlstedt2015-09-152-42/+45
| | | | | | | * glib/glibmm/weakref.h: Add noexcept. * glib/glibmm.h: Add weakref.h. * tests/glibmm_weakref/main.cc: Remove #include <glibmm/weakref.h>. Bug #583399.
* Add Glib::WeakRef<>Kjell Ahlstedt2015-09-152-0/+448
| | | | | | | | | | * glib/glibmm/filelist.am: Add weakref.h. * glib/glibmm/weakref.h: New file. * glib/glibmm.h: Add weakref.h. (Not yet. I'll do it before I push weakref.h.) * tests/Makefile.am: Add test case glibmm_weakref. * tests/glibmm_weakref/main.cc: New test case. Bug #583399. Thanks to worknesday, who attached a first version of WeakRef to the bug report. Bug #583399
* Fix the build after modification of timer.ccKjell Ahlstedt2015-09-091-5/+1
| | | | | If glib.h is included, it must be included after glibmm.h, to give thread.h a chance to include glib.h with G_DISABLE_DEPRECATED undefined. Bug #753271.
* glibmm: More Fixes on Building on Visual Studio 2013Chun-wei Fan2015-09-092-2/+2
| | | | | | | timer.cc and random.cc will need to include more of glibmm's headers so that they will be able to use _NOEXCEPT during the build of glibmm. https://bugzilla.gnome.org/show_bug.cgi?id=753271
* glib/glibmmconfig.h: Allow Build on Visual Studio 2013Chun-wei Fan2015-09-091-0/+5
| | | | | | | | | | | | | Visual Studio 2013 supports enough of C++-11 to support the build of glibmm, except that it does not support noexcept (which is something that Visual Studio 2015 supports). Define noexcept as _NOEXCEPT on Visual Studio 2013, so that one can build glibmm on it. Note that since later Visual Studio versions do not allow one to define known keywords like noexcet as macros, we need to define _ALLOW_KEYWORD_MACROS to workaround this limitation. https://bugzilla.gnome.org/show_bug.cgi?id=753271
* Revert "Deprecate Regex now that we have std::regex."Murray Cumming2015-09-013-8/+2
| | | | | | I didn't mean to push this yet. Maybe we will never deprecate this if it offers better UTF-8 support than std::regex. This reverts commit a1f0b1a06095d81b6a5b8255b818b1c35c92df29.
* ObjectBase: move operations: Call the sigc::trackable base.Murray Cumming2015-09-011-1/+4
|
* IOChannel: move operations: Call the base sigc::trackable.Murray Cumming2015-09-011-1/+4
|
* Markup: Add move operationsMurray Cumming2015-09-012-0/+37
|
* Deprecate Regex now that we have std::regex.Murray Cumming2015-09-013-2/+8
|
* RefPtr: Make everything else noexcept too.Murray Cumming2015-08-311-41/+42
|
* RefPtr: Make destructor, move operations and swap() noexcept.Murray Cumming2015-08-311-13/+13
|
* Interface: Make move operations noexcept.Murray Cumming2015-08-312-4/+4
|
* Make destructors explicitly noexcept.Murray Cumming2015-08-3139-64/+64
| | | | | Destructors are already noexcept, but this makes that even clearer. This might be foolish.
* gmmproc: Make destructors explicitly noexcept.Murray Cumming2015-08-311-2/+2
|
* docs: Include unused headers in reference documentationDaniel Elstner2015-08-261-1/+3
| | | | | | | | | | | * glib/glibmm/filelist.am (glibmm_files_all_h): New variable that holds all header files, even those which are not included in the build. * gio/giomm/filelist.am (giomm_files_all_h): ditto. * docs/Makefile.am (doc_input): Make Doxygen parse all public header files, including those which are unused in the current build configuration. This ensures that the documentation covers all platforms.
* C++11: _CLASS_GENERIC classes: Add move operations.Murray Cumming2015-08-2316-3/+199
| | | | | | These don't have much in common with each other. Like most of our move operations, they are completely untested, though they could be.
* C++11: Use = delete instead of private copy operations.Murray Cumming2015-08-238-104/+94
| | | | There were still some left in the .hg/.ccg files.
* Interface: Move constructor: Add comment about not calling initialize_move().Murray Cumming2015-08-221-1/+7
| | | | | I am not entirely sure that this is the right thing to do. See my comment in the next commit about the test.
* Object: Move constructor: Use initialize_move().Murray Cumming2015-08-221-2/+4
| | | | | Because the call to the ObjectBase move constructor will not actually happen. See the comment for the previous commit.
* ObjectBase: Add initialize_move().Murray Cumming2015-08-222-0/+50
| | | | | | | | | | | And _move_current_wrapper() for it to use. Object and Interface can use initialize_move() in their move constructors. They need to do this because their calls to the ObjectBase move constructors will not actually run, at least when in a derived class, because ObjectBase is a virtual base class (for use in virtual inheritance). We have initialize() for much the same reason, for the regular constructors.
* C++11: Mark all _CLASS_OPAQUE_REFCOUNTED classes as final.Murray Cumming2015-08-224-4/+4
| | | | | | | | | | Because _CLASS_OPAQUE_REFCOUNTED already generates a comment telling us not to derive from them, presumably because they can only be instantiated by reinterpret_cast<>ing a base C struct. Ideally, _CLASS_OPAQUE_REFCOUNTED would add the final keyword, but the class line is is not generated, so that would be a little difficult.
* Glib::ObjectBase, Object, Interface: Add move operators.Murray Cumming2015-08-226-0/+47
| | | | | Add move constructors and move assignment operators so that derived classes can have these too.
* Regenerate _docs.xml files.Murray Cumming2015-08-201-3/+42
|
* Regenerate *_docs.xml files.Murray Cumming2015-08-151-35/+22
|
* Glib::RefPtr: minor release() improvements.Marcin Kolny2015-08-071-1/+6
| | | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=752812 * glib/glibmm/refptr.h: add warning in a comment, replace warn_unused_result attribute with corresponding GLib macro.
* RefPtr: move assignment operator: Use swap().Murray Cumming2015-08-011-9/+3
| | | | | This is not actually less efficient - the code is inline anyway. Bug #752876
* Regenerate gio_methods.defs, glib_functions.defs, gobject_functions.defsKjell Ahlstedt2015-07-302-129/+0
| | | | Regenerated without information from private.h files.
* Glib::RefPtr: add missing constructor and assignment operatorMarcin Kolny2015-07-271-0/+30
| | | | | | | | * glib/glibmm/refptr.h: add move constructor and move assignment operator which allow to set underlying object to castable type. * tests/glibmm_refptr/main.cc: add tests for move constructor and move assignment operator containing universal reference as an argument.
* Glib::RefPtr: add "release()" methodMarcin Kolny2015-07-271-0/+15
| | | | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=752812 * glib/glibmm/refptr.h: "release" method gives an access to managed underlying object, releasing RefPtr's ownership. Method is useful e.g. in wrappers of functions containing transfer-full arguments.
* Update glib_enums.defs.patch, add gio_enums.defs.patchKjell Ahlstedt2015-07-241-21/+6
| | | | | | | * glib/src/glib_enums.defs.patch: G_IO_FLAG_IS_WRITEABLE is an enum constant since 2013-02-04. No patch needed for that any more. * gio/src/gio_enums.defs.patch: New file. Such a file has been useful for a long time. It should have been stored in git long ago.
* Revert "Glib::List_Iterator (and similar): Deprecate via ifdef."Murray Cumming2015-07-241-4/+0
| | | | | | | This reverts commit 05610cec2ccbc54f20fcc3e995e41649f21c5714. See the commit in the previous commit about gtkmm-2.24. This is a temporary act of kindness to Inkscape.
* HelperList: Don't use ifndef GLIBMM_DISABLE_DEPRECATED around this.Murray Cumming2015-07-241-2/+6
| | | | | | | | To avoid breaking the gtkmm-2.24 build with --enable-warnings=fatal, and the build of apps that do this too. However, those apps (Inkscape) need to stop using that ancient deprecated version of gtkmm. Bug #752797
* C++11: Replace throw() with noexcept.Murray Cumming2015-07-196-6/+6
|
* Glib::RefPtr: Move assignment operator: Unref the previous object.Murray Cumming2015-07-191-0/+9
|
* RefPtr: Add move constructor and move assignment operator.Murray Cumming2015-07-181-0/+23
|
* RefPtr<>: Don't mention RefPtr<T_CppObject> when just RefPtr is allowed.Murray Cumming2015-07-181-22/+22
| | | | This seems to be correct and allowed. It makes the code clearer.
* C++11: Use = delete instead of private to make classes noncopyable.Murray Cumming2015-07-1812-74/+80
|
* Glib::List_Iterator (and similar): Deprecate via ifdef.Murray Cumming2015-07-171-0/+4
| | | | | I don't think these have been used since before gtkmm 3.0. They were already hidden from the documentation.
* IOChannel: Documentation: Mark vfuncs as deprecated.Murray Cumming2015-07-171-9/+31
| | | | Though we cannot hide them via GIOMM_DISABLE_DEPRECATED.
* C++11: Use of the override keyword.Murray Cumming2015-07-172-3/+3
|
* C++11: Use nullptr.Murray Cumming2015-07-1644-214/+214
|
* Regenerated glib _docs.xmlMurray Cumming2015-07-151-0/+117
|
* Regenerate glib_functions.defs.Murray Cumming2015-07-151-0/+45
|
* C++11: examples/tests: More use of auto.Murray Cumming2015-07-153-8/+8
|
* C++11: More use of auto.Murray Cumming2015-07-151-6/+6
|
* C++11: More uses of range-based for.Murray Cumming2015-07-153-15/+11
|
* C++11: gmmproc: Use of auto in generated files.Murray Cumming2015-07-152-3/+3
|
* C++11: Some use of the auto keyword.Murray Cumming2015-07-1511-61/+61
|