MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / vector

Class vector

extern/boost/boost/container/vector.hpp:754–2001  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

752//! \tparam Options A type produced from \c boost::container::vector_options.
753template <class T, class A BOOST_CONTAINER_DOCONLY(= void), class Options BOOST_CONTAINER_DOCONLY(= void) >
754class vector
755{
756public:
757 //////////////////////////////////////////////
758 //
759 // types
760 //
761 //////////////////////////////////////////////
762 typedef T value_type;
763 typedef BOOST_CONTAINER_IMPDEF
764 (typename real_allocator<T BOOST_MOVE_I A>::type) allocator_type;
765 typedef ::boost::container::allocator_traits<allocator_type> allocator_traits_t;
766 typedef typename allocator_traits<allocator_type>::pointer pointer;
767 typedef typename allocator_traits<allocator_type>::const_pointer const_pointer;
768 typedef typename allocator_traits<allocator_type>::reference reference;
769 typedef typename allocator_traits<allocator_type>::const_reference const_reference;
770 typedef typename allocator_traits<allocator_type>::size_type size_type;
771 typedef typename allocator_traits<allocator_type>::difference_type difference_type;
772 typedef allocator_type stored_allocator_type;
773 typedef BOOST_CONTAINER_IMPDEF(vec_iterator<pointer BOOST_MOVE_I false>) iterator;
774 typedef BOOST_CONTAINER_IMPDEF(vec_iterator<pointer BOOST_MOVE_I true >) const_iterator;
775 typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator<iterator>) reverse_iterator;
776 typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator<const_iterator>) const_reverse_iterator;
777
778private:
779
780 #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
781 typedef typename boost::container::
782 allocator_traits<allocator_type>::size_type alloc_size_type;
783 typedef typename get_vector_opt<Options, alloc_size_type>::type options_type;
784 typedef typename options_type::growth_factor_type growth_factor_type;
785 typedef typename options_type::stored_size_type stored_size_type;
786 typedef value_less<T> value_less_t;
787
788 //If provided the stored_size option must specify a type that is equal or a type that is smaller.
789 BOOST_STATIC_ASSERT( (sizeof(stored_size_type) < sizeof(alloc_size_type) ||
790 dtl::is_same<stored_size_type, alloc_size_type>::value) );
791
792 typedef typename dtl::version<allocator_type>::type alloc_version;
793 typedef boost::container::vector_alloc_holder
794 <allocator_type, stored_size_type> alloc_holder_t;
795
796 alloc_holder_t m_holder;
797
798 typedef allocator_traits<allocator_type> allocator_traits_type;
799 template <class U, class UA, class UOptions>
800 friend class vector;
801
802
803 protected:
804 BOOST_CONTAINER_FORCEINLINE
805 static bool is_propagable_from(const allocator_type &from_alloc, pointer p, const allocator_type &to_alloc, bool const propagate_allocator)
806 { return alloc_holder_t::is_propagable_from(from_alloc, p, to_alloc, propagate_allocator); }
807
808 BOOST_CONTAINER_FORCEINLINE
809 static bool are_swap_propagable( const allocator_type &l_a, pointer l_p
810 , const allocator_type &r_a, pointer r_p, bool const propagate_allocator)
811 { return alloc_holder_t::are_swap_propagable(l_a, l_p, r_a, r_p, propagate_allocator); }

Callers

nothing calls this directly

Calls 15

assignMethod · 0.95
emplaceMethod · 0.95
moveFunction · 0.50
iteratorClass · 0.50
const_iteratorClass · 0.50
reverse_iteratorClass · 0.50
beginMethod · 0.45
endMethod · 0.45
allocMethod · 0.45
startMethod · 0.45
cendMethod · 0.45
crbeginMethod · 0.45

Tested by

no test coverage detected