#include "components/attribution_reporting/summary_buckets.h"
#include <stdint.h>
#include <string>
#include <utility>
#include <vector>
#include "base/check.h"
#include "base/containers/flat_set.h"
#include "base/containers/flat_tree.h"
#include "base/numerics/safe_conversions.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/max_event_level_reports.h"
#include "components/attribution_reporting/parsing_utils.h"
#include "components/attribution_reporting/source_registration_error.mojom.h"
#include "components/attribution_reporting/summary_operator.mojom.h"
namespace attribution_reporting {
namespace {
SourceRegistrationError;
SummaryOperator;
bool AreSummaryBucketsValid(const base::flat_set<uint32_t>& starts) { … }
}
base::expected<SummaryOperator, SourceRegistrationError> ParseSummaryOperator(
const base::Value::Dict& dict) { … }
void Serialize(SummaryOperator op, base::Value::Dict& dict) { … }
base::expected<SummaryBuckets, SourceRegistrationError> SummaryBuckets::Parse(
const base::Value::Dict& dict,
MaxEventLevelReports max_event_level_reports) { … }
SummaryBuckets::SummaryBuckets(
const MaxEventLevelReports max_event_level_reports) { … }
SummaryBuckets::SummaryBuckets(base::flat_set<uint32_t> starts)
: … { … }
SummaryBuckets::~SummaryBuckets() = default;
SummaryBuckets::SummaryBuckets(const SummaryBuckets&) = default;
SummaryBuckets& SummaryBuckets::operator=(const SummaryBuckets&) = default;
SummaryBuckets::SummaryBuckets(SummaryBuckets&&) = default;
SummaryBuckets& SummaryBuckets::operator=(SummaryBuckets&&) = default;
void SummaryBuckets::Serialize(base::Value::Dict& dict) const { … }
}