#include "third_party/libaddressinput/chromium/addressinput_util.h"
#include <stddef.h>
#include <algorithm>
#include "base/check.h"
#include "base/stl_util.h"
#include "third_party/libaddressinput/src/cpp/include/libaddressinput/address_data.h"
#include "third_party/libaddressinput/src/cpp/include/libaddressinput/address_metadata.h"
namespace autofill {
namespace addressinput {
namespace {
AddressData;
AddressField;
AddressProblem;
IsFieldRequired;
MISSING_REQUIRED_FIELD;
bool FilterContains(const std::multimap<AddressField, AddressProblem>* filter,
AddressField field,
AddressProblem problem) { … }
bool FilterExcludes(const std::multimap<AddressField, AddressProblem>* filter,
AddressField field,
AddressProblem problem) { … }
static const AddressField kFields[] = …;
}
bool HasAllRequiredFields(const AddressData& address_to_check) { … }
void ValidateRequiredFields(
const AddressData& address_to_check,
const std::multimap<AddressField, AddressProblem>* inclusion_filter,
std::multimap<AddressField, AddressProblem>* problems) { … }
void ValidateRequiredFieldsExceptFilteredOut(
const AddressData& address_to_check,
const std::multimap<AddressField, AddressProblem>* exclusion_filter,
std::multimap<AddressField, AddressProblem>* problems) { … }
}
}