25#include "../compat.hpp"
26#include "abstract/chunk_processor.hpp"
32namespace essence::crypto {
59 ostream(std::string_view path, abstract::chunk_processor processor, openmode mode = out | binary);
63 ES_API(CPPESSENCE) ~
ostream() override;
71 [[nodiscard]] ES_API(CPPESSENCE)
bool is_open() const noexcept;
79 void open(std::shared_ptr<std::
ostream> output_stream, abstract::chunk_processor processor);
88 void open(std::string_view path, abstract::chunk_processor processor, openmode mode = out | binary);
93 ES_API(CPPESSENCE)
void close() const;
Provides a uniform interface for processing crypto chunks.
Definition chunk_processor.hpp:40
An output stream to transform input data by using a chunk processor(i.e. a chunk encryptor).
Definition ostream.hpp:36
ES_API(CPPESSENCE) ostream()
Creates an empty instance, of which the initialization is delayed when the open function is called.
ES_API(CPPESSENCE) ostream(std ostream(std::string_view path, abstract::chunk_processor processor, openmode mode=out|binary)
Creates an instance.
void open(std::shared_ptr< std::ostream > output_stream, abstract::chunk_processor processor)
Resets all internal states and opens a new output stream to write the transformed data.