Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
944 B

  1. //===--- Capacity.h - Generic computation of ADT memory use -----*- C++ -*-===//
  2. //
  3. // The LLVM Compiler Infrastructure
  4. //
  5. // This file is distributed under the University of Illinois Open Source
  6. // License. See LICENSE.TXT for details.
  7. //
  8. //===----------------------------------------------------------------------===//
  9. //
  10. // This file defines the capacity function that computes the amount of
  11. // memory used by an ADT.
  12. //
  13. //===----------------------------------------------------------------------===//
  14. #ifndef LLVM_SUPPORT_CAPACITY_H
  15. #define LLVM_SUPPORT_CAPACITY_H
  16. #include <cstddef>
  17. namespace llvm {
  18. template <typename T>
  19. static inline size_t capacity_in_bytes(const T &x) {
  20. // This default definition of capacity should work for things like std::vector
  21. // and friends. More specialized versions will work for others.
  22. return x.capacity() * sizeof(typename T::value_type);
  23. }
  24. } // end namespace llvm
  25. #endif