Andrey Semashev
5bc9e47688
Changed iterator_category nested type detection to work with MSVC and different versions of gcc.
2017-07-12 20:14:48 +03:00
Andrey Semashev
ec50f22b8b
Merge pull request #30 from Lastique/fix_next_prior_for_iterators
...
Fix next/prior for iterators
2017-07-09 13:41:03 +03:00
Brian Minard
592382dc61
Add test cases for std::reverse_iterator
2017-07-09 03:10:10 +03:00
Andrey Semashev
6cf9c22cf1
Reworked iterator handling in next/prior helpers.
...
The new implementation tries to detect if the incremented/decremented type
is an iterator first and if not falls back to operator probing. This way
iterators that are not SFINAE-friendly (i.e. unconditionally define
arithmetic operators regardless of the iterator category) are still treated
as iterators through std::advance and do not fail the compilation.
The iterator detection is based on probing for the nested iterator_category
type that is expected to be present in class-type iterators. This heuristic
is not flawless since iterators are not required to defined this type.
User-defined iterators may not have it and instead specialize
std::iterator_traits. This use case is not covered by the current implementation
and will likely fail to compile. With C++17 SFINAE-friendly std::iterator_traits
this can be fixed, but currently Boost.Config lacks the macro to detect
availability of this feature. Support for it can be added by a later commit.
Also simplified boost::prior for iterators, removing the possibility of
integer overflow caused by negation of the distance value.
2017-07-09 03:10:01 +03:00
Peter Dimov
33475f87e4
Merge branch 'develop'
2017-05-30 15:08:09 +03:00
Peter Dimov
21261a8630
Add visible dependency to result_of_iterate.hpp
2017-05-30 01:20:02 +03:00
Peter Dimov
7d60e8e378
Merge branch 'develop'
2017-05-30 00:56:41 +03:00
Peter Dimov
10ff4d4fcd
Try to upgrade libstdc++ for clang in 14/1z mode
2017-05-29 21:27:57 +03:00
Peter Dimov
89bf74beee
Add .travis.yml
2017-05-29 19:16:28 +03:00
Peter Dimov
bfdcce0f97
Move test files to test/
2017-05-29 19:10:46 +03:00
Marshall Clow
330b49d602
Mark comparison operators for string_view as constexpr; add tests. Reference: https://svn.boost.org/trac/boost/ticket/12896
2017-05-03 19:58:02 -07:00
Marshall Clow
68b26cddbe
Merge branch 'develop' of github.com:boostorg/utility into develop
boost-1.64.0
2017-04-06 07:59:12 -07:00
Marshall Clow
6c4ab93573
Revert change disallowing construction of string_view/string_ref from rvalue string
2017-03-28 15:17:09 +02:00
Marshall Clow
0876da45db
Fix potential overflow in substr; Trac #11536 . Also change string_view::copy to use the traits::copy
2017-02-13 10:49:17 -08:00
Marshall Clow
00f02167e3
Add tests to ensure that string_view|ref from rvalue fails (whenever it can)
boost-1.64.0-beta2
boost-1.64.0-beta1
2017-02-13 10:25:04 -08:00
Marshall Clow
9960d9f395
Don't construct string_view|string_ref from rvalue string. That way lies pain
2017-02-13 08:15:44 -08:00
Andrey Semashev
ccfd741c0a
Merge pull request #27 from MarcelRaad/patch-1
...
Use non-deprecated include paths
2016-12-21 12:20:20 +04:00
Marcel Raad
c5c479d49c
Use non-deprecated include paths
...
According to the comments in these two headers, the files in the core directory should be used instead.
2016-12-21 08:22:35 +01:00
Marshall Clow
3e8f73c6ac
Merge pull request #26 from Surrog/develop
...
Fixing visual studio compilation of string_view::at(); preserving C++11 constexpr-ness.
2016-12-12 17:22:29 -08:00
Surogate
38121f2af3
Allow string_view::at() to be constexpr again on VS2015
...
VS2015 doesn't support extended constexpr. Thanks to Lastique for the
ternary trick
2016-12-12 23:45:34 +01:00
Surogate
38b536ff05
Fixing visual studio compilation of string_view::at()
...
VS2013, VS2015 & VS2017RC don't like the ternary throwing an exception :
'return': cannot convert from 'void' to 'const char &'
Now using classic if when compiling on a windows platform.
2016-12-12 22:57:56 +01:00
Marshall Clow
9ae6492af9
Merge pull request #25 from zerotypos-found/inspection_report
...
Remove tabs and Non-ASCII characters. Thanks!
boost-1.63.0
2016-11-21 18:25:08 -08:00
zerotypos-found
816607e212
Remove tabs and Non-ASCII characters.
2016-11-15 11:59:51 +09:00
Andrey Semashev
a3ab942bc2
Merge branch 'develop'
2016-11-08 16:56:27 +03:00
Andrey Semashev
0f1f793caf
Removed std::binary_function from a comment.
2016-11-06 21:18:27 +03:00
Peter Dimov
ff445c0ece
Remove std::binary_function use, it has been removed in C++17
2016-11-06 14:38:13 +02:00
Rene Rivera
9fae8be166
Add, and update, documentation build targets.
2016-10-10 11:39:54 -05:00
Rene Rivera
b90a28f0e1
Add, and update, documentation build targets.
2016-10-07 23:07:37 -05:00
Andrey Semashev
febca584d9
Removed -u command line option for the compressed_pair_test as this option is not recognized by Boost.Test (and presumably never was). This fixes the test execution failure.
boost-1.62.0
2016-09-03 00:25:51 +03:00
Andrey Semashev
21dc552cf9
Added a workaround for gcc 4.6 in C++11 mode as it can't seem to handle defaulted functions with noexcept specifier. The problem was discovered with autotests.
2016-09-02 19:14:00 +03:00
Andrey Semashev
fda210f597
Merge branch 'develop'
2016-09-02 18:34:58 +03:00
Andrey Semashev
3d853b0e83
Reworked to_string test to verify the overload with a custom allocator even when explicit conversion operators are not supported. Made the custom allocator more standard-compliant.
2016-09-01 22:42:29 +03:00
Andrey Semashev
4814d1ebfe
Added another overload of to_string when default function template arguments are not supported.
...
The additional overload more closely emulates the official interface and allows to construct strings with custom allocators.
2016-09-01 22:08:28 +03:00
gnaggnoyil
e5932ebb08
fix compile error on basic_string_view::to_string when Allocator is user-defined
2016-09-01 21:56:20 +03:00
Marshall Clow
93a2e25092
Merge to master for 1.62.0 release
2016-08-17 13:02:13 -07:00
Marshall Clow
39577f86d1
Fix rfind (and other finders). Fixes bug https://svn.boost.org/trac/boost/ticket/9518
2016-08-14 11:20:28 -07:00
Marshall Clow
8392991c46
Remove extraneous semicolon; no functional change
2016-08-14 11:19:32 -07:00
Marshall Clow
c5b1256650
rename routines in detail namespace so that someone who includes both <string_ref> and <string_view> won't get duplicate decls
2016-08-14 11:11:12 -07:00
Marshall Clow
c56dd13592
Mark the copy ctor/assignment operator as '= default' when the compiler supports it. This makes these types trivially copy/move assignable/constructible. See https://svn.boost.org/trac/boost/ticket/11684
2016-07-27 11:18:18 -07:00
Marshall Clow
181f302ee4
Fix Ticket 12140; mark only single-arg ctor as explicit. Thanks to Thimo for the patch.
2016-06-15 15:50:21 -07:00
Marshall Clow
287844fe76
Merge branch 'develop' of github.com:boostorg/utility into develop
2016-06-15 14:52:40 -07:00
Andrey Semashev
3982b6d633
Ensure the file ends with a newline. Fixes compiler warnings.
boost-1.61.0
2016-04-14 19:20:15 +03:00
Marshall Clow
0b492bee9c
Re-install string_ref - to be removed in the future
2016-04-14 07:50:28 -07:00
Andrey Semashev
a9236d00a9
Ensure the file ends with a newline. Fixes compiler warnings.
2016-03-26 14:00:12 +03:00
Marshall Clow
4313bfc323
Revert "Remove the 'basic_string_ref template; use 'basic_string_view' instead. Keep the string_ref, etc typedefs around, though"
...
This reverts commit 8ab8e36dcfaa88837e3cf0bccaf01c458d3c1fb2.
2016-03-07 08:45:25 -08:00
Daniel Frey
f61c94e812
Merge ADL protection for Boost.Operators from 'develop'
2016-03-05 11:32:26 +01:00
Daniel Frey
1dfacff7ec
Renamed namespace detail to operators_detail
2016-02-23 20:30:16 +01:00
Daniel Frey
a25ac4550b
Removed unused overloads
2016-02-22 20:46:58 +01:00
Daniel Frey
d767054a79
Merge branch 'develop' of github.com:boostorg/utility into develop
2016-02-22 20:39:26 +01:00
Daniel Frey
08a1b7da61
Added ADL protector
2016-02-22 20:39:16 +01:00