chromium/base/parameter_pack.h

// 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.

#ifndef BASE_PARAMETER_PACK_H_
#define BASE_PARAMETER_PACK_H_

#include <stddef.h>

#include <initializer_list>
#include <tuple>
#include <type_traits>

#include "base/containers/contains.h"

namespace base {

// Checks if any of the elements in |ilist| is true.
inline constexpr bool any_of(std::initializer_list<bool> ilist) {}

// Checks if all of the elements in |ilist| are true.
inline constexpr bool all_of(std::initializer_list<bool> ilist) {}

// Counts the elements in |ilist| that are equal to |value|.
// Similar to std::count for the case of constexpr initializer_list.
template <class T>
inline constexpr size_t count(std::initializer_list<T> ilist, T value) {}

constexpr size_t pack_npos =;

template <typename... Ts>
struct ParameterPack {};

}  // namespace base

#endif  // BASE_PARAMETER_PACK_H_