xref: /openbsd-src/gnu/llvm/libcxx/src/vector.cpp (revision 4bdff4bed0e3d54e55670334c7d0077db4170f86)
1*4bdff4beSrobert //===----------------------------------------------------------------------===//
246035553Spatrick //
346035553Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
446035553Spatrick // See https://llvm.org/LICENSE.txt for license information.
546035553Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
646035553Spatrick //
746035553Spatrick //===----------------------------------------------------------------------===//
846035553Spatrick 
9*4bdff4beSrobert #include <vector>
1046035553Spatrick 
1146035553Spatrick _LIBCPP_BEGIN_NAMESPACE_STD
1246035553Spatrick 
13*4bdff4beSrobert #ifndef _LIBCPP_ABI_DO_NOT_EXPORT_VECTOR_BASE_COMMON
14*4bdff4beSrobert 
15*4bdff4beSrobert template <bool>
16*4bdff4beSrobert struct __vector_base_common;
17*4bdff4beSrobert 
18*4bdff4beSrobert template <>
19*4bdff4beSrobert struct __vector_base_common<true> {
20*4bdff4beSrobert   _LIBCPP_NORETURN _LIBCPP_EXPORTED_FROM_ABI void __throw_length_error() const;
21*4bdff4beSrobert   _LIBCPP_NORETURN _LIBCPP_EXPORTED_FROM_ABI void __throw_out_of_range() const;
22*4bdff4beSrobert };
23*4bdff4beSrobert 
__throw_length_error() const24*4bdff4beSrobert void __vector_base_common<true>::__throw_length_error() const {
25*4bdff4beSrobert   _VSTD::__throw_length_error("vector");
26*4bdff4beSrobert }
27*4bdff4beSrobert 
__throw_out_of_range() const28*4bdff4beSrobert void __vector_base_common<true>::__throw_out_of_range() const {
29*4bdff4beSrobert   _VSTD::__throw_out_of_range("vector");
30*4bdff4beSrobert }
31*4bdff4beSrobert 
32*4bdff4beSrobert #endif // _LIBCPP_ABI_DO_NOT_EXPORT_VECTOR_BASE_COMMON
3346035553Spatrick 
3446035553Spatrick _LIBCPP_END_NAMESPACE_STD
35