Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.

core.internal.moving

This module contains the implementation of move semantics of DIP 1014
License:
Distributed under the Boost Software License 1.0. (See accompanying file LICENSE)
nothrow void __move_post_blt(S)(ref S newLocation, ref S oldLocation)
if (is(S == struct));
Recursively calls the opPostMove callbacks of a struct and its members if they're defined.
When moving a struct instance, the compiler emits a call to this function after blitting the instance and before releasing the original instance's memory.
Parameters:
S newLocation reference to struct instance being moved into
S oldLocation reference to the original instance

Note This function is tentatively defined as nothrow to prevent opPostMove from being defined without nothrow, which would allow for possibly confusing changes in program flow.