1908 Commits

Author SHA1 Message Date
Ion Gaztañaga bcd41a1c64 - Add BOOST_CONTAINER_FORCEINLINE to trivial string internal functions
- Fixes #192 ("basic_string::clear() has poor codegen compared to STL implementations")
2021-09-13 14:19:38 +02:00
Ion Gaztañaga bfbab6ed7f Fixes #186 ("Warnings out the wazoo") 2021-08-09 00:59:57 +02:00
Ion Gaztañaga 1cc35bbc98 Fixes #187 ("flat_map::erase and unique keys") 2021-08-08 00:38:29 +02:00
Ion Gaztañaga aaa2485ebf Fixes #188 ("Build fails when RTTI is disabled") 2021-08-08 00:06:01 +02:00
sdarwin 03afb9786a Update GitHub Actions CI file 2021-07-30 16:10:56 +00:00
Ion Gaztañaga aa479c8eee Merge branch 'master' of github.com:boostorg/container into develop boost-1.77.0.beta1 boost-1.77.0 2021-06-25 23:40:06 +02:00
Peter Dimov a1565bc439 Do not define BOOST_CONTAINER_SOURCE in CMakeLists.txt 2021-06-09 19:03:00 +03:00
Peter Dimov ed042107dd Do not define BOOST_CONTAINER_SOURCE in CMakeLists.txt 2021-06-09 18:50:22 +03:00
Peter Dimov ff0a6b8aae Remove unnecessary source files 2021-06-08 21:50:24 +03:00
Peter Dimov 498aa83f20 Regenerate CMakeLists.txt 2021-06-08 21:50:13 +03:00
Peter Dimov 0ea8ff0275 Remove unnecessary source files 2021-05-28 02:19:00 +03:00
Peter Dimov 820379293f Regenerate CMakeLists.txt 2021-05-28 02:18:12 +03:00
Ion Gaztañaga 15bed478eb Fixes #185 ("Including headers adds exports"), replacing BOOST_SYMBOL_EXPORT with BOOST_SYMBOL_VISIBLE. 2021-05-03 09:18:51 +02:00
Ion Gaztañaga b7d48f1e08 Fixes #180: ("polymorphic_allocator's copy special member functions are not noexcept") 2021-04-21 00:53:43 +02:00
Ion Gaztañaga ad7167c564 Fixes #150 ("Use std::contiguous_iterator_tag if available"), tested in MSVC and GCC. 2021-04-21 00:43:31 +02:00
Ion Gaztañaga c0bfb40f55 Don't use allocator::rebind as it is not present on recent c++ standards 2021-04-21 00:39:43 +02:00
Ion Gaztañaga a5cc4f1eef Fix find/replace bug in test name 2021-04-19 21:53:54 +02:00
Ion Gaztañaga 249d537b58 Add BOOST_NOEXCEPT macro to doxygen 2021-04-19 21:53:32 +02:00
Ion Gaztañaga 16cada57ea Fixes #184 ("Issues with custom exceptions implementation") 2021-04-19 21:52:55 +02:00
Ion Gaztañaga 2073b125f4 Merge pull request #174 from sdarwin/drone
Drone config
2021-04-18 13:48:29 +02:00
Ion Gaztañaga cbfc02c230 Merge pull request #179 from sdarwin/githubactions
GitHub Actions config
2021-04-18 13:48:04 +02:00
Ion Gaztañaga 244d02f380 Merge pull request #177 from eldiener/develop
[skip ci] Add "cxxstd" json field
2021-03-14 08:12:11 +01:00
sdarwin abdbc580a2 Add GitHub Actions config [ci skip] 2021-03-01 15:32:18 +00:00
sdarwin 88fa1c158e add drone config [ci skip] 2021-01-21 19:30:35 +00:00
Edward Diener 02e5597d5b [skip ci] Add "cxxstd" json field. The "cxxstd" json field is being added to each Boost library's meta json information for libraries in order to specify the minumum C++ standard compilation level. The value of this field matches one of the values for 'cxxstd' in Boost.Build. The purpose of doing this is to provide information for the Boost website documentation for each library which will specify the minimum C++ standard compilation that an end-user must employ in order to use the particular library. This will aid end-users who want to know if they can successfully use a Boost library based on their C++ compiler's compilation level, without having to search the library's documentation to find this out. 2021-01-19 12:39:23 -05:00
Ion Gaztañaga 1dc1e74668 Remove std::pair dependency for multiallocation_chain boost-1.76.0.beta1 boost-1.76.0 2021-01-15 20:43:27 +01:00
Ion Gaztañaga dc4cf460a7 Add missing <functional> for std::less 2021-01-15 18:05:33 +01:00
Ion Gaztañaga d2587837eb Use <boost/detail/interlocked.hpp> for interlocked operations 2021-01-15 18:05:15 +01:00
Ion Gaztañaga 26bf1d68be Add missing header for std::pair usage 2021-01-15 18:04:58 +01:00
Ion Gaztañaga cce50a153d Use #include <boost/intrusive/detail/value_functors.hpp> instead of own value_functor.hpp 2021-01-05 10:10:57 +01:00
Ion Gaztañaga 482f0911e1 Use #include <boost/intrusive/detail/hash_combine.hpp> instead of #include <boost/container_hash/hash.hpp> to avoid pulling unneeded STL headers. 2021-01-05 00:07:02 +01:00
Ion Gaztañaga 95538bfdc2 Update static assert test and remove unneeded <string> include. 2021-01-02 22:47:19 +01:00
Ion Gaztañaga 2bd1a6f906 Add find_end algorithm and use it in string. 2021-01-02 17:03:15 +01:00
Ion Gaztañaga 150569375f <boost/static_string.hpp> include is not needed. 2021-01-02 17:02:47 +01:00
Ion Gaztañaga 5430c15ad9 Correct includes: <algorithm> is not used and <string> is needed for char_traits 2021-01-02 16:25:25 +01:00
Ion Gaztañaga 22f34b7b02 Silence warnings in tests 2021-01-02 16:24:56 +01:00
Ion Gaztañaga d6a270e8e1 Correct "throws" part of several operations as the library by default throws its own exception types. 2021-01-02 16:24:37 +01:00
Ion Gaztañaga ba23ac1a5a Merge branch 'palebedev-noexcept-swap' into develop 2021-01-02 01:04:11 +01:00
Ion Gaztañaga c476113411 Merge branch 'noexcept-swap' of https://github.com/palebedev/container into palebedev-noexcept-swap 2021-01-02 00:38:31 +01:00
Ion Gaztañaga 0153ee1920 Rewrite [flat_]map/set insert overloads to be more standard compliant. Fixes #102 ("flat_map::insert ambiguous with initializer list & pairs that need to convert"). 2021-01-02 00:37:44 +01:00
Ion Gaztañaga d7e99e56c6 Rewrite [flat_]map/set insert overloads to be more standard compliant. Fixes #102 ("flat_map::insert ambiguous with initializer list & pairs that need to convert"). 2021-01-01 23:50:50 +01:00
Ion Gaztañaga 621cd3a0ab Avoid using inheriting constructors and initializer_list::cbegin/cend to be nicer with older compilers 2021-01-01 23:44:56 +01:00
Ion Gaztañaga 6c23ce8b42 Avoid including windows.h 2021-01-01 23:44:07 +01:00
Ion Gaztañaga 80697e7c0f #pragma GCC diagnostic push is available from GCC 4.6, not from GCC 4.5 2021-01-01 23:43:44 +01:00
Ion Gaztañaga d5a830434e - Replaced default standard exception classes with Boost.Container own classes, reducing considerably the included files overhead 2020-12-30 15:07:32 +01:00
Pavel A. Lebedev cb1e6af53d Add conditional noexcept forwarding from free to member swap functions.
This allows std::is_nothrow_swappable{,_with} to work properly.
This only touches user-facing classes, with the following exceptions:
- map,set: only doc changes (with a drive-by missing semicolon fix),
  detail::tree which they derive from already forwards noexcept for swap.
- flat_set: only doc changes for flat_set and a change for
  detail::flat_tree, which it derives from to get swap.
- static_vector: while this adds the forwarding, member static_vector::swap
  is currently never noexcept, although it could be for noexcept-swappable
  and noexcept-move-constructible elements.
- small_vector: there is no free swap, and member swap is never noexcept,
  although it could be for noexcept-swappable and noexcept-move-
  constructible elements. Swapping small_vectors of exact same type goes
  through std::swap, which seems to get noexcept right, and small_vectors
  of different sizes use swap for boost::container::vector, which fails
  to detect when such swap could be noexcept. This patch doesn't touch
  small_vector.
- scoped_allocator: neither member nor free swap are noexcept, although
  they should be, and all other constructions/assignments/comparisons too,
  as they only forward these operations to underlying allocators, which
  are required to not throw exceptions for them. Only static_vector's
  static_storage_allocator might throw for these and it shouldn't appear
  in scoped_allocator. Unsure of the scope of changes needed or whether it
  is even worth it, this patch doesn't touch scoped_allocator.
2020-12-30 08:28:06 +03:00
Ion Gaztañaga b17dabf47a Fixes #141 ('small_vector does not propagate no throw properties of move operation of contained type') 2020-12-30 00:19:22 +01:00
Ion Gaztañaga f50195524f As described in #139, fixed complexity of "merge", as a O(n) inplace merge is used and explicitly state all iterators are invalidated. 2020-11-14 23:31:30 +01:00
Ion Gaztañaga 93bbf37dad Fixes #139 ("flat_map merge and iterators"). 2020-11-14 00:10:46 +01:00
Ion Gaztañaga ae93df82ea Fixes #164 ("Compile error when using pmr::map with a std::pair; works when using a std::tuple") 2020-11-13 23:43:02 +01:00