aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2021-10-08 19:02:29 +0200
committerStefan Boberg <[email protected]>2021-10-08 19:02:29 +0200
commite4d3d85c20f6a4e5630b2dc4ddbccd9b1175cd86 (patch)
tree0ef0798d2bdd2d852946a398a5917ca5d7c853c3
parentfilecas: Added handling of error when a rename is attempted but the target al... (diff)
downloadzen-e4d3d85c20f6a4e5630b2dc4ddbccd9b1175cd86.tar.xz
zen-e4d3d85c20f6a4e5630b2dc4ddbccd9b1175cd86.zip
basicfile: Added Write member functions accepting MemoryView for convenience
-rw-r--r--zenstore/basicfile.cpp12
-rw-r--r--zenstore/include/zenstore/basicfile.h2
2 files changed, 14 insertions, 0 deletions
diff --git a/zenstore/basicfile.cpp b/zenstore/basicfile.cpp
index f41f04101..cfc77e2a5 100644
--- a/zenstore/basicfile.cpp
+++ b/zenstore/basicfile.cpp
@@ -143,6 +143,12 @@ BasicFile::StreamByteRange(uint64_t FileOffset, uint64_t Size, std::function<voi
}
}
+void
+BasicFile::Write(MemoryView Data, uint64_t FileOffset, std::error_code& Ec)
+{
+ Write(Data.GetData(), Data.GetSize(), FileOffset, Ec);
+}
+
void
BasicFile::Write(const void* Data, uint64_t Size, uint64_t FileOffset, std::error_code& Ec)
{
@@ -177,6 +183,12 @@ BasicFile::Write(const void* Data, uint64_t Size, uint64_t FileOffset, std::erro
}
void
+BasicFile::Write(MemoryView Data, uint64_t FileOffset)
+{
+ Write(Data.GetData(), Data.GetSize(), FileOffset);
+}
+
+void
BasicFile::Write(const void* Data, uint64_t Size, uint64_t Offset)
{
std::error_code Ec;
diff --git a/zenstore/include/zenstore/basicfile.h b/zenstore/include/zenstore/basicfile.h
index fad4a33e1..7ae35dea6 100644
--- a/zenstore/include/zenstore/basicfile.h
+++ b/zenstore/include/zenstore/basicfile.h
@@ -36,6 +36,8 @@ public:
void Read(void* Data, uint64_t Size, uint64_t FileOffset);
void StreamFile(std::function<void(const void* Data, uint64_t Size)>&& ChunkFun);
void StreamByteRange(uint64_t FileOffset, uint64_t Size, std::function<void(const void* Data, uint64_t Size)>&& ChunkFun);
+ void Write(MemoryView Data, uint64_t FileOffset);
+ void Write(MemoryView Data, uint64_t FileOffset, std::error_code& Ec);
void Write(const void* Data, uint64_t Size, uint64_t FileOffset);
void Write(const void* Data, uint64_t Size, uint64_t FileOffset, std::error_code& Ec);
void Flush();