diff --git a/doc/reference.html b/doc/reference.html index bde4fe2..41b4217 100644 --- a/doc/reference.html +++ b/doc/reference.html @@ -58,7 +58,7 @@ containers. It specifies operations for accessing elements, traversing containers, and creating views of array data. MultiArray defines -a flexible memory model that accomodates +a flexible memory model that accommodates a variety of data layouts.

At each level (or dimension) of a MultiArray's @@ -145,7 +145,7 @@ base. Note that since positive index bases are possible, the origin need not exist in order to determine the location in memory of the MultiArray's elements. The strides determine how index values are mapped to memory offsets. -They accomodate a +They accommodate a number of possible element layouts. For example, the elements of a 2 dimensional array can be stored by row (i.e., the elements of each row are stored contiguously) or by column (i.e., the elements of each @@ -303,7 +303,7 @@ This returns the number of values contained in const element& otherwise. This expression accesses a specific element of -a.index_list is the unique set +a. index_list is the unique set of indices that address the element returned. It is equivalent to the following code (disregarding intermediate temporaries):

@@ -427,16 +427,16 @@ with unspecified start and finish values.i.start(). Otherwise it
 returns idx.i.get_finish(idx)indexIf i specifies a finish
 value, this is equivalent to i.finish(). Otherwise it
-returns idx.i.size(idx)size_typeIf i specifies a both finish and
-start values, this is equivalent to
+returns idx.i.size(idx)size_typeIf i specifies both a finish and a
+start value, this is equivalent to
 (i.finish()-i.start())/i.stride(). Otherwise it
 returns idx.i < idxindexThis is another syntax for specifying the finish
 value. This notation does not include 
 idx in the range of valid indices. It is equivalent to 
-index_range(r.start(), idx, r.stride())i <= idxindexThis is another syntax for specifying the finish
+index_range(r.start(), idx, r.stride()).i <= idxindexThis is another syntax for specifying the finish
 value. This notation includes 
 idx in the range of valid indices. It is equivalent to 
-index_range(r.start(), idx + 1, r.stride())idx < iindexThis is another syntax for specifying the start
+index_range(r.start(), idx + 1, r.stride()).idx < iindexThis is another syntax for specifying the start
 value. This notation does not include 
 idx in the range of valid indices. It is equivalent to 
 index_range(idx + 1, i.finish(), i.stride()).idx <= iindexThis is another syntax for specifying the start
@@ -444,9 +444,9 @@ value. This notation includes
 idx1 in the range of valid indices. It is equivalent to 
 index_range(idx, i.finish(), i.stride()).i + idxindexThis expression shifts the start and finish values
 of i up by idx. It is equivalent to 
-index_range(r.start()+idx1, r.finish()+idx, r.stride())i - idxindexThis expression shifts the start and finish values
+index_range(r.start()+idx1, r.finish()+idx, r.stride()).i - idxindexThis expression shifts the start and finish values
 of i up by idx. It is equivalent to 
-index_range(r.start()-idx1, r.finish()-idx, r.stride())

index_gen

index_gen aggregates +index_range(r.start()-idx1, r.finish()-idx, r.stride()).


index_gen

index_gen aggregates index_range objects in order to specify view parameters. Chained calls to operator[] store range and dimension information used to @@ -560,7 +560,7 @@ void reindex(const BaseList& values);

This changes the index bases of the multi_array to -correspond to the the values in values.

BaseList Requirements. BaseList must model +correspond to the values in values.

BaseList Requirements. BaseList must model Collection.

Preconditions. values.size() == NumDims;

Postconditions. std::equal(values.begin(),values.end(),this->index_bases());

@@ -745,7 +745,7 @@ multi_array(const const_array_view<NumDims>::type& x);
 multi_array(const multi_array_ref<ValueType,NumDims>& x);
 multi_array(const subarray<NumDims>::type& x);
 multi_array(const array_view<NumDims>::type& x);
-

These constructors all constructs a multi_array and +

These constructors all construct a multi_array and perform a deep copy of x.

Complexity.  This performs O(x.num_elements()) calls to element's copy @@ -816,7 +816,7 @@ of the constructors.

Model Of.  multi_array_ref models MultiArray, -CopyConstructible. +CopyConstructible and depending on the element type, it may also model EqualityComparable and LessThanComparable. Detailed descriptions are provided here only for operations that are @@ -954,7 +954,7 @@ dimensions. multi_array_ref(const multi_array_ref& x);

This constructs a shallow copy of x.

Complexity.  Constant time (for contrast, compare this to -the multi_array class copy constructor. +the multi_array class copy constructor).

Modifiers. 

 multi_array_ref& operator=(const multi_array_ref& x);
 template <class Array> multi_array_ref& operator=(const Array& x);
@@ -976,7 +976,7 @@ of the constructors.
 

Model Of.  const_multi_array_ref models MultiArray, -CopyConstructible. +CopyConstructible and depending on the element type, it may also model EqualityComparable and LessThanComparable. @@ -1110,7 +1110,7 @@ associated with multi_array, multi_array_ref, and const_multi_array_ref that are not dependent upon template parameters. These types find common use with -all Boost.Multiarray components. They are defined +all Boost.MultiArray components. They are defined in a namespace from which they can be accessed conveniently. With the exception of extent_gen and extent_range, these types fulfill the roles of the @@ -1144,7 +1144,7 @@ public: finish must be greater than start.

extent_range(index finish)

This constructor defines the half open interval [0,finish). The value of finish -must be positive.

index start()

This function returns the first index represented by the range

index finish()

This function returns the upper boundary value of the half-open +must be positive.

index start()

This function returns the first index represented by the range.

index finish()

This function returns the upper boundary value of the half-open interval. Note that the range does not include this value.

size_type size()

This function returns the size of the specified range. It is equivalent to finish()-start().

extent_gen

The extent_gen class defines an interface for aggregating array shape and indexing information to be @@ -1205,7 +1205,7 @@ For example, a 3 by 3 by 3 multi_array is constructed as follows:

multi_array<int,3> A(extents[3][3][3]);

The same array could also be created by explicitly declaring an extent_gen -object locally,, but the global object makes this declaration unnecessary. +object locally, but the global object makes this declaration unnecessary.

indices

 namespace boost {
   multi_array_base::index_gen  indices;
@@ -1284,7 +1284,7 @@ int a[] = { 0, 4, 8, 1, 5, 9, 2, 6, 10, 3, 7, 11 };
 int s[] = { 3, 1 };
 

Notice that the strides here are different. As a result, -The expression given above to access values will work with this pair +the expression given above to access values will work with this pair of data and strides as well.

In addition to dimension order, it is also possible to store any dimension in descending order. For example, returning to the diff --git a/doc/user.html b/doc/user.html index 53a45b4..77a2c6e 100644 --- a/doc/user.html +++ b/doc/user.html @@ -198,7 +198,7 @@ provides a specialized set of constructors. For further information, consult their reference pages.

All of the non-const array types in this library provide assignment -operatorsoperator=(). Each of the array types multi_array, +operators operator=(). Each of the array types multi_array, multi_array_ref, subarray, and array_view can be assigned from any of the others, so long as their shapes match. The @@ -476,7 +476,7 @@ stored in ascending or descending order. // Store last dimension, then first, then middle array_type::size_type ordering[] = {2,0,1}; - // Store the first dimension(dimension 0) in descending order + // Store the first dimension (dimension 0) in descending order bool ascending[] = {false,true,true}; array_type A(extents[3][4][2],storage(ordering,ascending)); @@ -488,7 +488,7 @@ stored in ascending or descending order.

Setting The Array Base

In some situations, it may be inconvenient or awkward to use an array that is zero-based. -the Boost.MultiArray components provide two facilities for changing the +The Boost.MultiArray components provide two facilities for changing the bases of an array. One may specify a pair of range values, with the extent_range type, to the extent_gen constructor in order to set the base value. diff --git a/doc/xml/MultiArray.xml b/doc/xml/MultiArray.xml index ec336e7..7ebe6c5 100644 --- a/doc/xml/MultiArray.xml +++ b/doc/xml/MultiArray.xml @@ -7,7 +7,7 @@ containers. It specifies operations for accessing elements, traversing containers, and creating views of array data. MultiArray defines -a flexible memory model that accomodates +a flexible memory model that accommodates a variety of data layouts. @@ -103,7 +103,7 @@ base. Note that since positive index bases are possible, the origin need not exist in order to determine the location in memory of the MultiArray's elements. The strides determine how index values are mapped to memory offsets. -They accomodate a +They accommodate a number of possible element layouts. For example, the elements of a 2 dimensional array can be stored by row (i.e., the elements of each row are stored contiguously) or by column (i.e., the elements of each @@ -477,7 +477,7 @@ This returns the number of values contained in This expression accesses a specific element of -a.index_list is the unique set +a. index_list is the unique set of indices that address the element returned. It is equivalent to the following code (disregarding intermediate temporaries): @@ -818,8 +818,8 @@ returns idx. i.size(idx) size_type - If i specifies a both finish and -start values, this is equivalent to + If i specifies both a finish and a +start value, this is equivalent to (i.finish()-i.start())/i.stride(). Otherwise it returns idx. @@ -829,7 +829,7 @@ returns idx. This is another syntax for specifying the finish value. This notation does not include idx in the range of valid indices. It is equivalent to -index_range(r.start(), idx, r.stride()) +index_range(r.start(), idx, r.stride()). i <= idx @@ -837,7 +837,7 @@ value. This notation does not include This is another syntax for specifying the finish value. This notation includes idx in the range of valid indices. It is equivalent to -index_range(r.start(), idx + 1, r.stride()) +index_range(r.start(), idx + 1, r.stride()). idx < i @@ -860,14 +860,14 @@ value. This notation includes index This expression shifts the start and finish values of i up by idx. It is equivalent to -index_range(r.start()+idx1, r.finish()+idx, r.stride()) +index_range(r.start()+idx1, r.finish()+idx, r.stride()). i - idx index This expression shifts the start and finish values of i up by idx. It is equivalent to -index_range(r.start()-idx1, r.finish()-idx, r.stride()) +index_range(r.start()-idx1, r.finish()-idx, r.stride()). diff --git a/doc/xml/bbref.xml b/doc/xml/bbref.xml index 7b29d94..89c1986 100644 --- a/doc/xml/bbref.xml +++ b/doc/xml/bbref.xml @@ -282,7 +282,7 @@ void reindex(const BaseList& values); This changes the index bases of the multi_array to -correspond to the the values in values. +correspond to the values in values. <literal>BaseList</literal> Requirements @@ -364,7 +364,7 @@ associated with multi_array, multi_array_ref, and const_multi_array_ref that are not dependent upon template parameters. These types find common use with -all Boost.Multiarray components. They are defined +all Boost.MultiArray components. They are defined in a namespace from which they can be accessed conveniently. With the exception of extent_gen and extent_range, these types fulfill the roles of the @@ -434,7 +434,7 @@ must be positive. index start() -This function returns the first index represented by the range +This function returns the first index represented by the range. @@ -562,7 +562,7 @@ For example, a 3 by 3 by 3 multi_array is constructed as follows: multi_array<int,3> A(extents[3][3][3]); The same array could also be created by explicitly declaring an extent_gen -object locally,, but the global object makes this declaration unnecessary. +object locally, but the global object makes this declaration unnecessary. @@ -666,7 +666,7 @@ int a[] = { 0, 4, 8, 1, 5, 9, 2, 6, 10, 3, 7, 11 }; int s[] = { 3, 1 }; Notice that the strides here are different. As a result, -The expression given above to access values will work with this pair +the expression given above to access values will work with this pair of data and strides as well. diff --git a/doc/xml/const_multi_array_ref.xml b/doc/xml/const_multi_array_ref.xml index d052416..5f70048 100644 --- a/doc/xml/const_multi_array_ref.xml +++ b/doc/xml/const_multi_array_ref.xml @@ -15,7 +15,7 @@ of the constructors. const_multi_array_ref models MultiArray, -CopyConstructible. +CopyConstructible and depending on the element type, it may also model EqualityComparable and LessThanComparable. diff --git a/doc/xml/multi_array.xml b/doc/xml/multi_array.xml index c2cb69c..d886eff 100644 --- a/doc/xml/multi_array.xml +++ b/doc/xml/multi_array.xml @@ -227,7 +227,7 @@ multi_array(const array_view::type& x, const Allocator& alloc = Allocator());]]> -These constructors all constructs a multi_array and +These constructors all construct a multi_array and perform a deep copy of x. diff --git a/doc/xml/multi_array_ref.xml b/doc/xml/multi_array_ref.xml index 50bcc03..9c2b03c 100644 --- a/doc/xml/multi_array_ref.xml +++ b/doc/xml/multi_array_ref.xml @@ -15,7 +15,7 @@ of the constructors. multi_array_ref models MultiArray, -CopyConstructible. +CopyConstructible and depending on the element type, it may also model EqualityComparable and LessThanComparable. Detailed descriptions are provided here only for operations that are @@ -198,7 +198,7 @@ dimensions. Complexity Constant time (for contrast, compare this to -the multi_array class copy constructor. +the multi_array class copy constructor).