|
xapian-core
2.0.0
|
Vector of Xapian PIMPL internal objects. More...
#include <smallvector.h>
Inheritance diagram for Xapian::SmallVectorI< TI >:
Collaboration diagram for Xapian::SmallVectorI< TI >:Public Types | |
| typedef std::size_t | size_type |
| typedef TI *const * | const_iterator |
Public Member Functions | |
| SmallVectorI () | |
| SmallVectorI (size_type n) | |
| SmallVectorI (SmallVectorI &&o) noexcept | |
| ~SmallVectorI () | |
| const_iterator | begin () const |
| const_iterator | end () const |
| void | clear () |
| void | push_back (TI *elt) |
| TI * | operator[] (size_type idx) const |
| TI * | front () const |
| TI * | back () const |
Public Member Functions inherited from Xapian::SmallVector_ | |
| SmallVector_ () | |
| SmallVector_ (const SmallVector_ &)=delete | |
| void | operator= (const SmallVector_ &)=delete |
| SmallVector_ (SmallVector_ &&o) noexcept | |
| SmallVector_ (std::size_t n) | |
| std::size_t | size () const |
| std::size_t | capacity () const |
| bool | empty () const |
| void | reserve (std::size_t n) |
Additional Inherited Members | |
Protected Member Functions inherited from Xapian::SmallVector_ | |
| void | do_free () |
| void | do_reserve (std::size_t n) |
| void | do_clear () |
| bool | is_external () const |
| Return true if storage is external to the object. More... | |
| void *const * | do_begin () const |
| void *const * | do_end () const |
| void | do_push_back (void *elt) |
Vector of Xapian PIMPL internal objects.
A notable feature is that if the vector holds <= 2 objects, there's no extra storage - the two internal pointers are held in the two pointers which otherwise point to the first and just after the last element.
This means that for the fairly common cases of pair-wise Query operators and Database objects with one or two subdatabases, we use less space than std::vector<Xapian::Foo::Internal*> would.
Definition at line 511 of file smallvector.h.
| typedef TI* const* Xapian::SmallVectorI< TI >::const_iterator |
Definition at line 515 of file smallvector.h.
| typedef std::size_t Xapian::SmallVectorI< TI >::size_type |
Definition at line 513 of file smallvector.h.
|
inline |
Definition at line 518 of file smallvector.h.
|
inlineexplicit |
Definition at line 521 of file smallvector.h.
|
inlinenoexcept |
Definition at line 523 of file smallvector.h.
|
inline |
Definition at line 525 of file smallvector.h.
References Xapian::SmallVectorI< TI >::clear().
|
inline |
Definition at line 561 of file smallvector.h.
References Xapian::SmallVectorI< TI >::end().
|
inline |
Definition at line 529 of file smallvector.h.
References Xapian::SmallVector_::do_begin().
Referenced by Xapian::SmallVector< T >::begin(), Xapian::SmallVectorI< TI >::clear(), Xapian::SmallVectorI< TI >::front(), and Xapian::SmallVectorI< TI >::operator[]().
|
inline |
Definition at line 537 of file smallvector.h.
References Xapian::SmallVectorI< TI >::begin(), Xapian::SmallVector_::do_clear(), and Xapian::SmallVectorI< TI >::end().
Referenced by Xapian::Internal::QueryAndLike::add_subquery(), and Xapian::SmallVectorI< TI >::~SmallVectorI().
|
inline |
Definition at line 533 of file smallvector.h.
References Xapian::SmallVector_::do_end().
Referenced by Xapian::SmallVectorI< TI >::back(), Xapian::SmallVectorI< TI >::clear(), and Xapian::SmallVector< T >::end().
|
inline |
Definition at line 557 of file smallvector.h.
References Xapian::SmallVectorI< TI >::begin().
|
inline |
Definition at line 553 of file smallvector.h.
References Xapian::SmallVectorI< TI >::begin().
|
inline |
Definition at line 545 of file smallvector.h.
References Xapian::SmallVector_::do_push_back().
Referenced by MultiDatabase::push_back().