aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2021-10-29 18:10:34 +0200
committerStefan Boberg <[email protected]>2021-10-29 18:10:34 +0200
commit96eebb30391cd89923926dfde80754d486fc9db4 (patch)
treee045b36478f62bddf355e80aa1b0f403fa501fef
parentLockfile implementation (#24) (diff)
downloadzen-96eebb30391cd89923926dfde80754d486fc9db4.tar.xz
zen-96eebb30391cd89923926dfde80754d486fc9db4.zip
Added SharedBuffer::MakeView implementation accepting container argument, to make tests easier to write
-rw-r--r--zencore/include/zencore/sharedbuffer.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/zencore/include/zencore/sharedbuffer.h b/zencore/include/zencore/sharedbuffer.h
index 640c3fe74..1f87dc639 100644
--- a/zencore/include/zencore/sharedbuffer.h
+++ b/zencore/include/zencore/sharedbuffer.h
@@ -143,6 +143,12 @@ public:
/** Make a non-owned view of the input */
[[nodiscard]] inline static SharedBuffer MakeView(MemoryView View) { return MakeView(View.GetData(), View.GetSize()); }
+ /** Make a non-owning view of the memory of the contiguous container. */
+ [[nodiscard]] inline static SharedBuffer MakeView(const std::ranges::contiguous_range auto& Container)
+ {
+ std::span Span = Container;
+ return MakeView(Span.data(), Span.size() * sizeof(typename decltype(Span)::element_type));
+ }
/** Make a non-owned view of the input */
[[nodiscard]] ZENCORE_API static SharedBuffer MakeView(const void* Data, uint64_t Size);
/** Make a non-owned view of the input */