gcc/libstdc++-v3
Jonathan Wakely 49d729eaee Refactor path construction from null terminated iterator ranges
Move duplicated code to new _S_string_from_iter function and fix
constraints to accept iterators with const value type.

	* include/bits/fs_path.h (path::__is_encoded_char): Change from class
	template to alias template.
	(path::__value_type_is_char): Use remove_const_t.
	(path:_S_string_from_iter): New helper function.
	(path::_S_convert(InputIter, __null_terminated))
	(path::_S_convert_loc(InputIter, __null_terminated, const locale&)):
	Use _S_string_from_iter.
	(path::string<_CharT, _Allocator>(const _Allocator&)): Allow sharing
	rep for COW strings.
	* include/experimental/bits/fs_path.h (path::__is_encoded_char):
	Change from class template to alias template.
	(path::__value_type_is_char): Use remove_const.
	(path:_S_string_from_iter): New helper function.
	(path::_S_convert(InputIter, __null_terminated))
	(path::_S_convert_loc(InputIter, __null_terminated, const locale&)):
	Use _S_string_from_iter.
	* testsuite/27_io/filesystem/path/append/source.cc: Test appending
	wide strings.
	* testsuite/27_io/filesystem/path/concat/strings.cc: Check for exact
	string equality, not path equivalence.
	* testsuite/27_io/filesystem/path/construct/format.cc: Check
	construction from std::string and std::wstring and input iterators.
	* testsuite/27_io/filesystem/path/construct/locale.cc: Check
	construction from iterators.
	* testsuite/experimental/filesystem/path/concat/strings.cc: Check for
	exact string equality, not path equivalence.
	* testsuite/experimental/filesystem/path/construct/locale.cc: Check
	construction from iterators.

From-SVN: r260628
2018-05-23 23:48:51 +01:00
..
config Add support for opening file streams from wide character strings 2018-05-21 18:18:35 +01:00
doc Document Dual ABI for std::ios_base::failure 2018-05-10 20:13:42 +01:00
include Refactor path construction from null terminated iterator ranges 2018-05-23 23:48:51 +01:00
libsupc++ Some libstdc++ fixes for -Wdeprecated-copy. 2018-05-18 16:02:14 -04:00
po Update copyright years. 2018-01-03 11:03:58 +01:00
python printers.py (build_libstdcxx_dictionary): Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers registration. 2018-03-09 05:56:07 +00:00
scripts Update copyright years. 2018-01-03 11:03:58 +01:00
src Fix handling of an empty filename at end of a path 2018-05-23 17:11:06 +01:00
testsuite Refactor path construction from null terminated iterator ranges 2018-05-23 23:48:51 +01:00
acinclude.m4 PR libstdc++/84654 Disable __float128 specializations for -mno-float128 2018-05-01 23:47:33 +01:00
aclocal.m4
ChangeLog Refactor path construction from null terminated iterator ranges 2018-05-23 23:48:51 +01:00
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-2016
ChangeLog-2017 Update copyright years. 2018-01-03 11:03:58 +01:00
config.h.in Add support for opening file streams from wide character strings 2018-05-21 18:18:35 +01:00
configure Add support for opening file streams from wide character strings 2018-05-21 18:18:35 +01:00
configure.ac Add support for opening file streams from wide character strings 2018-05-21 18:18:35 +01:00
configure.host
crossconfig.m4 Add support for opening file streams from wide character strings 2018-05-21 18:18:35 +01:00
fragment.am
linkage.m4
Makefile.am Update copyright years. 2018-01-03 11:03:58 +01:00
Makefile.in Enable building libstdc++-v3 with Intel CET 2017-11-17 22:28:10 +01:00
README

file: libstdc++-v3/README

New users may wish to point their web browsers to the file
index.html in the 'doc/html' subdirectory.  It contains brief
building instructions and notes on how to configure the library in
interesting ways.