PLCnext API Documentation 25.0.2.69
NullStream.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/System/Commons/Io/Stream.hpp"
9
10namespace Arp { namespace System { namespace Commons { namespace Io
11{
12
13class NullStream : public Stream
14{
15public: // construction/destruction
17 NullStream(void) = default;
18
19public: // setter/getter operations
20 boolean CanRead(void)final;
21 boolean CanWrite(void)final;
22 boolean CanSeek(void)final;
23 size_t GetLength(void);
24 void SetLength(size_t length);
25 size_t GetPosition(void)final;
26 void SetPosition(size_t position)final;
27
28public: // operations
29 void Flush(void)final;
30 size_t Seek(size_t offset, SeekOrigin origin)final;
31 size_t Read(byte* pBuffer, size_t bufferSize, size_t offset, size_t count)final;
32 void Write(const byte* pBuffer, size_t bufferSize, size_t offset, size_t count)final;
33 byte ReadByte(void)final;
34 void WriteByte(byte value)final;
35 void Close(void);
36
37protected: // operations
38 void InternalDispose(void);
39};
40
41}}}} // end of namespace Arp::System::Commons::Io
This abstract class shall be the base class of all stream implementations.
Definition: Stream.hpp:20
Definition: NullStream.hpp:14
NullStream(void)=default
Constructs an NullStream instance.
void SetPosition(size_t position) final
Sets the position of the stream, if it can seek.
Definition: NullStream.cpp:42
void WriteByte(byte value) final
Writes a single byte to the stream.
Definition: NullStream.cpp:72
boolean CanWrite(void) final
Determines if the derived stream can write.
Definition: NullStream.cpp:17
size_t GetPosition(void) final
Gets the position of the stream, if it can seek.
Definition: NullStream.cpp:37
byte ReadByte(void) final
Reads a single byte from the stream.
Definition: NullStream.cpp:67
boolean CanRead(void) final
Determines if the derived stream can read.
Definition: NullStream.cpp:12
boolean CanSeek(void) final
Determines if the derived stream can seek.
Definition: NullStream.cpp:22
Root namespace for the PLCnext API