From c16aa0e9c3ac4d5c5e96301800c6f56c17411304 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Sat, 10 Jun 2023 22:13:20 -0400 Subject: [PATCH] Add hulk.range --- src/hulk/range.d | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/hulk/range.d diff --git a/src/hulk/range.d b/src/hulk/range.d new file mode 100644 index 0000000..28c1b9e --- /dev/null +++ b/src/hulk/range.d @@ -0,0 +1,27 @@ +module hulk.range; + +/** + * Representation of a memory range. + */ +struct Range +{ + /** Range base address. */ + void * _address; + + /** Range length. */ + size_t length; + + /** Set the range address. */ + @property void * address(T)(T a) + { + static assert(T.sizeof == size_t.sizeof); + _address = cast(void *)a; + return _address; + } + + /** Get the range address. */ + @property void * address() + { + return _address; + } +}