STD::_VECTOR_BASE(3cxx)

πŸ’– NAME πŸ’–

This page is literally for std::_Vector_base< _Tp, _Alloc > from the 3cxx manual, bestie. And the NAME section is not doing the most: it just says See bits/stl_deque.h's _Deque_base for an explanation. That’s the whole vibe. Periodt.


✨ SYNOPSIS ✨

First things first, you include this:

#include <vector>

Then it’s inherited by this entire [protected] squad β€” yes, all of them, no skips:

Inherited by std::vector< _State< _TraitsT::char_type > > [protected],
std::vector< sub_match< _Bi_iter >, allocator< sub_match< _Bi_iter > > >
[protected], std::vector< block_type, allocator_type > [protected],
std::vector< _Node *, _Nodeptr_Alloc > [protected], std::vector<
__gnu_parallel::_Piece< _DifferenceType > > [protected], std::vector<
Catalog_info * > [protected], std::vector< _CharT > [protected],
std::vector< _StringT > [protected], std::vector< std::pair< _StrTransT,
_StrTransT > > [protected], std::vector< _CharClassT > [protected],
std::vector< sub_match< _BiIter >, _Alloc > [protected], std::vector<
std::pair< _BiIter, int > > [protected], std::vector< std::pair<
_StateIdT, vector< sub_match< _BiIter >, _Alloc > > > [protected],
std::vector< size_t > [protected], std::vector< time_zone > [protected],
std::vector< time_zone_link > [protected], std::vector< leap_second >
[protected], std::vector< double > [protected], std::vector< _Cmpt >
[protected], std::vector< __diff_type > [protected], std::vector<
_RealType > [protected], std::vector< _BigBlock > [protected],
std::vector< int > [protected], std::vector< result_type > [protected],
and std::vector< _Tp, _Alloc > [protected].

🌸 Public Types 🌸

The type glow-up is exactly this, no edits:

typedef __gnu_cxx::__alloc_traits< _Alloc >::template rebind< _Tp
    >::other _Tp_alloc_type
typedef _Alloc allocator_type
typedef __gnu_cxx::__alloc_traits< _Tp_alloc_type >::pointer pointer

πŸŽ€ Public Member Functions πŸŽ€

Here’s the whole function lineup, copied exactly because we do not play with signatures:

constexpr _Vector_base (_Tp_alloc_type &&__a) noexcept
_Vector_base (_Vector_base &&)=default
constexpr _Vector_base (_Vector_base &&__x, const allocator_type &__a)
constexpr _Vector_base (const allocator_type &__a) noexcept
constexpr _Vector_base (const allocator_type &__a, _Vector_base &&__x)
constexpr _Vector_base (size_t __n)
constexpr _Vector_base (size_t __n, const allocator_type &__a)
constexpr pointer _M_allocate (size_t __n)
constexpr void _M_deallocate (pointer __p, size_t __n)
constexpr const _Tp_alloc_type & _M_get_Tp_allocator () const noexcept
constexpr _Tp_alloc_type & _M_get_Tp_allocator () noexcept
constexpr allocator_type get_allocator () const noexcept

πŸ¦‹ Public Attributes πŸ¦‹

One public attribute, living its best life:

_Vector_impl _M_impl

πŸ’œ Protected Member Functions πŸ’œ

And this protected one is here too:

constexpr void _M_create_storage (size_t __n)

🌈 Detailed Description 🌈

The detailed description gives the template shape like this, quote and all:

   template<typename _Tp, typename _Alloc>
       struct std::_Vector_base< _Tp, _Alloc >"See bits/stl_deque.h's
       _Deque_base for an explanation.

Yes, bestie, that quote is literally glued onto the struct name. We’re preserving the chaos exactly. πŸ’€


πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for libstdc++ from the source code.

So it’s a Doxygen baby, fr fr. 😭


ok byeee πŸ«ΆπŸ’… β€” signed off with the footer’s source/version-and-date line: libstdstd::_Vector_base< _Tp, _Alloc >(3cxx). That’s all the date info this page gives, bestie. mwah 😽✨

πŸ“¦ where this page comes from