Menu

- Learn
- Documentation
  - Language Reference
  - Library Reference
  - Command-line Reference
  - Feature Overview
  - Articles
- Downloads
- Packages
- Community
  - Blog
  - Orgs using D
  - Twitter
  - Calendar
  - 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.

# dmd.root.region

Region storage allocator implementation.
Authors:
Walter Bright
License:
Boost License 1.0

Source root/region.d

Documentation https://dlang.org/phobos/dmd_root_region.html

Coverage https://codecov.io/gh/dlang/dmd/src/master/src/dmd/root/region.d

struct `Region`;
  Simple region storage allocator.
  nothrow void* `malloc`(size_t `nbytes`);
    Allocate nbytes. Aborts on failure.
    Parameters:

    size_t `nbytes` | number of bytes to allocate, can be 0, must be <= than MaxAllocSize

    Returns:
    allocated data, null for nbytes==0
  nothrow RegionPos `savePos`();
    Return stack position for allocations in this region.
    Returns:
    an opaque struct to be passed to release()
  nothrow void `release`(RegionPos `pos`);
    Release the memory that was allocated after the respective call to savePos().
    Parameters:

    RegionPos `pos` | position returned by savePos()

  nothrow bool `contains`(void* `p`);
    If pointer points into Region.
    Parameters:

    void* `p` | pointer to check

    Returns:
    true if it points into the region
  nothrow size_t `size`();
    Returns:
    size of Region

Copyright © 1999-2020 by the D Language Foundation | Page generated by Ddoc on Thu Jun 11 11:22:46 2020