#ifndef MOJO_PUBLIC_CPP_BINDINGS_LIB_VALIDATE_PARAMS_H_
#define MOJO_PUBLIC_CPP_BINDINGS_LIB_VALIDATE_PARAMS_H_
#include <stdint.h>
#include "base/memory/raw_ptr_exclusion.h"
namespace mojo {
namespace internal {
class ValidationContext;
ValidateEnumFunc;
class ContainerValidateParams { … };
template <uint32_t expected_num_elements,
bool element_is_nullable,
const ContainerValidateParams* element_validate_params>
struct ArrayValidateParamsHolder { … };
template <uint32_t expected_num_elements,
bool element_is_nullable,
ValidateEnumFunc* validate_enum_func>
struct ArrayOfEnumsValidateParamsHolder { … };
template <const ContainerValidateParams& key_validate_params,
const ContainerValidateParams& element_validate_params>
struct MapValidateParamsHolder { … };
template <uint32_t expected_num_elements,
bool element_is_nullable,
const ContainerValidateParams* element_validate_params>
constexpr const ContainerValidateParams& GetArrayValidator() { … }
template <uint32_t expected_num_elements,
bool element_is_nullable,
ValidateEnumFunc* validate_enum_func>
constexpr const ContainerValidateParams& GetArrayOfEnumsValidator() { … }
template <const ContainerValidateParams& key_validate_params,
const ContainerValidateParams& element_validate_params>
constexpr const ContainerValidateParams& GetMapValidator() { … }
}
}
#endif