Program Listing for File uniform_buffer.hpp

Return to documentation for file (inexor/vulkan-renderer/wrapper/uniform_buffer.hpp)

#pragma once

#include "inexor/vulkan-renderer/wrapper/gpu_memory_buffer.hpp"

namespace inexor::vulkan_renderer::wrapper {

// Forward declaration
class Device;

class UniformBuffer : public GPUMemoryBuffer {
public:
    UniformBuffer(const Device &device, const std::string &name, const VkDeviceSize &size);

    UniformBuffer(const UniformBuffer &) = delete;
    UniformBuffer(UniformBuffer &&) noexcept;

    ~UniformBuffer() override = default;

    UniformBuffer &operator=(const UniformBuffer &) = delete;
    UniformBuffer &operator=(UniformBuffer &&) = delete;

    void update(void *data, std::size_t size);
};

} // namespace inexor::vulkan_renderer::wrapper