Undo buffer implementation
This commit is contained in:
1 parent
4ea8b8d50b
commit
5e40b04e39
4 files changed
+6
-14
No files matched your search
@@ -1,4 +0,0 @@
|
||||
#include "acrux/buffers/fixed/FixedBuffer.hpp"
|
||||
int main()
|
||||
{
|
||||
}
|
||||
@@ -2,7 +2,6 @@
|
||||
#include <cstddef>
|
||||
|
||||
#include "IBuffer.hpp"
|
||||
#include "acrux/buffers/packing/Packable.hpp"
|
||||
#include "acrux/memory/Endian.hpp"
|
||||
|
||||
namespace acrux::buffers
|
||||
@@ -12,7 +11,7 @@ namespace acrux::buffers
|
||||
public:
|
||||
[[nodiscard]] virtual bool read(void* s, size_t bitCount) = 0;
|
||||
|
||||
template <typename T, packing::PackModeEnum<T>::Type PackMode>
|
||||
template <typename T>
|
||||
[[nodiscard]] bool read(T& value, acrux::memory::Endian endianness);
|
||||
|
||||
[[nodiscard]] const IBuffer* getBuffer() const;
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
#include <cstddef>
|
||||
|
||||
#include "IBuffer.hpp"
|
||||
#include "acrux/buffers/packing/Packable.hpp"
|
||||
#include "acrux/memory/Endian.hpp"
|
||||
|
||||
namespace acrux::buffers
|
||||
@@ -12,7 +11,7 @@ namespace acrux::buffers
|
||||
public:
|
||||
[[nodiscard]] virtual bool write(const void* s, size_t bitCount) = 0;
|
||||
|
||||
template <typename T, packing::PackModeEnum<T>::Type PackMode>
|
||||
template <typename T>
|
||||
[[nodiscard]] bool write(const T& value, acrux::memory::Endian endianness);
|
||||
|
||||
[[nodiscard]] const IBuffer* getBuffer() const;
|
||||
|
||||
@@ -11,13 +11,12 @@ namespace acrux::buffers::packing
|
||||
using Type = void;
|
||||
};
|
||||
|
||||
template <typename T, PackModeEnum<T>::Type Mode>
|
||||
bool writePacked(const T& value, PackWriteFn write)
|
||||
template <typename T> bool writePacked(const T& value, PackWriteFn write)
|
||||
{
|
||||
return write(&value, sizeof(T));
|
||||
}
|
||||
|
||||
template <typename T, PackModeEnum<T>::Type Mode> bool readPacked(const void* source, T& output)
|
||||
template <typename T> bool readPacked(const void* source, T& output)
|
||||
{
|
||||
output = *static_cast<const T*>(source);
|
||||
return true;
|
||||
@@ -37,13 +36,12 @@ namespace acrux::buffers::packing
|
||||
#define DEFINE_PACKING_MODE(TYPE, MODE, WRITE_FN, READ_FN) \
|
||||
/* NOLINTBEGIN */ \
|
||||
template <> \
|
||||
bool ::acrux::buffers::packing::writePacked<TYPE, MODE>( \
|
||||
bool ::acrux::buffers::packing::writePacked<TYPE>( \
|
||||
const TYPE& value, ::acrux::buffers::packing::PackWriteFn write) \
|
||||
{ \
|
||||
return WRITE_FN(value, write); \
|
||||
} \
|
||||
template <> \
|
||||
bool ::acrux::buffers::packing::readPacked<TYPE, MODE>(const void* source, TYPE& output) \
|
||||
template <> bool ::acrux::buffers::packing::readPacked<TYPE>(const void* source, TYPE& output) \
|
||||
{ \
|
||||
return READ_FN(source, output); \
|
||||
} \
|
||||
|
||||
Reference in new issue
Block a user