Global namespace

Namespaces

Name

boost

boost namespace

Namespaces

Name

Description

multi

Main namespace for the library

boost::multi namespace

Main namespace for the library

Namespaces

Name

Description

elementwise

Namespace for elementwise operators (+, ‐, *, and other convenience functions)

pmr

Convenience aliases using std::pmr::polymorphic_allocator as the allocator.

Types

Name

Description

array

A multidimensional array value

array_ref

A multidimensional view of a contiguous, pre‐existing memory buffer.

const_subarray

Read‐only D‐dimensional subarray‐reference (view into a subarray)

dynamic_array

A multidimensional array (fix to a managed memory buffer)

extents_t

A structured cartesian product of extensions, it can be decomposed as a tuple‐like into its cartesian factors. Used to determine the extents of array.

move_subarray

Movable D‐dimensional view into part or all of an array (elements can be moved when dereferenced and assigned)

restriction

An array interface for a function of D integer arguments restricted to an certain Cartesian grid (extents), elements are generated lazily

subarray

Mutable D‐dimensional view into part or all of an array

unique_array

A D‐dimensional array that is move only (cannot be copied into another unique_array)

Type Aliases

Name

Description

array_cref

Convenience alias for a D‐dimensional view of a contiguous, pre‐existing memory constant memory buffer

array_iterator [deprecated]

array_ptr [deprecated]

extensions_t [deprecated]

inplace_array

Stack‐allocated multidimensional array whose maximum size is encoded in the element type T (no efficient moves, assignments and constructions are all O(N))

sizes_t

D‐tuple to store sizes of arrays

Functions

Name

Description

apply

applies a function to an the tuple of extents

begin

returns an iterator to the beginning of the given range (including r‐value subarrays).

cbegin

returns an const‐iterator to the beginning of the given range (including r‐value subarrays).

cend

returns an const‐iterator to the end of the given range (including r‐value subarrays).

end

returns an iterator to the end of the given range (including r‐value subarrays).

get

extracts the Ith extension from multidimensional extents.

intersection

returns the intersection between two integer ranges

move

yields an array reference marked for move; for subarrays (including r‐value subarrays), its elements are marked as movable, for array values this has the same effect as std::move.

operator* [deprecated]

Multiplication operator

operator+

Addition operator for iterators

operator‐

Substract operator for iterators

operator/ [deprecated]

Division operators

operatorˆ

creates a restriction of D dimensions of a function that takes D arguments given an extents of Cartesian indices.

restricted

creates a restriction of D dimensions of a function that takes D arguments given an extents of Cartesian indices.

size

returns the size of a given range (same as std::size), in the leading dimension.

swap

swap overloads

operator<<

writes an array or subarray reference to and output stream in an unspecified multiline format.

operator==

Equality operators

operator!=

Inequality operators

operator<

Less‐than operators

operator<=

Less‐than‐or‐equal operators

operator>

Greater‐than operators

operator>=

Greater‐than‐or‐equal operators

Variables

Name

Description

force_element_trivial_default_construction

When specialized to true, the library skips the per‐element default‐construction loop on array allocation.

boost::multi::elementwise namespace

Namespace for elementwise operators (+, ‐, *, and other convenience functions)

Functions

Name

Description

abs

yields an array expression with the function abs applied lazily elementwise.

acos

yields an array expression with the function acos applied lazily elementwise.

asin

yields an array expression with the function asin applied lazily elementwise.

atan

yields an array expression with the function atan applied lazily elementwise.

cbrt

yields an array expression with the function cbrt applied lazily elementwise.

ceil

yields an array expression with the function ceil applied lazily elementwise.

cos

yields an array expression with the function cos applied lazily elementwise.

cosh

yields an array expression with the function cosh applied lazily elementwise.

erf

yields an array expression with the function erf applied lazily elementwise.

erfc

yields an array expression with the function erfc applied lazily elementwise.

exp

yields a array expression with the function exp applied lazily elementwise.

eye

yields an array expression (square, with size n) with the (lazy) identity element in the diagonal, and zero elsewhere.

floor

yields an array expression with the function floor applied lazily elementwise.

hypot

yields an array expression with the function hypot applied lazily elementwise.

lgamma

yields an array expression with the function lgamma applied lazily elementwise.

log

yields an array expression with the function log applied lazily elementwise.

pow

yields an array expression with the function pow applied lazily elementwise.

round

yields an array expression with the function round applied lazily elementwise.

sin

yields an array expression with the function sin applied lazily elementwise.

sinh

yields an array expression with the function sinh applied lazily elementwise.

sqrt

yields an array expression with the function sqrt applied lazily elementwise.

tan

yields an array expression with the function tan applied lazily elementwise.

tanh

yields an array expression with the function tanh applied lazily elementwise.

tgamma

yields an array expression with the function tgamma applied lazily elementwise.

trunc

yields an array expression with the function trunc applied lazily elementwise.

zeros

yields an array expression with (lazy) zero elements.

boost::multi::pmr namespace

Convenience aliases using std::pmr::polymorphic_allocator as the allocator.

Type Aliases

Name

Description

array

Alias for multi::array using std::pmr::polymorphic_allocator, so storage comes from a std::pmr::memory_resource.

dynamic_array

Alias for multi::dynamic_array using std::pmr::polymorphic_allocator, so storage comes from a std::pmr::memory_resource.

Created with MrDocs