diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2018-05-23 23:48:51 +0100 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2018-05-23 23:48:51 +0100 |
commit | 49d729eaee6bf42c46bbe3182b26b7f15a3909b5 (patch) | |
tree | d08da15f28a50c0b6346de87dbfc4b14d3327da7 /gcc | |
parent | 2aece9c19970ad94abeeca4f85782f50799abdfc (diff) | |
download | gcc-49d729eaee6bf42c46bbe3182b26b7f15a3909b5.zip gcc-49d729eaee6bf42c46bbe3182b26b7f15a3909b5.tar.gz gcc-49d729eaee6bf42c46bbe3182b26b7f15a3909b5.tar.bz2 |
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
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions