[libcxx] r221101 - Mark string_view::to_string as const. Fixes PR21428

David Blaikie dblaikie at gmail.com
Mon Nov 3 08:02:17 PST 2014


On Nov 3, 2014 7:35 AM, "Marshall Clow" <mclow.lists at gmail.com> wrote:
>
>
> On Nov 2, 2014, at 10:35 AM, David Blaikie <dblaikie at gmail.com> wrote:
>
>>
>> On Nov 2, 2014 7:49 AM, "Marshall Clow" <mclow.lists at gmail.com> wrote:
>> >
>> > Author: marshall
>> > Date: Sun Nov  2 09:35:32 2014
>> > New Revision: 221101
>> >
>> > URL: http://llvm.org/viewvc/llvm-project?rev=221101&view=rev
>> > Log:
>> > Mark string_view::to_string as const. Fixes PR21428
>> >
>> > Modified:
>> >     libcxx/trunk/include/experimental/string_view
>> >
libcxx/trunk/test/experimental/string.view/string.view.ops/to_string.pass.cpp
>> >
>> > Modified: libcxx/trunk/include/experimental/string_view
>> > URL:
http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/experimental/string_view?rev=221101&r1=221100&r2=221101&view=diff
>> >
==============================================================================
>> > --- libcxx/trunk/include/experimental/string_view (original)
>> > +++ libcxx/trunk/include/experimental/string_view Sun Nov  2 09:35:32
2014
>> > @@ -349,7 +349,8 @@ _LIBCPP_BEGIN_NAMESPACE_LFTS
>> >
>> >          template<class _Allocator = allocator<_CharT> >
>> >          _LIBCPP_INLINE_VISIBILITY
>> > -        basic_string<_CharT, _Traits, _Allocator> to_string( const
_Allocator& __a = _Allocator())
>> > +        basic_string<_CharT, _Traits, _Allocator>
>> > +        to_string( const _Allocator& __a = _Allocator()) const
>> >          { return basic_string<_CharT, _Traits, _Allocator> ( begin(),
end(), __a ); }
>> >
>> >          size_type copy(_CharT* __s, size_type __n, size_type __pos =
0) const
>> >
>> > Modified:
libcxx/trunk/test/experimental/string.view/string.view.ops/to_string.pass.cpp
>> > URL:
http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/experimental/string.view/string.view.ops/to_string.pass.cpp?rev=221101&r1=221100&r2=221101&view=diff
>> >
==============================================================================
>> > ---
libcxx/trunk/test/experimental/string.view/string.view.ops/to_string.pass.cpp
(original)
>> > +++
libcxx/trunk/test/experimental/string.view/string.view.ops/to_string.pass.cpp
Sun Nov  2 09:35:32 2014
>>
>> Perhaps I'm missing something, but neither of these test changes appear
to test the code that was changed - they look like they're testing for the
conversion operator, not the to_string member function?
>
>
> David -
>
> It doesn’t show in the diff, but there are calls to to_string later in
this file.

Oh, awesome. Thanks for the explanation.

> The updated tests fail w/o the “const” in <string_view>, and pass with it.
>
>     {
>     const std::experimental::basic_string_view<CharT> sv1 ( s );
>     String                                            str1 = (String) sv1;
>
>     assert ( sv1.size() == str1.size ());
>     assert ( std::char_traits<CharT>::compare ( sv1.data(), str1.data(),
 sv1.size()) == 0 );
>
> #if __cplusplus >= 201103L
>     auto str2 = sv1.to_string(min_allocator<CharT>());
>     assert ( sv1.size() == str2.size ());
>     assert ( std::char_traits<CharT>::compare ( sv1.data(), str2.data(),
sv1.size()) == 0 );
> #endif
>     }
>
> — Marshall
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20141103/257c0629/attachment.html>


More information about the cfe-commits mailing list