libimgdoc2
Loading...
Searching...
No Matches
IBlobOutput.h
1// SPDX-FileCopyrightText: 2023 Carl Zeiss Microscopy GmbH
2//
3// SPDX-License-Identifier: MIT
4
5#pragma once
6
7namespace imgdoc2
8{
16 {
17 public:
24 virtual bool Reserve(size_t s) = 0;
25
38 virtual bool SetData(size_t offset, size_t size, const void* data) = 0;
39
40 virtual ~IBlobOutput() = default;
41 public:
42 // no copy and no move (-> https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#c21-if-you-define-or-delete-any-copy-move-or-destructor-function-define-or-delete-them-all )
43 IBlobOutput() = default;
44 IBlobOutput(const IBlobOutput&) = delete; // copy constructor
45 IBlobOutput& operator=(const IBlobOutput&) = delete; // copy assignment
46 IBlobOutput(IBlobOutput&&) = delete; // move constructor
47 IBlobOutput& operator=(IBlobOutput&&) = delete; // move assignment
48 };
49}
interface for outputting binary data
Definition: IBlobOutput.h:16
virtual bool Reserve(size_t s)=0
virtual bool SetData(size_t offset, size_t size, const void *data)=0