2015-09-03  Murray Cumming  <murrayc@murrayc.com>

	2.45.70

2015-09-03  Murray Cumming  <murrayc@murrayc.com>

	Require the latest libsigc++

	So we can use the trackable move operations.

2015-09-01  Murray Cumming  <murrayc@murrayc.com>

	Revert "Deprecate Regex now that we have std::regex."

	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.

2015-09-01  Murray Cumming  <murrayc@murrayc.com>

	ObjectBase: move operations: Call the sigc::trackable base.

2015-09-01  Murray Cumming  <murrayc@murrayc.com>

	IOChannel: move operations: Call the base sigc::trackable.

2015-09-01  Murray Cumming  <murrayc@murrayc.com>

	Markup: Add move operations

2015-09-01  Murray Cumming  <murrayc@murrayc.com>

	resolver example: Use std:stoul instead of stdstrtoul

2015-09-01  Murray Cumming  <murrayc@murrayc.com>

	resolver example: Use std::strtoul instead of strtoul.

2015-09-01  Murray Cumming  <murrayc@murrayc.com>

	Deprecate Regex now that we have std::regex.

2015-08-31  Murray Cumming  <murrayc@murrayc.com>

	RefPtr: Make everything else noexcept too.

2015-08-31  Murray Cumming  <murrayc@murrayc.com>

	RefPtr: Make destructor, move operations and swap() noexcept.

2015-08-31  Murray Cumming  <murrayc@murrayc.com>

	Interface: Make move operations noexcept.

2015-08-31  Murray Cumming  <murrayc@murrayc.com>

	gmmproc: Make all move operations noexcept.

	This is useful for standard containers, for instance.

2015-08-31  Murray Cumming  <murrayc@murrayc.com>

	Make destructors explicitly noexcept.

	Destructors are already noexcept, but this makes that even clearer.
	This might be foolish.

2015-08-31  Murray Cumming  <murrayc@murrayc.com>

	gmmproc: Make destructors explicitly noexcept.

2015-08-26  Daniel Elstner  <daniel.kitta@gmail.com>

	docs: Exclude bogus documentation symbols

	* docs/reference/Doxyfile.in (EXCLUDE_SYMBOLS): Add bogus symbols
	which appeared in the generated documentation but shouldn't.

2015-08-26  Daniel Elstner  <daniel.kitta@gmail.com>

	Update list of files git should ignore

2015-08-26  Daniel Elstner  <daniel.kitta@gmail.com>

	docs: Update configuration for Doxygen 1.8.9.1

	* docs/reference/Doxyfile.in: Regenerate with Doxygen 1.8.9.1.

2015-08-26  Daniel Elstner  <daniel.kitta@gmail.com>

	docs: Include unused headers in reference documentation

	* 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.

2015-08-26  Daniel Elstner  <daniel.kitta@gmail.com>

	docs: Define G_OS_UNIX and G_OS_WIN32 unconditionally

	* docs/reference/Doxyfile.in (PREDEFINED): Always define both
	G_OS_UNIX and G_OS_WIN32, so that the generated documentation
	covers all platforms.

2015-08-23  Murray Cumming  <murrayc@murrayc.com>

	C++11: _CLASS_GENERIC classes: Add move operations.

	These don't have much in common with each other.
	Like most of our move operations, they are completely untested,
	though they could be.

2015-08-23  Murray Cumming  <murrayc@murrayc.com>

	C++11: Use = delete instead of private copy operations.

	There were still some left in the .hg/.ccg files.

2015-08-22  Murray Cumming  <murrayc@murrayc.com>

	2.45.52

	I never released 2.45.1. I had meant to rebase the version change
	to be the latest commit  but forgot to do that.
	I might not release this one just yet as a tarball either. I just
	need a version number for the other *mm projects to check for.
	Releasing a tarball might cause disruption if these latest changes
	cause problems.

2015-08-22  Murray Cumming  <murrayc@murrayc.com>

	tests: Add glibmm_interface_move.

	This code got unpleasantly big because I wanted to test a C++
	class that wraps a GObject while also implementing a C++ Interface
	that wraps a GInterface that the GObject implements. But it seems
	to work.

	However, the code to test a raw TestInterface is commented out
	because the move constructor does not pass the test. I am not sure
	if this should even be expected to work:
	Interface interface = std::move(object);
	or:
	Base base = std::move(derived);

	Surely that would lose the data (and virtual method table) from the
	Derived class anyway?

