Opened 14 years ago
Closed 14 years ago
#1932 closed Patches (fixed)
move semantics for shared objects (patch)
Reported by: | Owned by: | Ion Gaztañaga | |
---|---|---|---|
Milestone: | Boost 1.36.0 | Component: | interprocess |
Version: | Boost Development Trunk | Severity: | Problem |
Keywords: | interprocess movable move | Cc: |
Description
In the interprocess library, move semantics are provided for all the container types using boost::interprocess::move().
The code for move semantics is (mostly) present in the shared object types and shared_region, but something is missing for it to actually work for these classes: the necessary specialization of the 'is_movable' trait, and the correct signature on the copy constructor and assignment operators.
Attached is a patch that fixes "movability" for several types: file_mapping, shared_memory_object, mapped_region, windows_shared_memory, managed_head_memory, managed_external_buffer.
The problem is a little harder for managed_shared_memory, managed_mapped_file, and managed_windows_shared_memory, because they derive from detail::managed_open_or_create_impl, which currently does not have a default constructor. I chose not to dig into that at this time.
Attachments (1)
Change History (2)
by , 14 years ago
Attachment: | interprocess_movable.patch added |
---|
comment:1 by , 14 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Fixed in revision 45705 with movable managed classes
patch