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

	C++11: deduce_result_type: Simpifying, removing use of std::is_same().

	See https://bugzilla.gnome.org/show_bug.cgi?id=753612#c9

2015-09-17  Marcin Kolny  <marcin.kolny@gmail.com>

	C++11: deduce_result_type: build fix, using SFINAE paradigm.

	Bug #753612

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

	C++11: deduce_result_type: Simplify with variadic template and std::conditional<>.

	Bug #753612
	However, the build then fails like so:

	make[2]: Entering directory '/home/murrayc/checkout/gnome/libsigc++2/examples'
	g++ -DHAVE_CONFIG_H   -I.. -I..  -pedantic -Wall -Wextra -Wshadow -Wformat-security -Werror -Wall -g -O0 -std=c++11 -MT hello_world.o -MD -MP -MF .deps/hello_world.Tpo -c -o hello_world.o hello_world.cc
	In file included from ../sigc++/adaptors/adaptor_trait.h:10:0,
	from ../sigc++/functors/slot.h:7,
	from ../sigc++/signal_base.h:27,
	from ../sigc++/signal.h:8,
	from ../sigc++/sigc++.h:86,
	from hello_world.cc:10:
	../sigc++/adaptors/deduce_result_type.h: In instantiation of ‘struct sigc::deduce_result_type<sigc::pointer_functor1<const std::basic_string<char>&, void>, const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, void, void, void, void, void, void>’:
	../sigc++/adaptors/deduce_result_type.h:60:80:   required by substitution of ‘template<class T_functor, class ... T_args> using deduce_result_t = typename sigc::deduce_result_type::type [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_args = {const std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, void, void, void, void, void, void}]’
	../sigc++/adaptors/adaptor_trait.h:67:104:   required from ‘struct sigc::adaptor_functor<sigc::pointer_functor1<const std::basic_string<char>&, void> >::deduce_result_type<const std::basic_string<char>&, void, void, void, void, void, void>’
	../sigc++/adaptors/adaptor_trait.h:88:3:   required by substitution of ‘template<class T_arg1> typename sigc::adaptor_functor<T_functor>::deduce_result_type<T_arg1>::type sigc::adaptor_functor<T_functor>::operator()(T_arg1) const [with T_arg1 = const std::basic_string<char>&]’
	../sigc++/functors/slot.h:137:20:   required from ‘static T_return sigc::internal::slot_call1<T_functor, T_return, T_arg1>::call_it(sigc::internal::slot_rep*, sigc::type_trait_take_t<T_arg3>) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&; sigc::type_trait_take_t<T_arg3> = const std::basic_string<char>&]’
	../sigc++/functors/slot.h:144:37:   required from ‘static void* (* sigc::internal::slot_call1<T_functor, T_return, T_arg1>::address())(void*) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&; sigc::internal::hook = void* (*)(void*)]’
	../sigc++/functors/slot.h:529:91:   required from ‘sigc::slot1<T_return, T_arg1>::slot1(const T_functor&) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&]’
	../sigc++/functors/slot.h:1161:26:   required from ‘sigc::slot<T_return, T_arg1, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::slot(const T_functor&) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&]’
	hello_world.cc:25:50:   required from here
	../sigc++/adaptors/deduce_result_type.h:56:12: error: no class template named ‘deduce_result_type’ in ‘class sigc::pointer_functor1<const std::basic_string<char>&, void>’
	>::type;
	^
	In file included from ../sigc++/signal_base.h:27:0,
	from ../sigc++/signal.h:8,
	from ../sigc++/sigc++.h:86,
	from hello_world.cc:10:
	../sigc++/functors/slot.h: In instantiation of ‘static T_return sigc::internal::slot_call1<T_functor, T_return, T_arg1>::call_it(sigc::internal::slot_rep*, sigc::type_trait_take_t<T_arg3>) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&; sigc::type_trait_take_t<T_arg3> = const std::basic_string<char>&]’:
	../sigc++/functors/slot.h:144:37:   required from ‘static void* (* sigc::internal::slot_call1<T_functor, T_return, T_arg1>::address())(void*) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&; sigc::internal::hook = void* (*)(void*)]’
	../sigc++/functors/slot.h:529:91:   required from ‘sigc::slot1<T_return, T_arg1>::slot1(const T_functor&) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&]’
	../sigc++/functors/slot.h:1161:26:   required from ‘sigc::slot<T_return, T_arg1, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::slot(const T_functor&) [with T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>; T_return = void; T_arg1 = const std::basic_string<char>&]’
	hello_world.cc:25:50:   required from here
	../sigc++/functors/slot.h:137:20: error: no matching function for call to ‘sigc::adaptor_functor<sigc::pointer_functor1<const std::basic_string<char>&, void> >::operator()(const std::basic_string<char>&)’
	(a_1);
	^
	../sigc++/functors/slot.h:137:20: note: candidates are:
	In file included from ../sigc++/functors/slot.h:7:0,
	from ../sigc++/signal_base.h:27,
	from ../sigc++/signal.h:8,
	from ../sigc++/sigc++.h:86,
	from hello_world.cc:10:
	../sigc++/adaptors/adaptor_trait.h:88:3: note: template<class T_arg1> typename sigc::adaptor_functor<T_functor>::deduce_result_type<T_arg1>::type sigc::adaptor_functor<T_functor>::operator()(T_arg1) const [with T_arg1 = T_arg1; T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>]
	operator()(T_arg1 _A_arg1) const
	^
	../sigc++/adaptors/adaptor_trait.h:88:3: note:   substitution of deduced template arguments resulted in errors seen above
	../sigc++/adaptors/adaptor_trait.h:107:3: note: template<class T_arg1, class T_arg2> typename sigc::adaptor_functor<T_functor>::deduce_result_type<T_arg1, T_arg2>::type sigc::adaptor_functor<T_functor>::operator()(T_arg1, T_arg2) const [with T_arg1 = T_arg1; T_arg2 = T_arg2; T_functor = sigc::pointer_functor1<const std::basic_string<char>&, void>]
	operator()(T_arg1 _A_arg1, T_arg2 _A_arg2) const
	^
	../sigc++/adaptors/adaptor_trait.h:107:3: note:   template argument deduction/substitution failed:
	In file included from ../sigc++/signal_base.h:27:0,
	from ../sigc++/signal.h:8,
	from ../sigc++/sigc++.h:86,
	from hello_world.cc:10:
	../sigc++/functors/slot.h:137:20: note:   candidate expects 2 arguments, 1 provided
	(a_1);
	^

