added STL compatible access functions to TArray.
This allows using them in templates made for STL containers.
This commit is contained in:
parent
52c878c0d7
commit
41573df58f
3 changed files with 42 additions and 6 deletions
|
|
@ -150,7 +150,7 @@ bool FScanner::OpenFile (const char *name)
|
|||
auto filebuff = fr.Read();
|
||||
if (filebuff.size() == 0 && filesize > 0) return false;
|
||||
|
||||
ScriptBuffer = FString((const char *)filebuff.data(), filesize);
|
||||
ScriptBuffer = FString(filebuff.string(), filesize);
|
||||
ScriptName = name; // This is used for error messages so the full file name is preferable
|
||||
LumpNum = -1;
|
||||
PrepareScript ();
|
||||
|
|
|
|||
|
|
@ -71,12 +71,10 @@ public:
|
|||
void Open(const char *lumpname);
|
||||
bool OpenFile(const char *filename);
|
||||
void OpenMem(const char *name, const char *buffer, int size);
|
||||
void OpenMem(const char *name, const TArray<uint8_t> &buffer)
|
||||
{
|
||||
OpenMem(name, (const char*)buffer.Data(), buffer.Size());
|
||||
}
|
||||
void OpenMem(const char* name, const std::vector<uint8_t>& buffer)
|
||||
template<class T>
|
||||
void OpenMem(const char* name, const T& buffer)
|
||||
{
|
||||
static_assert(sizeof(T::value_type) == 1);
|
||||
OpenMem(name, (const char*)buffer.data(), (int)buffer.size());
|
||||
}
|
||||
void OpenString(const char *name, FString buffer);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue