chromium/components/ukm/bitset.h

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

#ifndef COMPONENTS_UKM_BITSET_H_
#define COMPONENTS_UKM_BITSET_H_

#include <cstdint>
#include <string>
#include <vector>

#include "base/component_export.h"

namespace ukm {

// A custom bitset class used to keep track of web feature usage across
// sources in UKM. `std::bitset<>` and `base::EnumSet<>` are intentionally not
// used because they do not provide the flexibility needed to efficiently
// serialize/deserialize the set.
class COMPONENT_EXPORT(UKM_RECORDER) BitSet {};

}  // namespace ukm

#endif  // COMPONENTS_UKM_BITSET_H_