//
// Created by Allen on 24/08/26.
//


#include "RawBuffer.h"

MutableRawBuffer::MutableRawBuffer(uint8_t* data, size_t size, bool freeOnDealloc)
        : _data(data), _size(size), _freeOnDealloc(freeOnDealloc) {}

MutableRawBuffer::~MutableRawBuffer() {
    if (_freeOnDealloc && _data != nullptr) {
        free(_data);
        _data = nullptr;
    }
}

size_t MutableRawBuffer::size() const {
    return _size;
}

uint8_t* MutableRawBuffer::data() {
    return _data;
}