 Unbounded Array Storage
Unbounded Array StorageThe templated class unbounded_array<T, ALLOC> implements a unbounded storage array using an allocator. 
The unbounded array is similar to a std::vector in that in can grow in size beyond any fixed bound. 
However unbounded_array is aimed at optimal performance. Therefore unbounded_array does not model a 
Sequence like std::vector does.
When resized unbounded_array will reallocate it's storage even if the new size requirement is smaller. It is therefore inefficient to resize a unbounded_array
#include <boost/numeric/ublas/storage.hpp>
int main () {
    using namespace boost::numeric::ublas;
    unbounded_array<double> a (3);
    for (unsigned i = 0; i < a.size (); ++ i) {
        a [i] = i;
        std::cout << a [i] << std::endl;
    }
}
Defined in the header storage.hpp.
| Parameter | Description | Default | 
|---|---|---|
| T | The type of object stored in the array. | |
| ALLOC | An STL Allocator | std::allocator | 
None, except for those imposed by the requirements of Storage.
None.
| Member | Where defined | Description | 
|---|---|---|
| value_type | Container | |
| pointer | Container | Defined as value_type* | 
| const_pointer | Container | Defined as const value_type* | 
| reference | Container | Defined as value_type& | 
| const_reference | Container | Defined as const value_type& | 
| size_type | Container | Defined as Alloc::size_type | 
| difference_type | Container | Defined as Alloc::difference_type | 
| iterator | Container | Defined as pointer | 
| const_iterator | Container | Defined as const_pointer | 
| revere_iterator | Container | Defined as std::reverse_iterator<iterator> | 
| const_revere_iterator | Container | Defined as std::reverse_iterator<const_iterator> | 
| allocator_type | Defined as ALLOC | |
| explicit unbounded_array (ALLOC &a = ALLOC()) | Storage | Creates an unbounded_arraythat holds zero elements, using a specified allocator. | 
| explicit unbounded_array (size_type size, ALLOC &a = ALLOC()) | Storage | Creates a uninitialized unbounded_arraythat holdssizeelements, using a specified allocator. All the elements are default constructed. | 
| unbounded_array (size_type size, const T& init, ALLOC& a = ALLOC()) | Storage | Creates an initialized unbounded_arraythat holdssizeelements, using a specified allocator. All the elements are constructed from theinitvalue. | 
| unbounded_array (const unbounded_array &a) | Container | The copy constructor. | 
| ~unbounded_array () | Container | Deallocates the unbounded_arrayitself. | 
| void resize (size_type n) | Storage | Reallocates an unbounded_arrayto holdnelements. Values are uninitialised. | 
| void resize(size_type n, const T& t) | Storage | Reallocates an unbounded_arrayto holdnelements. Values are copies oft | 
| size_type size () const | Container | Returns the size of the unbounded_array. | 
| const_reference operator [] (size_type i) const | Container | Returns a constreference of thei-th element. | 
| reference operator [] (size_type i) | Container | Returns a reference of the i-th element. | 
| unbounded_array &operator = (const unbounded_array &a) | Container | The assignment operator. | 
| unbounded_array &assign_temporary (unbounded_array &a) | Assigns a temporary. May change the array a. | |
| void swap (unbounded_array &a) | Container | Swaps the contents of the arrays. | 
| const_iterator begin () const | Container | Returns a const_iteratorpointing to the beginning
of theunbounded_array. | 
| const_iterator end () const | Container | Returns a const_iteratorpointing to the end of
theunbounded_array. | 
| iterator begin () | Container | Returns a iteratorpointing to the beginning of
theunbounded_array. | 
| iterator end () | Container | Returns a iteratorpointing to the end of theunbounded_array. | 
| const_reverse_iterator rbegin () const | Reversible Container | Returns a const_reverse_iteratorpointing to the beginning of the reversedunbounded_array. | 
| const_reverse_iterator rend () const | Reversible Container | Returns a const_reverse_iteratorpointing to the end of the reversedunbounded_array. | 
| reverse_iterator rbegin () | Reversible Container | Returns a reverse_iteratorpointing to the beginning of the reversedunbounded_array. | 
| reverse_iterator rend () | Reversible Container | Returns a reverse_iteratorpointing to the end of the reversedunbounded_array. | 
Copyright (©) 2000-2002 Joerg Walter, Mathias Koch
   Use, modification and distribution are subject to the
   Boost Software License, Version 1.0.
   (See accompanying file LICENSE_1_0.txt
   or copy at 
      http://www.boost.org/LICENSE_1_0.txt
   ).