public JsonTokenizer(int bufferSize = k_DefaultBufferSize, JsonValidationType validation = JsonValidationType.None, Allocator label = SerializationConfiguration.DefaultAllocatorLabel) { m_ValidationType = validation; m_Label = label; if (bufferSize <= 0) { throw new ArgumentException($"Token buffer size {bufferSize} <= 0"); } m_JsonTokens = new NativeArray <Token>(bufferSize, m_Label, NativeArrayOptions.UninitializedMemory); m_DiscardRemap = new NativeArray <int>(bufferSize, m_Label, NativeArrayOptions.UninitializedMemory); switch (validation) { case JsonValidationType.None: m_Validator = new JsonNoneValidator(); break; case JsonValidationType.Standard: m_Validator = new JsonStandardValidator(label); break; case JsonValidationType.Simple: m_Validator = new JsonSimpleValidator(label); break; } Initialize(); }
public JsonTokenizer(int bufferSize = k_DefaultBufferSize, JsonValidationType validation = JsonValidationType.None, Allocator label = SerializationConfiguration.DefaultAllocatorLabel) { m_Label = label; m_Data = (Data *)UnsafeUtility.Malloc(sizeof(Data), UnsafeUtility.AlignOf <Data>(), label); UnsafeUtility.MemClear(m_Data, sizeof(Data)); m_Data->BufferSize = bufferSize; m_Data->ValidationType = validation; if (bufferSize <= 0) { throw new ArgumentException($"Token buffer size {bufferSize} <= 0"); } m_Data->JsonTokens = (Token *)UnsafeUtility.Malloc(bufferSize * sizeof(Token), 4, label); m_Data->DiscardRemap = (int *)UnsafeUtility.Malloc(bufferSize * sizeof(int), 4, label); switch (validation) { case JsonValidationType.Standard: m_Data->StandardValidator = new JsonStandardValidator(label); break; case JsonValidationType.Simple: m_Data->SimpleValidator = new JsonSimpleValidator(label); break; } m_Data->TokenNextIndex = 0; m_Data->TokenParentIndex = -1; m_Data->PrevChar = 0; }
public JsonValidator(JsonValidationType validationType, Allocator label = SerializationConfiguration.DefaultAllocatorLabel) { m_ValidationType = validationType; m_Label = label; m_Data = (Data *)UnsafeUtility.Malloc(sizeof(Data), UnsafeUtility.AlignOf <Data>(), label); m_Data->Stack = new JsonTypeStack(k_DefaultDepthLimit, label); Reset(); }
public JsonTokenizer(JsonValidationType validation, Allocator label = SerializationConfiguration.DefaultAllocatorLabel) : this(k_DefaultBufferSize, validation, label) { }