Commit 660dca79 by Paolo Carlini Committed by Paolo Carlini

string_view (_S_max_size): Remove.

2013-11-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/experimental/string_view (_S_max_size): Remove.
	(basic_string_view<>::max_size): Adjust.
	* testsuite/experimental/string_view/capacity/1.cc: Clean-up.
	* testsuite/experimental/string_view/inserters/pod/10081-out.cc:
	Likewise.

From-SVN: r205033
parent f0bd40b1
2013-11-19 Paolo Carlini <paolo.carlini@oracle.com>
* include/experimental/string_view (_S_max_size): Remove.
(basic_string_view<>::max_size): Adjust.
* testsuite/experimental/string_view/capacity/1.cc: Clean-up.
* testsuite/experimental/string_view/inserters/pod/10081-out.cc:
Likewise.
2013-11-19 Jonathan Wakely <jwakely.gcc@gmail.com> 2013-11-19 Jonathan Wakely <jwakely.gcc@gmail.com>
* doc/xml/manual/status_cxx2014.xml: Create new table for TS statuses. * doc/xml/manual/status_cxx2014.xml: Create new table for TS statuses.
......
...@@ -98,7 +98,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -98,7 +98,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
constexpr basic_string_view(const basic_string_view&) noexcept = default; constexpr basic_string_view(const basic_string_view&) noexcept = default;
template<typename _Allocator> template<typename _Allocator>
basic_string_view(const basic_string<_CharT, _Traits, _Allocator>& __str) noexcept basic_string_view(const basic_string<_CharT, _Traits,
_Allocator>& __str) noexcept
: _M_len{__str.length()}, _M_str{__str.data()} : _M_len{__str.length()}, _M_str{__str.data()}
{ } { }
...@@ -159,7 +160,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -159,7 +160,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
constexpr size_type constexpr size_type
max_size() const noexcept max_size() const noexcept
{ return _S_max_size; } { return ((npos - sizeof(size_type) - sizeof(void*))
/ sizeof(value_type) / 4); }
constexpr bool constexpr bool
empty() const noexcept empty() const noexcept
...@@ -406,12 +408,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION ...@@ -406,12 +408,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
} }
private: private:
// Compute max_size similarly to how string does it.
static const size_type _S_max_size = (npos
- sizeof(size_type) - sizeof(void*))
/ sizeof(value_type) / 4;
static constexpr const int static constexpr const int
_S_compare(size_type __n1, size_type __n2) noexcept _S_compare(size_type __n1, size_type __n2) noexcept
{ {
......
...@@ -155,13 +155,6 @@ test01() ...@@ -155,13 +155,6 @@ test01()
VERIFY( sz03 >= sz04 ); VERIFY( sz03 >= sz04 );
} }
#if !__GXX_WEAK__
// Explicitly instantiate for systems with no COMDAT or weak support.
template
const std::experimental::basic_string_view<A<B>>::size_type
std::experimental::basic_string_view<A<B>>::_S_max_size;
#endif
int int
main() main()
{ {
......
...@@ -68,13 +68,6 @@ test01() ...@@ -68,13 +68,6 @@ test01()
} }
} }
#if !__GXX_WEAK__
// Explicitly instantiate for systems with no COMDAT or weak support.
template
const std::experimental::basic_string_view<__gnu_test::pod_ushort>::size_type
std::experimental::basic_string_view_view<__gnu_test::pod_ushort>::_S_max_size;
#endif
int int
main() main()
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment