Commit Graph
132 Commits
Author SHA1 Message Date
Ion Gaztañaga 21cb31ad71 New low-level utilities to deal with pointers and iterators 2017-04-06 22:51:10 +02:00
Ion Gaztañaga a2d08c908d Add new macro that obtains the type of the last argument 2017-04-06 22:17:18 +02:00
Ion Gaztañaga 99f3f04d04 Add forceinline 2017-04-06 22:10:28 +02:00
Ion Gaztañaga 135e598bc4 Avoid reference to null errors in sanitizers 2016-11-12 23:54:22 +01:00
Ion Gaztañaga de55af3cbb Fixed adaptive_sort/merge bugs for stability. 2016-11-12 18:58:16 +01:00
Ion Gaztañaga 10e4dab3ac Remove redundant macro 2016-08-29 00:02:44 +02:00
Ion Gaztañaga 2a0db1e85e Add new macro utilities useful for tuple and piecewise_construct emulation in Boost.Container (part 2) 2016-08-23 02:09:00 +02:00
Ion Gaztañaga 2ef181c9d9 Add new macro utilities useful for tuple and piecewise_construct emulation in Boost.Container. 2016-08-23 01:34:55 +02:00
Ion Gaztañaga cfd6be4ab4 Documented limitations reported in Trac #12194 and Trac #12307 2016-07-29 11:55:10 +02:00
Ion Gaztañaga 1194a39ab3 Undo commit b474e8c28a as it breaks some Boost libraries. Emulation limitations will be documented. 2016-07-05 23:18:21 +02:00
Ion Gaztañaga e7d24400cb Refactor trivial copy/assign traits. Assume intrinsics don't guarantee the copy constructor/assignment is callable. 2016-06-30 16:23:05 +02:00
Ion Gaztañaga daabab5261 Add missing BOOST_MOVE_FORCEINLINE 2016-06-30 16:22:27 +02:00
Ion Gaztañaga fec7e30d36 Use BOOST_MOVE_TO_RV_CAST in the newly fixed assignment operator.
Update changelog
2016-06-30 12:22:41 +02:00
Ion Gaztañaga ce6eb5c73f Merge branch 'assignment' of https://github.com/Flamefire/move into Flamefire-assignment 2016-06-30 12:20:32 +02:00
Ion Gaztañaga 833e507326 Added cache usage to selection sort when external buffer is available. Refactored merge to right using reverse iterators. 2016-05-13 00:34:40 +02:00
Ion Gaztañaga 5a118de803 Added recursive inplace_stable_sort implementation 2016-05-13 00:28:29 +02:00
Ion Gaztañaga 75983a43ce Added "negate" functor and merge_bufferless_ONlogN implementation 2016-05-13 00:26:54 +02:00
Ion Gaztañaga 6e07bb846c Add three-way operations to move_op & swap_op 2016-05-13 00:22:20 +02:00
Ion Gaztañaga 94627830e6 Add reverse iterator to be used in sort algorithms 2016-05-13 00:19:37 +02:00
Flamefire 38d556a5bd Fix assignment of move-and-copy emulated classes 2016-05-12 13:30:08 +02:00
Ion Gaztañaga 122916d820 Removed tabs. 2016-03-23 22:11:25 +01:00
Ion Gaztañaga cae8d2dda3 Refactored and documented the sort and merge algorithm 2016-03-23 22:11:06 +01:00
Ion Gaztañaga d247eea058 Cleanup BOOST_MOVE_CONVERSION_AWARE_CATCH macros with is_same_or_convertible, which allows compatibility with more compilers and input iterators 2016-02-24 10:06:43 +01:00
Ion Gaztañaga 541f28037d Fixed Trac #11758: "BOOST_MOVABLE_BUT_NOT_COPYABLE doesn't reset private access with rvalue ref version" 2016-02-23 16:17:42 +01:00
Ion Gaztañaga d5981c52a9 Add experimental adaptive_merge/sort functions 2016-02-23 13:17:12 +01:00
Ion Gaztañaga ab98479759 Introduce BOOST_MOVE_FORCELINE, disabled by default, so that we can start speeding up debug builds that use Boost.Move 2015-12-24 10:39:57 +01:00
Ion Gaztañaga 827f6de30e Move BOOST_MOVE_HELPERS_RETURN_SFINAE_BROKEN to a more general header so that it can be used by other libraries like Intrusive 2015-10-17 09:38:38 +02:00
Ion Gaztañaga b79bb35b0f Add support for GCC 3.4 2015-10-12 16:18:31 +02:00
Ion Gaztañaga 09c75813a6 Refactor std namespace deduction for forward declarations 2015-09-14 22:33:20 +02:00
Ion Gaztañaga 17f9ce38c4 Merge branch 'develop' of https://github.com/ukreator/move into ukreator-develop 2015-09-14 16:34:28 +02:00
Dmitry Sobinov 172d49cf54 Fixed build errors with gcc and LLVM libc++ 2015-09-14 23:01:58 +10:00
Ion Gaztañaga bd9532a6a4 Documentation fixes:
- core.hpp: hide non-public macros
- default_delete.hpp: Hide detail code
- unique_ptr.hpp: Likewise
- utility_core.hpp: Document move_if_not_lvalue_reference
2015-09-13 21:50:34 +02:00
Ion Gaztañaga 6e42a16dd6 Add missing std:: namespace to size_t types. 2015-09-08 23:19:54 +02:00
Ion Gaztañaga 49e1fbb0f5 New macros for two-dimension expansion 2015-09-07 18:17:54 +02:00
Ion Gaztañaga b88cfcaf84 Fixed Trac #11510 ("unique_ptr: -Wshadow warning issued") 2015-07-31 21:54:35 +02:00
Ion Gaztañaga 49a42a2fff - Removed unused "bool Bool" template parameter which was conflicting with some external library macros.
- Fixed Trac #11500 https://svn.boost.org/trac/boost/ticket/11500
2015-07-27 22:20:10 +02:00
Ion Gaztañaga 0a429e5de9 Use reinterpret_cast instead of static_cast when the address sanitizer is on to avoid errors in C++03 emulation. 2015-07-02 14:55:51 +02:00
Ion Gaztañaga 196914b7a0 Added is_const trait 2015-06-04 11:12:48 +02:00
Ion Gaztañaga 4a44ed3d26 Modify unique_ptr's constructor from convertible unique_ptr's to take the argument by value. This allows constructing unique_ptr from functions returning convertible unique_ptr's. See https://svn.boost.org/trac/boost/ticket/11259 for some details. 2015-05-06 12:32:11 +02:00
Ion Gaztañaga 69598a3d3f - Reworked some traits to refactor code
- is_trivially_copy_xxxxable updated to add is_pod
- Updated is_pod adding scalar and void as some compilers' __is_pod intrinsic doesn't work with scalars
- Added test for type_traits. Only a few tested, more to come.
2015-04-26 23:29:27 +02:00
Ion Gaztañaga 32f4d91cec Fixed Trac #11229: vector incorrectly copies move-only objects using memcpy 2015-04-25 11:36:36 +02:00
Ion Gaztañaga 4f9c2b62fb -> Added new meta-utils that were duplicated in Container & Intrusive.
-> Use some of them to avoid SFINAE instantiation errors in some old compilers.
-> Added a macro to static_cast or reinterpret_cast to rv<T> so in the future we can avoid some sanitizer errors when using static_cast
2015-04-12 12:26:46 +02:00
jzmaddock 67ffda6684 Fix for BOOST_ALIGNMENT_OF being set to an "unknown" value. 2015-02-21 18:13:28 +00:00
Ion Gaztañaga d61685461c Include boost/config.hpp before testing BOOST_HAS_PRAGMA_ONCE. 2015-02-02 15:58:29 +01:00
Ion Gaztañaga 6c1b630d4d Use is_class to allow union types for boost::rv<> 2015-01-28 20:21:10 +01:00
Ion Gaztañaga db6448f7ea Added is_nothrow_swappable 2015-01-19 00:05:05 +01:00
Ion Gaztañaga f21d8f51e7 Use is_class in is_empty_nonintrinsic. 2015-01-18 20:22:22 +01:00
Ion Gaztañaga 4ef98d900b Added is_enum, is_empty 2015-01-18 11:18:12 +01:00
Ion Gaztañaga 63d45d2fdd Updated type traits workaround deleted copy constructors 2015-01-17 19:59:33 +01:00
Ion Gaztañaga 35a8b69c94 Replaced _MSC_VER with BOOST_HAS_PRAGMA_ONCE before #pragma once. 2015-01-10 12:49:25 +01:00