| 
| 
using  | ConstViewType = CSRView< Device, std::add_const_t< Index > > | 
|   | Type of constant segments view. 
  | 
| 
using  | OffsetsContainer = Containers::Vector< Index, Device, typename Base::IndexType, IndexAllocator > | 
|   | Type of container storing offsets of particular rows. 
  | 
| template<typename Device_, typename Index_>  | 
| using  | ViewTemplate = CSRView< Device_, Index_ > | 
|   | Templated view type.  
  | 
| 
using  | ViewType = CSRView< Device, Index > | 
|   | Type of segments view. 
  | 
| 
using  | ConstOffsetsView = typename OffsetsView::ConstViewType | 
|   | The type for representing the constant vector view with row offsets used in the CSR format. 
  | 
| 
using  | DeviceType = Device | 
|   | The device where the segments are operating. 
  | 
| 
using  | IndexType = std::remove_const_t< Index > | 
|   | The type used for indexing of segments elements. 
  | 
| 
using  | OffsetsView = Containers::VectorView< Index, DeviceType, IndexType > | 
|   | The type for representing the vector view with row offsets used in the CSR format. 
  | 
| 
using  | SegmentViewType = SegmentView< IndexType, RowMajorOrder > | 
|   | Accessor type fro one particular segment. 
  | 
 | 
| 
  | CSR () | 
|   | Constructor with no parameters to create empty segments. 
  | 
| 
  | CSR (const CSR &segments) | 
|   | Copy constructor (makes deep copy). 
  | 
| template<typename SizesContainer>  | 
|   | CSR (const SizesContainer &segmentsSizes) | 
|   | Construct with segments sizes.  
  | 
| template<typename ListIndex>  | 
|   | CSR (const std::initializer_list< ListIndex > &segmentsSizes) | 
|   | Construct with segments sizes in initializer list..  
  | 
| 
  | CSR (CSR &&) noexcept=default | 
|   | Move constructor. 
  | 
| 
ConstViewType  | getConstView () const | 
|   | Returns a constant view for this instance of CSR segments which can by used for example in lambda functions running in GPU kernels. 
  | 
| 
ViewType  | getView () | 
|   | Returns a view for this instance of CSR segments which can by used for example in lambda functions running in GPU kernels. 
  | 
| void  | load (File &file) | 
|   | Method for loading the segments from a file in a binary form.  
  | 
| 
CSR &  | operator= (const CSR &segments) | 
|   | Copy-assignment operator (makes a deep copy). 
  | 
| template<typename Device_, typename Index_, typename IndexAllocator_>  | 
| CSR &  | operator= (const CSR< Device_, Index_, IndexAllocator_ > &segments) | 
|   | Assignment operator with CSR segments with different template parameters.  
  | 
| 
template<typename Device_, typename Index_, typename IndexAllocator_>  | 
| CSR< Device, Index, IndexAllocator > &  | operator= (const CSR< Device_, Index_, IndexAllocator_ > &segments) | 
| 
CSR &  | operator= (CSR &&) noexcept(false) | 
|   | Move-assignment operator. 
  | 
| void  | reset () | 
|   | Reset the segments to empty states.  
  | 
| void  | save (File &file) const | 
|   | Method for saving the segments to a file in a binary form.  
  | 
| template<typename SizesContainer>  | 
| void  | setSegmentsSizes (const SizesContainer &segmentsSizes) | 
|   | Set sizes of particular segments.  
  | 
| 
template<typename SizesHolder>  | 
| void  | setSegmentsSizes (const SizesHolder &sizes) | 
| 
__cuda_callable__  | CSRBase ()=default | 
|   | Default constructor with no parameters to create empty segments view. 
  | 
| 
__cuda_callable__  | CSRBase (const CSRBase &)=default | 
|   | Copy constructor. 
  | 
| 
__cuda_callable__  | CSRBase (const OffsetsView &offsets) | 
|   | Binds a new CSR view to an offsets vector. 
  | 
| 
__cuda_callable__  | CSRBase (CSRBase &&) noexcept=default | 
|   | Move constructor. 
  | 
| 
__cuda_callable__  | CSRBase (OffsetsView &&offsets) | 
|   | Binds a new CSR view to an offsets vector. 
  | 
| template<typename Function>  | 
| void  | forAllElements (Function &&function) const | 
|   | Call TNL::Algorithms::Segments::CSR::forElements for all elements of the segments.  
  | 
| template<typename Function>  | 
| void  | forAllSegments (Function &&function) const | 
|   | Call TNL::Algorithms::Segments::CSR::forSegments for all segments.  
  | 
| template<typename Function>  | 
| void  | forElements (IndexType begin, IndexType end, Function &&function) const | 
|   | Iterate over all elements of given segments in parallel and call given lambda function.  
  | 
| template<typename Function>  | 
| void  | forSegments (IndexType begin, IndexType end, Function &&function) const | 
|   | Iterate over all segments in parallel and call given lambda function.  
  | 
| __cuda_callable__ IndexType  | getGlobalIndex (Index segmentIdx, Index localIdx) const | 
|   | Computes the global index of an element managed by the segments.  
  | 
| 
__cuda_callable__ OffsetsView  | getOffsets () | 
|   | Returns a modifiable vector view with row offsets used in the CSR format. 
  | 
| 
__cuda_callable__ ConstOffsetsView  | getOffsets () const | 
|   | Returns a constant vector view with row offsets used in the CSR format. 
  | 
| 
__cuda_callable__ IndexType  | getSegmentsCount () const | 
|   | Returns the number of segments. 
  | 
| 
__cuda_callable__ IndexType  | getSegmentSize (IndexType segmentIdx) const | 
|   | Returns the size of a particular segment denoted by segmentIdx. 
  | 
| __cuda_callable__ SegmentViewType  | getSegmentView (IndexType segmentIdx) const | 
|   | Returns segment view (i.e. segment accessor) of segment with given index.  
  | 
| 
__cuda_callable__ IndexType  | getSize () const | 
|   | Returns the number of elements managed by all segments. 
  | 
| 
__cuda_callable__ IndexType  | getStorageSize () const | 
|   | Returns number of elements that needs to be allocated by a container connected to this segments. 
  | 
| 
CSRBase &  | operator= (const CSRBase &)=delete | 
|   | Copy-assignment operator. 
  | 
| 
CSRBase &  | operator= (CSRBase &&)=delete | 
|   | Move-assignment operator. 
  | 
| template<typename Function>  | 
| void  | sequentialForAllSegments (Function &&function) const | 
|   | Call TNL::Algorithms::Segments::CSR::sequentialForSegments for all segments.  
  | 
| template<typename Function>  | 
| void  | sequentialForSegments (IndexType begin, IndexType end, Function &&function) const | 
|   | Call TNL::Algorithms::Segments::CSR::forSegments sequentially for particular segments.  
  | 
template<typename Device, typename Index, typename IndexAllocator = typename Allocators::Default< Device >::template Allocator< Index >>
class TNL::Algorithms::Segments::CSR< Device, Index, IndexAllocator >
Data structure for CSR segments format. 
See TNL::Algorithms::Segments for more details about segments.
- Template Parameters
 - 
  
    | Device | is type of device where the segments will be operating.  | 
    | Index | is type for indexing of the elements managed by the segments.  | 
    | IndexAllocator | is allocator for supporting index containers.  |