This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[v3 PATCH] Implement P0040R3, Extending memory management tools.


Tested on Linux-x64. I didn't even try to be clever about uninitialized_move
and uninitialized_move_n, so these don't (yet) try to optimize
for trivially_move_constructible types.
Similarly, destroy and destroy_n don't (yet) have no-op specializations
for trivially destructible types.

2016-09-13  Ville Voutilainen  <ville.voutilainen@gmail.com>

    Implement P0040R3, Extending memory management tools.
    * include/bits/stl_uninitialized.h (utility): New include
    in C++17 mode.
    (uninitialized_default_construct): New.
    (uninitialized_default_construct_n): Likewise.
    (uninitialized_value_construct): Likewise.
    (uninitialized_value_construct_n): Likewise.
    (uninitialized_move): Likewise.
    (uninitialized_move_n): Likewise.
    (destroy_at, destroy, destroy_n): Likewise.
    * testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc:
    New.

Attachment: P0040R3.diff
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]