Menu

- Learn
- Documentation
  - Language Reference
  - Library Reference
  - Command-line Reference
  - Feature Overview
  - Articles
- Downloads
- Packages
- Community
  - Blog
  - Orgs using D
  - Twitter
  - Forums
  - IRC
  - Community Discord
  - Wiki
  - GitHub
  - Issues
  - Get involved
  - Contributors
  - Foundation
  - Security Team
  - Donate
  - Sponsors
- Resources
  - Tour
  - Books
  - Tutorials
  - Tools
  - Editors
  - IDEs
  - run.dlang.io
  - Visual D
  - Acknowledgments
  - D Style
  - Glossary
  - Sitemap

Search
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)

Source core/internal/moving.d

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.

Copyright © 1999-2023 by the D Language Foundation | Page generated by Ddoc on Wed Mar 1 14:56:29 2023