35 lines
1.0 KiB
C
35 lines
1.0 KiB
C
|
#pragma once
|
||
|
|
||
|
#include <stdint.h>
|
||
|
#include "il2cpp-config.h"
|
||
|
#include "utils/StringView.h"
|
||
|
|
||
|
struct Il2CppString;
|
||
|
|
||
|
namespace il2cpp
|
||
|
{
|
||
|
namespace vm
|
||
|
{
|
||
|
class LIBIL2CPP_CODEGEN_API String
|
||
|
{
|
||
|
public:
|
||
|
//exported
|
||
|
static Il2CppString* Empty();
|
||
|
static int32_t GetLength(Il2CppString* str);
|
||
|
static int32_t GetHash(Il2CppString* str);
|
||
|
static Il2CppString* New(const char* str);
|
||
|
static Il2CppString* NewWrapper(const char* str);
|
||
|
static Il2CppString* NewLen(const char* str, uint32_t length);
|
||
|
static Il2CppString* NewSize(int32_t len);
|
||
|
static Il2CppString* NewUtf16(const Il2CppChar *text, int32_t len);
|
||
|
static Il2CppString* NewUtf16(const utils::StringView<Il2CppChar>& text);
|
||
|
|
||
|
public:
|
||
|
static void InitializeEmptyString(Il2CppClass* stringClass);
|
||
|
static void CleanupEmptyString();
|
||
|
static Il2CppString* Intern(Il2CppString* str);
|
||
|
static Il2CppString* IsInterned(Il2CppString* str);
|
||
|
};
|
||
|
} /* namespace vm */
|
||
|
} /* namespace il2cpp */
|