#include "components/attribution_reporting/destination_set.h"
#include <algorithm>
#include <optional>
#include <string>
#include <utility>
#include "base/check.h"
#include "base/containers/flat_set.h"
#include "base/functional/overloaded.h"
#include "base/ranges/algorithm.h"
#include "base/types/expected.h"
#include "base/types/expected_macros.h"
#include "base/values.h"
#include "components/attribution_reporting/constants.h"
#include "components/attribution_reporting/source_registration_error.mojom-shared.h"
#include "components/attribution_reporting/suitable_origin.h"
#include "mojo/public/cpp/bindings/default_construct_tag.h"
#include "net/base/schemeful_site.h"
namespace attribution_reporting {
namespace {
SourceRegistrationError;
bool DestinationsValid(const DestinationSet::Destinations& destinations) { … }
}
std::optional<DestinationSet> DestinationSet::Create(
Destinations destinations) { … }
base::expected<DestinationSet, SourceRegistrationError>
DestinationSet::FromJSON(const base::Value* v) { … }
DestinationSet::DestinationSet(Destinations destinations)
: … { … }
DestinationSet::DestinationSet(mojo::DefaultConstruct::Tag) { … }
DestinationSet::~DestinationSet() = default;
DestinationSet::DestinationSet(const DestinationSet&) = default;
DestinationSet::DestinationSet(DestinationSet&&) = default;
DestinationSet& DestinationSet::operator=(const DestinationSet&) = default;
DestinationSet& DestinationSet::operator=(DestinationSet&&) = default;
bool DestinationSet::IsValid() const { … }
base::Value DestinationSet::ToJson() const { … }
}