Back to Arangodb

Pointer Container Library

3rdParty/boost/1.78.0/libs/ptr_container/doc/ptr_array.html

3.12.9.14.4 KB
Original Source

Pointer Container Library

Class ptr_array

A ptr_array<T,size> is a pointer container that uses an underlying boost::array<void*,size> to store the pointers. The class is useful when there is no requirement of dynamic expansion and when no overhead is tolerable.

Hierarchy:

Navigate:

Synopsis:

namespace boost
{

    template
    <
        class T,
        size_t N,
        CloneAllocator = heap_clone_allocator
    >
    class ptr_array : public_implementation-defined_{
    public: //[construct/copy/destroy](#construct-copy-destroy)ptr_array();
        explicit ptr_array( const ptr_array& r );
        template< class U >
        explicit ptr_array( const ptr_array<U,N>& r );
        explicit ptr_array([_compatible-smart-ptr_](compatible_smart_ptr.html)<ptr_array>& r );

        ptr_array& operator=( const ptr_array& r );
        template< class U >
        ptr_array& operator=( const ptr_array<U,N>& r );
        ptr_array& operator=([_compatible-smart-ptr_](compatible_smart_ptr.html)<this_type> r );

    public: //[iterators](reversible_ptr_container.html#iterators)public: //[capacity](reversible_ptr_container.html#capacity)public: //[element access](#element-access)T& front();
        const T& front() const;
        T& back();
        const T& back() const;

        template< size_t idx >
        T& at();
        template< size_t idx >
        const T& at() const;
        T& at( size_t );
        const T& at( size_t );

        T& operator[]( size_t );
        const T& operator[]( size_t ) const;

    public: //[modifiers](#modifiers)void swap( ptr_array& r );

        template< size_t idx >
        auto_type replace( T* r );
        template< size_t idx, class U >
        auto_type replace([_compatible-smart-ptr_](compatible_smart_ptr.html)<U> r );
        auto_type replace( size_t idx, T* r );
        template< class U >
        auto_type replace( size_t idx,[_compatible-smart-ptr_](compatible_smart_ptr.html)<U> r );

    public: //[pointer container requirements](#pointer-container-requirements)[_compatible-smart-ptr_](compatible_smart_ptr.html)<ptr_array> clone() const;[_compatible-smart-ptr_](compatible_smart_ptr.html)<ptr_array> release();
        template< size_t idx >
        bool is_null() const;
        bool is_null( size_t idx ) const;

    }; // class 'ptr_sequence_adapter'

} // namespace 'boost'

Semantics

Semantics: construct/copy/destroy

  • ptr_array();

  • explicit ptr_array( const ptr_array& r );

  • template< class U > explicit ptr_array( const ptr_array<U,N>& r );

  • ptr_array( compatible-smart-ptr<ptr_array>& r );

  • ptr_array& operator=( const ptr_array& r );

  • template< class U > ptr_array& operator=( const ptr_array<U,N>& r );

  • ptr_array& operator=( compatible-smart-ptr<this_type> r );

Semantics: element access

  • T& front();

  • const T& front() const;

  • T& back();

  • const T& back() const;

  • template< size_t idx > T& at( size_type n );

  • template< size_t idx > const T& at( size_type n ) const;

  • T& at( size_type n );

  • const T& at( size_type n ) const;

  • T& operator[]( size_type n );

  • const T& operator[]( size_type n ) const;

Semantics: modifiers

  • void swap( ptr_array& r );

  • template< size_t idx > auto_type replace( T* r );

  • template< size_t idx, class U > auto_type replace( compatible-smart-ptr<U> r );

  • auto_type replace( size_t idx, T* r );

  • template< class U > auto_type replace( size_t idx, compatible-smart-ptr<U> r );

Semantics: pointer container requirements


| Copyright: | Thorsten Ottosen 2004-2006. Use, modification and distribution is subject to the Boost Software License, Version 1.0 (see LICENSE_1_0.txt). |