![]() |
Home | Libraries | People | FAQ | More |
boost::container::dtl::basic_string_base
// In header: <boost/container/string.hpp> template<typename Allocator> class basic_string_base { public: // types typedef Allocator allocator_type; typedef allocator_type stored_allocator_type; typedef allocator_traits_type::pointer pointer; typedef allocator_traits_type::value_type value_type; typedef allocator_traits_type::size_type size_type; typedef ::boost::intrusive::pointer_traits< pointer > pointer_traits; // member classes/structs/unions struct long_t { // construct/copy/destruct long_t(); long_t(const long_t &); long_t & operator=(const long_t &); // public data members size_type is_short; size_type length; size_type storage; pointer start; }; struct members_holder : public Allocator { // construct/copy/destruct members_holder(); template<typename AllocatorConvertible> explicit members_holder(BOOST_FWD_REF(AllocatorConvertible)); // public data members repr_t m_repr; }; union repr_t { // public member functions const short_t & short_repr() const; const long_t & long_repr() const; short_t & short_repr(); long_t & long_repr(); // public data members long_raw_t r; short_t s; }; struct short_header { // public data members unsigned char is_short; unsigned char length; }; struct short_t { // public data members short_header h; value_type data; }; // construct/copy/destruct basic_string_base(const basic_string_base &); basic_string_base(); explicit basic_string_base(const allocator_type &); explicit basic_string_base(BOOST_RV_REF(allocator_type)); basic_string_base(const allocator_type &, size_type); explicit basic_string_base(size_type); basic_string_base & operator=(const basic_string_base &); ~basic_string_base(); // private member functions void init(); // protected member functions const Allocator & alloc() const; Allocator & alloc(); bool is_short() const; void is_short(bool); pointer allocation_command(allocation_type, size_type, size_type &, pointer &); size_type next_capacity(size_type) const; void deallocate(pointer, size_type); void construct(pointer, const value_type & = value_type()); void destroy(pointer, size_type); void destroy(pointer); void allocate_initial_block(size_type); void deallocate_block(); size_type max_size() const; size_type priv_capacity() const; pointer priv_short_addr() const; pointer priv_long_addr() const; pointer priv_addr() const; pointer priv_end_addr() const; void priv_long_addr(pointer); size_type priv_storage() const; size_type priv_short_storage() const; size_type priv_long_storage() const; void priv_storage(size_type); void priv_long_storage(size_type); size_type priv_size() const; size_type priv_short_size() const; size_type priv_long_size() const; void priv_size(size_type); void priv_short_size(size_type); void priv_long_size(size_type); void swap_data(basic_string_base &); };
basic_string_base
public
construct/copy/destructbasic_string_base(const basic_string_base &);
basic_string_base();
explicit basic_string_base(const allocator_type & a);
explicit basic_string_base(BOOST_RV_REF(allocator_type) a);
basic_string_base(const allocator_type & a, size_type n);
explicit basic_string_base(size_type n);
basic_string_base & operator=(const basic_string_base &);
~basic_string_base();
basic_string_base
protected member functionsconst Allocator & alloc() const;
Allocator & alloc();
bool is_short() const;
void is_short(bool yes);
pointer allocation_command(allocation_type command, size_type limit_size, size_type & prefer_in_recvd_out_size, pointer & reuse);
size_type next_capacity(size_type additional_objects) const;
void deallocate(pointer p, size_type n);
void construct(pointer p, const value_type & value = value_type());
void destroy(pointer p, size_type n);
void destroy(pointer p);
void allocate_initial_block(size_type n);
void deallocate_block();
size_type max_size() const;
size_type priv_capacity() const;
pointer priv_short_addr() const;
pointer priv_long_addr() const;
pointer priv_addr() const;
pointer priv_end_addr() const;
void priv_long_addr(pointer addr);
size_type priv_storage() const;
size_type priv_short_storage() const;
size_type priv_long_storage() const;
void priv_storage(size_type storage);
void priv_long_storage(size_type storage);
size_type priv_size() const;
size_type priv_short_size() const;
size_type priv_long_size() const;
void priv_size(size_type sz);
void priv_short_size(size_type sz);
void priv_long_size(size_type sz);
void swap_data(basic_string_base & other);