xref: /llvm-project-15.0.7/libcxx/src/vector.cpp (revision bbb0f2c7)
1eb8650a7SLouis Dionne //===----------------------------------------------------------------------===//
26af1b7d9SEric Fiselier //
357b08b09SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
457b08b09SChandler Carruth // See https://llvm.org/LICENSE.txt for license information.
557b08b09SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
66af1b7d9SEric Fiselier //
76af1b7d9SEric Fiselier //===----------------------------------------------------------------------===//
86af1b7d9SEric Fiselier 
9*bbb0f2c7SArthur O'Dwyer #include <vector>
106af1b7d9SEric Fiselier 
116af1b7d9SEric Fiselier _LIBCPP_BEGIN_NAMESPACE_STD
126af1b7d9SEric Fiselier 
13b82da8b5SNikolas Klauser #ifndef _LIBCPP_ABI_DO_NOT_EXPORT_VECTOR_BASE_COMMON
14b82da8b5SNikolas Klauser 
15b82da8b5SNikolas Klauser template <bool>
16b82da8b5SNikolas Klauser struct __vector_base_common;
17b82da8b5SNikolas Klauser 
18b82da8b5SNikolas Klauser template <>
19b82da8b5SNikolas Klauser struct __vector_base_common<true> {
20b82da8b5SNikolas Klauser   _LIBCPP_NORETURN _LIBCPP_EXPORTED_FROM_ABI void __throw_length_error() const;
21b82da8b5SNikolas Klauser   _LIBCPP_NORETURN _LIBCPP_EXPORTED_FROM_ABI void __throw_out_of_range() const;
22b82da8b5SNikolas Klauser };
23b82da8b5SNikolas Klauser 
__throw_length_error() const2484b0b52bSLouis Dionne void __vector_base_common<true>::__throw_length_error() const {
2584b0b52bSLouis Dionne   _VSTD::__throw_length_error("vector");
2684b0b52bSLouis Dionne }
2784b0b52bSLouis Dionne 
__throw_out_of_range() const2884b0b52bSLouis Dionne void __vector_base_common<true>::__throw_out_of_range() const {
2984b0b52bSLouis Dionne   _VSTD::__throw_out_of_range("vector");
3084b0b52bSLouis Dionne }
316af1b7d9SEric Fiselier 
32b82da8b5SNikolas Klauser #endif // _LIBCPP_ABI_DO_NOT_EXPORT_VECTOR_BASE_COMMON
33b82da8b5SNikolas Klauser 
346af1b7d9SEric Fiselier _LIBCPP_END_NAMESPACE_STD
35