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