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; + } +}