small_vector.h 806 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*
  2. * Copyright (c) Facebook, Inc. and its affiliates.
  3. *
  4. * This source code is licensed under the MIT license found in the
  5. * LICENSE file in the root directory of this source tree.
  6. */
  7. #pragma once
  8. #include <better/better.h>
  9. // `folly::small_vector` is broken on some versions of Android.
  10. #if defined(BETTER_USE_FOLLY_CONTAINERS) && !defined(ANDROID)
  11. #include <folly/small_vector.h>
  12. #else
  13. #include <vector>
  14. #endif
  15. namespace facebook {
  16. namespace better {
  17. #if defined(BETTER_USE_FOLLY_CONTAINERS) && !defined(ANDROID)
  18. template <typename T, std::size_t Size, typename... Ts>
  19. using small_vector = folly::small_vector<T, Size, Ts...>;
  20. #else
  21. template <typename T, std::size_t Size, typename... Ts>
  22. using small_vector = std::vector<T, Ts...>;
  23. #endif
  24. } // namespace better
  25. } // namespace facebook