 Bounded Array Storage
Bounded Array StorageThe templated class bounded_array<T, N, ALLOC> implements a bounded storage array. The bounded array is similar to a C++ array type in that its maximum size is bounded by N and is allocated on the stack instead of the heap. Similarly a bounded_array requires no secondary storage and ALLOC is only used to specify size_type and difference_type.
When resized bounded_array never reallocated the storage. It is therefore always efficient to resize a bounded_array but the size bound N must not be exceeded.
#include <boost/numeric/ublas/storage.hpp>
int main () {
    using namespace boost::numeric::ublas;
    bounded_array<double, 3> 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. | |
| N | The allocation size of 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> | 
| bounded_array () | Storage | Creates an unbounded_arraythat holds zero elements. | 
| bounded_array (size_type size) | Storage | Creates a uninitialized bounded_arraythat holdssizeelements. All the elements are default constructed. | 
| bounded_array (size_type size, const T& init) | Storage | Creates an initialized bounded_arraythat holdssizeelements. All the elements are constructed from theinitvalue. | 
| bounded_array (const bounded_array &c) | Container | The copy constructor. | 
| ~bounded_array () | Container | Deallocates the bounded_arrayitself. | 
| void resize (size_type size) | Storage | Reallocates a bounded_arrayto holdsizeelements. | 
| void resize (size_type size, const T& t) | Storage | Reallocates a bounded_arrayto holdsizeelements. | 
| size_type size () const | Container | Returns the size of the bounded_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. | 
| bounded_array &operator = (const bounded_array &a) | Container | The assignment operator. | 
| bounded_array &assign_temporary (bounded_array &a) | Assigns a temporary. May change the array a. | |
| void swap (bounded_array &a) | Container | Swaps the contents of the arrays. | 
| const_iterator begin () const | Container | Returns a const_iteratorpointing to the beginning of thebounded_array. | 
| const_iterator end () const | Container | Returns a const_iteratorpointing to the end of thebounded_array. | 
| iterator begin () | Container | Returns a iteratorpointing to the beginning of thebounded_array. | 
| iterator end () | Container | Returns a iteratorpointing to the end of thebounded_array. | 
| const_reverse_iterator rbegin () const | Reversible Container | Returns a const_reverse_iteratorpointing to the beginning of the reversedbounded_array. | 
| const_reverse_iterator rend () const | Reversible Container | Returns a const_reverse_iteratorpointing to the end of the reversedbounded_array. | 
| reverse_iterator rbegin () | Reversible Container | Returns a reverse_iteratorpointing to the beginning of the reversedbounded_array. | 
| reverse_iterator rend () | Reversible Container | Returns a reverse_iteratorpointing to the end of the reversedbounded_array. | 
      Copyright (©) 2000-2004 Michael Stevens, Mathias Koch,
      Joerg Walter, Gunter Winkler
      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
      ).