Cogs.Core
Source
Platform
ResourceBufferBackedFileContents.h
1
#pragma once
2
3
#include "Resources/ResourceStore.h"
4
5
#include "Foundation/Platform/FileContents.h"
6
7
namespace
Cogs::Platform {
8
struct
ResourceBufferBackedFileContents
:
public
FileContents
{
9
Core::ResourceBuffer
buffer;
10
std::string path;
11
12
ResourceBufferBackedFileContents
(
Core::ResourceBuffer
& buffer,
const
std::string& path,
Cogs::FileContentsHints
hints) :
FileContents
(
nullptr
, 0, hints), buffer(buffer), path(path) {
13
ptr
= buffer.
data
();
14
size
= buffer.size();
15
}
16
17
~ResourceBufferBackedFileContents
() {}
18
19
Memory::MemoryBuffer
take
()
override
{
return
takeCopy(); }
20
StringView
origin()
override
{
return
path; }
21
};
22
23
}
Cogs::Memory::MemoryBuffer
Definition:
MemoryBuffer.h:23
Cogs::StringView
Provides a weakly referenced view over the contents of a string.
Definition:
StringView.h:24
Cogs::FileContentsHints
FileContentsHints
Definition:
FileContents.h:11
Cogs::Core::ResourceBuffer
Definition:
ResourceStore.h:22
Cogs::Core::ResourceBuffer::data
uint8_t * data()
Returns pointer to start of buffer data. Requires non-empty Contents.
Definition:
ResourceStore.h:25
Cogs::FileContents
Abstract base class storing data read from a file.
Definition:
FileContents.h:20
Cogs::FileContents::size
size_t size
Number of data bytes.
Definition:
FileContents.h:29
Cogs::FileContents::ptr
const uint8_t * ptr
Start of buffer storing file data. Use.
Definition:
FileContents.h:27
Cogs::Platform::ResourceBufferBackedFileContents
Definition:
ResourceBufferBackedFileContents.h:8
Cogs::Platform::ResourceBufferBackedFileContents::take
Memory::MemoryBuffer take() override
Take ownership of underlying memorybuffer if exists.
Definition:
ResourceBufferBackedFileContents.h:19
Generated by
1.9.6