chromium/third_party/openscreen/src/util/yet_another_bit_vector.cc

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

#include "util/yet_another_bit_vector.h"

#include <algorithm>
#include <utility>

#include "util/osp_logging.h"

namespace openscreen {

namespace {

// Returns a bitmask where all the bits whose positions are in the range
// [begin,begin+count) are set, and all other bits are cleared.
constexpr uint64_t MakeBitmask(int begin, int count) {}

}  // namespace

YetAnotherBitVector::YetAnotherBitVector() :{}

YetAnotherBitVector::YetAnotherBitVector(int size,
                                         YetAnotherBitVector::Fill fill) {}

YetAnotherBitVector::~YetAnotherBitVector() {}

YetAnotherBitVector::YetAnotherBitVector(YetAnotherBitVector&& other) noexcept
    :{}

YetAnotherBitVector& YetAnotherBitVector::operator=(
    YetAnotherBitVector&& other) noexcept {}

bool YetAnotherBitVector::IsSet(int pos) const {}

void YetAnotherBitVector::Set(int pos) {}

void YetAnotherBitVector::Clear(int pos) {}

void YetAnotherBitVector::Resize(int new_size, YetAnotherBitVector::Fill fill) {}

void YetAnotherBitVector::SetAll() {}

void YetAnotherBitVector::ClearAll() {}

void YetAnotherBitVector::ShiftRight(int steps) {}

int YetAnotherBitVector::FindFirstSet() const {}

int YetAnotherBitVector::CountBitsSet(int begin, int end) const {}

void YetAnotherBitVector::InitializeForNewSize(int new_size, Fill fill) {}

const uint64_t* YetAnotherBitVector::Select(int* pos) const {}

// NOTE: These declarations can be removed when C++17 compliance is mandatory
// for all embedders, as static constexpr members can be declared inline.
constexpr int YetAnotherBitVector::kBitsPerInteger;
constexpr uint64_t YetAnotherBitVector::kAllBitsSet;
constexpr uint64_t YetAnotherBitVector::kNoBitsSet;

}  // namespace openscreen