8#include "Arp/System/Core/PimplPtr.hxx"
9#include "Arp/System/Core/Endianness.hpp"
13namespace Arp::Plc::Commons::Internal::Gds::Buffer
31 using Ptr = std::shared_ptr<IoBuffer>;
32 using IGdsBuffer = Arp::Plc::Commons::Internal::Gds::Buffer::IGdsBuffer;
33 using IGdsBufferPtr = std::shared_ptr<IGdsBuffer>;
43 explicit IoBuffer(IGdsBufferPtr gdsBufferPtr);
46 size_t GetSize(
void)
const;
47 Endianness GetEndianness()
const;
48 void SetDataValid(
bool isValid =
true);
51 bool BeginRead(
byte*& currentReadData);
53 void BeginWrite(
byte*& currentWriteData);
54 void EndWrite(
bool isValid =
true);
58 const Impl& GetImpl(
void)
const;
Adapter class to implement PImpl idiom.
Definition: PimplPtr.hxx:15
This class is used to get access to buffer memory
Definition: IoBuffer.hpp:26
IoBuffer(IoBuffer &&arg) noexcept
Default move constructor.
~IoBuffer(void)
Default destructor.
IoBuffer & operator=(IoBuffer &&arg) noexcept
Default move-assignment operator.
Namespace for interface types of the IO domain