diff options
Diffstat (limited to 'common/util.h')
-rw-r--r-- | common/util.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/common/util.h b/common/util.h index ce2b4da1..540646c7 100644 --- a/common/util.h +++ b/common/util.h @@ -263,6 +263,16 @@ template <typename T, typename C = std::less<T>> struct TopoSort } }; +template <typename T> struct reversed_range_t +{ + T &obj; + explicit reversed_range_t(T &obj) : obj(obj){}; + auto begin() { return obj.rbegin(); } + auto end() { return obj.rend(); } +}; + +template <typename T> reversed_range_t<T> reversed_range(T &obj) { return reversed_range_t<T>(obj); } + NEXTPNR_NAMESPACE_END #endif |