segmented_array< T > Struct Template Reference#
|
Reference API
|
A minimal interface for a segmented array. More...
#include <ginkgo/core/base/segmented_array.hpp>
Public Member Functions | |
| segmented_array (std::shared_ptr< const Executor > exec) | |
| segmented_array (std::shared_ptr< const Executor > exec, const segmented_array &other) | |
| segmented_array (std::shared_ptr< const Executor > exec, segmented_array &&other) | |
| segmented_array (const segmented_array &other) | |
| segmented_array (segmented_array &&other) noexcept(false) | |
| segmented_array & | operator= (const segmented_array &other) |
| segmented_array & | operator= (segmented_array &&) noexcept(false) |
| size_type | get_size () const |
| size_type | get_segment_count () const |
| T * | get_flat_data () |
| const T * | get_const_flat_data () const |
| const gko::array< int64 > & | get_offsets () const |
| std::shared_ptr< const Executor > | get_executor () const |
Static Public Member Functions | |
| static segmented_array | create_from_sizes (const gko::array< int64 > &sizes) |
| static segmented_array | create_from_sizes (gko::array< T > buffer, const gko::array< int64 > &sizes) |
| static segmented_array | create_from_offsets (gko::array< int64 > offsets) |
| static segmented_array | create_from_offsets (gko::array< T > buffer, gko::array< int64 > offsets) |
Detailed Description
struct gko::segmented_array< T >
A minimal interface for a segmented array.
The segmented array is stored as a flat buffer with an offsets array. The segment i contains the index range [offset[i], offset[i + 1]) of the flat buffer.
- Template Parameters
-
T value type stored in the arrays
Constructor & Destructor Documentation
◆ segmented_array() [1/3]
|
explicit |
Create an empty segmented array
- Parameters
-
exec executor for storage arrays
◆ segmented_array() [2/3]
| gko::segmented_array< T >::segmented_array | ( | std::shared_ptr< const Executor > | exec, |
| const segmented_array< T > & | other | ||
| ) |
Copies a segmented array to a different executor.
- Parameters
-
exec the executor to copy to other the segmented array to copy from
◆ segmented_array() [3/3]
| gko::segmented_array< T >::segmented_array | ( | std::shared_ptr< const Executor > | exec, |
| segmented_array< T > && | other | ||
| ) |
Moves a segmented array to a different executor.
- Parameters
-
exec the executor to move to other the segmented array to move from
Member Function Documentation
◆ create_from_offsets() [1/2]
|
static |
Creates an uninitialized segmented array from offsets.
- Parameters
-
offsets the index offsets for each segment, and the total size of the buffer as last element
◆ create_from_offsets() [2/2]
|
static |
Creates a segmented array from a flat buffer and offsets.
- Parameters
-
buffer the flat buffer whose size has to match the last element of offsets offsets the index offsets for each segment, and the total size of the buffer as last element
◆ create_from_sizes() [1/2]
|
static |
Creates an uninitialized segmented array with predefined segment sizes.
- Parameters
-
exec executor for storage arrays sizes the sizes of each segment
◆ create_from_sizes() [2/2]
|
static |
Creates a segmented array from a flat buffer and segment sizes.
- Parameters
-
buffer the flat buffer whose size has to match the sum of sizes sizes the sizes of each segment
◆ get_const_flat_data()
| const T * gko::segmented_array< T >::get_const_flat_data | ( | ) | const |
Const-access to the flat buffer
- Returns
- the flat buffer
Referenced by gko::segmented_array< T >::get_executor().
◆ get_executor()
| std::shared_ptr< const Executor > gko::segmented_array< T >::get_executor | ( | ) | const |
Access the executor.
- Returns
- the executor
References gko::segmented_array< T >::get_const_flat_data(), gko::segmented_array< T >::get_flat_data(), gko::segmented_array< T >::get_offsets(), gko::segmented_array< T >::get_size(), and gko::make_array_view().
◆ get_flat_data()
| T * gko::segmented_array< T >::get_flat_data | ( | ) |
Access to the flat buffer.
- Returns
- the flat buffer
Referenced by gko::segmented_array< T >::get_executor().
◆ get_offsets()
| const gko::array< int64 > & gko::segmented_array< T >::get_offsets | ( | ) | const |
Access to the segment offsets.
- Returns
- the segment offsets
Referenced by gko::segmented_array< T >::get_executor().
◆ get_segment_count()
| size_type gko::segmented_array< T >::get_segment_count | ( | ) | const |
Get the number of segments.
- Returns
- the number of segments
◆ get_size()
| size_type gko::segmented_array< T >::get_size | ( | ) | const |
Get the total size of the stored buffer.
- Returns
- the total size of the stored buffer.
Referenced by gko::segmented_array< T >::get_executor().
The documentation for this struct was generated from the following file:
- ginkgo/core/base/segmented_array.hpp
Generated by