diff options
Diffstat (limited to 'clang-r353983e/include/llvm/Support/Capacity.h')
| -rw-r--r-- | clang-r353983e/include/llvm/Support/Capacity.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/clang-r353983e/include/llvm/Support/Capacity.h b/clang-r353983e/include/llvm/Support/Capacity.h new file mode 100644 index 00000000..6b99e0aa --- /dev/null +++ b/clang-r353983e/include/llvm/Support/Capacity.h @@ -0,0 +1,31 @@ +//===--- Capacity.h - Generic computation of ADT memory use -----*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// This file defines the capacity function that computes the amount of +// memory used by an ADT. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_SUPPORT_CAPACITY_H +#define LLVM_SUPPORT_CAPACITY_H + +#include <cstddef> + +namespace llvm { + +template <typename T> +static inline size_t capacity_in_bytes(const T &x) { + // This default definition of capacity should work for things like std::vector + // and friends. More specialized versions will work for others. + return x.capacity() * sizeof(typename T::value_type); +} + +} // end namespace llvm + +#endif + |
