diff options
author | Johannes Stoelp <johannes.stoelp@gmail.com> | 2023-10-27 00:37:29 +0200 |
---|---|---|
committer | Johannes Stoelp <johannes.stoelp@gmail.com> | 2023-10-27 00:37:29 +0200 |
commit | 19a5b01f0b2a4a3609a8a8ed32fba8dd376e1905 (patch) | |
tree | 83368b6ccc154d3da89dd191f1f24050c729a202 /src/utils/range.h | |
parent | eef63c3da8e85f9f155dbc313ec8a87bafd883fd (diff) | |
download | sysc-playground-19a5b01f0b2a4a3609a8a8ed32fba8dd376e1905.tar.gz sysc-playground-19a5b01f0b2a4a3609a8a8ed32fba8dd376e1905.zip |
move utils into subfolder and different files
Diffstat (limited to 'src/utils/range.h')
-rw-r--r-- | src/utils/range.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/utils/range.h b/src/utils/range.h new file mode 100644 index 0000000..ce25298 --- /dev/null +++ b/src/utils/range.h @@ -0,0 +1,25 @@ +#ifndef SYSC_PLAYGROUND_RANGE +#define SYSC_PLAYGROUND_RANGE + +#include "utils/types.h" + +#include <cassert> + +struct range { + constexpr explicit range(u64 start, u64 end) : start{start}, end{end} { + assert(start < end); + } + + constexpr bool overlaps(range rhs) const { + return start <= rhs.end && rhs.start <= end; + } + + constexpr bool contains(range rhs) const { + return start <= rhs.start && rhs.end <= end; + } + + u64 start; + u64 end; +}; + +#endif |