2015-09-11  Chun-wei Fan  <fanchunwei@src.gnome.org>

	MSVC Builds: Add "Install" Project

	This makes building the -mm stack easier by copying the headers and the
	built DLL, PDB and LIB files to a location where it can be picked up by
	the gtkmm stack automatically, when they are extracted in a common
	directory.  This is what is currently done with the GTK+ and Clutter
	stacks for Visual Studio builds.

2015-09-09  Chun-wei Fan  <fanchunwei@src.gnome.org>

	Update README on Visual Studio Builds

	Since the Visual Studio project files and the related sources have been
	updated to work with Visual Studio 2013, and that the test programs do
	run well there, update the README file to let people know the situation.

	https://bugzilla.gnome.org/show_bug.cgi?id=754082

2015-09-09  Chun-wei Fan  <fanchunwei@src.gnome.org>

	sigc++config.h.in: Allow Build for MSVC 2013

	MSVC 2013 does not have the C++-11 noexcept, so we need to define that to
	_NOEXCEPT for MSVC 2013.  Plus, since by default MSVC 2013 does not allow
	us to re-define keywords, though they may or may not be supported, we need
	to use the _ALLOW_KEYWORD_MACROS macro to allow this to happen.

	https://bugzilla.gnome.org/show_bug.cgi?id=754082

2015-09-08  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Update source of web page

	* docs/website/fragments/footer.html_fragment:
	* docs/website/fragments/html_declaration.html_fragment:
	* docs/website/devel.shtml:
	* docs/website/doc.shtml:
	* docs/website/index.shtml:
	* docs/website/link.shtml:
	* docs/website/stable.shtml: Fix or remove broken links. Remove the lists of
	supported compilers. Mention that a C++11 compiler is required and that
	support for lambdas has been removed. Bug #754082.

2015-09-07  Kjell Ahlstedt  <kjell.ahlstedt@bredband.net>

	Update .gitignore