2015-08-22  Murray Cumming  <murrayc@murrayc.com>

	Interface: Move constructor: Add comment about not calling initialize_move().

	I am not entirely sure that this is the right thing to do.
	See my comment in the next commit about the test.

2015-08-22  Murray Cumming  <murrayc@murrayc.com>

	tests: Split glibmm_object_move into 2 files.

	To test ObjectBase separately.

2015-08-22  Murray Cumming  <murrayc@murrayc.com>

	Object: Move constructor: Use initialize_move().

	Because the call to the ObjectBase move constructor will not
	actually happen. See the comment for the previous commit.

2015-08-22  Murray Cumming  <murrayc@murrayc.com>

	ObjectBase: Add initialize_move().

	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.

2015-08-22  Murray Cumming  <murrayc@murrayc.com>

	2.45.51

2015-08-22  Murray Cumming  <murrayc@murrayc.com>

	gmmproc: _CLASS_BOXEDTYPE_STATIC: Add copy operations.

	These were previously implicitly generated by the compiler,
	but are no longer generated because we now have explicit move
	operations.
	Being explicit seems like a better way to preserve ABI anyway.

2015-08-22  Murray Cumming  <murrayc@murrayc.com>

	gmmproc: _CLASS_BOXEDTYPE: Make the static swap() noexcept.

	This is generally a good idea because it lets standard containers
	use the swap() while maintaining their own noexcept.

	This would not be an ABI break, hopefully, because this is an inline
	method in the header anyway.
	We have recently added the noexcept to the member swap() method,
	but hopefully that is not an ABI break either. Removing noexcept
	would be an ABI break, I think.

2015-08-22  Murray Cumming  <murrayc@murrayc.com>

	gmmproc: _CLASS_OPAQUE_COPYABLE: Generate static swap().

	As in _CLASS_BOXEDTYPE().
	This can then be used by std::swap(), used by standard containers.

2015-08-22  Murray Cumming  <murrayc@murrayc.com>

	gmmproc: _CLASS_BOXEDTYPE_STATIC(): Add move operations.

	Roughly as in _CLASS_BOXEDTYPE().

2015-08-22  Murray Cumming  <murrayc@murrayc.com>

	gmmproc: _CLASS_OPAQUE_COPYABLE(): Add move operations.

	The same as in _CLASS_BOXEDTYPE().

2015-08-22  Murray Cumming  <murrayc@murrayc.com>

	C++11: Mark all _CLASS_OPAQUE_REFCOUNTED classes as final.

	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.

2015-08-22  Murray Cumming  <murrayc@murrayc.com>

	gmmproc: _CLASS_OPAQUE_REFCOUNTED: Use = delete for the default constructor.

	And move it (and the = deleted copy operations) to public.

2015-08-22  Murray Cumming  <murrayc@murrayc.com>

	Add simple test for Object move.

2015-08-22  Murray Cumming  <murrayc@murrayc.com>

	Gio::FileIcon: Remove unncessary IMPLEMENTS_INTERFACE

2015-08-22  Murray Cumming  <murrayc@murrayc.com>

	gmmproc: _CLASS_GOBJECT(): Move operations: Call interfaces' move operations.

	The (virtual base) ObjectBase's move operations will not be called
	multiple times, so this might be useless, but it seems more complete.

2015-08-22  Murray Cumming  <murrayc@murrayc.com>

	gmmproc: _CLASS_INTERFACE(): Generate move operations.

2015-08-22  Murray Cumming  <murrayc@murrayc.com>

	gmmproc: _CLASS_GOBJECT(): Generate move operations.

	Generate move constructor and move assignment operator.
	These might never be used, but it seems generally wise to have them.

2015-08-22  Murray Cumming  <murrayc@murrayc.com>

	Glib::ObjectBase, Object, Interface: Add move operators.

	Add move constructors and move assignment operators so that derived
	classes can have these too.