xref: /freebsd/contrib/llvm-project/libcxx/src/vector.cpp (revision fe75646a0234a261c0013bf1840fdac4acaf0cec)
1 //===----------------------------------------------------------------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #include <vector>
10 
11 _LIBCPP_BEGIN_NAMESPACE_STD
12 
13 #ifndef _LIBCPP_ABI_DO_NOT_EXPORT_VECTOR_BASE_COMMON
14 
15 template <bool>
16 struct __vector_base_common;
17 
18 template <>
19 struct __vector_base_common<true> {
20   _LIBCPP_NORETURN _LIBCPP_EXPORTED_FROM_ABI void __throw_length_error() const;
21   _LIBCPP_NORETURN _LIBCPP_EXPORTED_FROM_ABI void __throw_out_of_range() const;
22 };
23 
24 void __vector_base_common<true>::__throw_length_error() const {
25   _VSTD::__throw_length_error("vector");
26 }
27 
28 void __vector_base_common<true>::__throw_out_of_range() const {
29   _VSTD::__throw_out_of_range("vector");
30 }
31 
32 #endif // _LIBCPP_ABI_DO_NOT_EXPORT_VECTOR_BASE_COMMON
33 
34 _LIBCPP_END_NAMESPACE_STD
35