chromium/third_party/rust/serde_json_lenient/v0_2/wrapper/functions.h

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef THIRD_PARTY_RUST_SERDE_JSON_LENIENT_V0_2_WRAPPER_SERDE_JSON_LENIENT_H_
#define THIRD_PARTY_RUST_SERDE_JSON_LENIENT_V0_2_WRAPPER_SERDE_JSON_LENIENT_H_

#include <stdint.h>

#include "third_party/rust/cxx/v1/cxx.h"

namespace serde_json_lenient {

// An opaque pointer provided by the caller to decode_json() which is passed
// through to the visitor functions on `Functions`.
struct ContextPointer;

// C++ functions that provide the functionality for each stop by the JSON
// deserializer in order to construct the output in C++ from the JSON
// deserialization.
//
// TODO(danakj): CXX does not support function pointers, so we need to use a
// struct of methods (this struct) for it to call instead of a structure of
// function pointers which could be defined directly in the Rust code.
struct Functions {};

}  // namespace serde_json_lenient

#endif  // THIRD_PARTY_RUST_SERDE_JSON_LENIENT_V0_2_WRAPPER_SERDE_JSON_LENIENT_H_