So-Bogus
A c++ sparse block matrix library aimed at Second Order cone problems
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
bogus::SparseBlockIndex< Compressed, Index_, BlockPtr_, ArrayType > Struct Template Reference

Uncompressed sparse block index. More...

#include <SparseBlockIndex.hpp>

Inheritance diagram for bogus::SparseBlockIndex< Compressed, Index_, BlockPtr_, ArrayType >:
bogus::SparseBlockIndexBase< SparseBlockIndex< Compressed, Index_, BlockPtr_, ArrayType > >

Public Types

typedef Index_ Index
 
typedef BlockPtr_ BlockPtr
 
typedef SparseBlockIndexBase
< SparseBlockIndex< Compressed,
Index_, BlockPtr_, ArrayType > > 
Base
 
typedef Base::InnerOffsetsType InnerOffsetsType
 
typedef Base::InnerIterator InnerIterator
 
typedef std::vector< std::pair
< Index, BlockPtr > > 
Inner
 Vector of ( inner index ; block pointer ) tuples encoding an inner vector.
 
typedef ArrayType< Inner >::Type Outer
 Vector of inner vectors.
 
typedef SparseBlockIndexTraits
< SparseBlockIndex< Compressed,
Index_, BlockPtr_, ArrayType > > 
Traits
 

Public Member Functions

void resizeOuter (Index size)
 
void reserve (Index)
 
Index outerSize () const
 
const InnerOffsetsType & innerOffsetsArray () const
 
template<bool Ordered>
void insert (Index outIdx, Index inIdx, BlockPtr ptr)
 
void insertBack (Index outIdx, Index inIdx, BlockPtr ptr)
 
void finalize ()
 
void clear ()
 
SparseBlockIndexoperator= (const SparseBlockIndex &o)
 
template<typename SourceDerived >
SparseBlockIndexoperator= (const SparseBlockIndexBase< SourceDerived > &source)
 
SparseBlockIndexmove (SparseBlockIndex &uncompressed)
 
template<typename SourceDerived >
SparseBlockIndexmove (const SparseBlockIndexBase< SourceDerived > &source)
 
template<bool Symmetric, typename SourceDerived >
SparseBlockIndexsetToTranspose (const SparseBlockIndexBase< SourceDerived > &source)
 
Index size (const Index outerIdx) const
 
Index nonZeros () const
 
void changePtr (const InnerIterator &it, BlockPtr ptr)
 
SparseBlockIndex< Compressed,
Index_, BlockPtr_, ArrayType > & 
derived ()
 
const SparseBlockIndex
< Compressed, Index_,
BlockPtr_, ArrayType > & 
derived () const
 
Index innerSize () const
 Number of elements of the minor indexing direction. More...
 
bool hasInnerOffsets () const
 Returns whether the innerOffsetsArray() has been filled.
 
const Index * innerOffsetsData () const
 Same as innerOffsetsArray, but returns a pointer instead. Assumes hasInnerOffsets()
 
InnerIterator begin (const Index outerIdx) const
 Returns an iterator to the first non-empty block of outerIdx.
 
InnerIterator last (const Index outerIdx) const
 Returns an iterator to the last non-empty block of outerIdx.
 
InnerIterator end (const Index outerIdx) const
 Returns an iterator to the end of outerIdx.
 

Public Attributes

InnerOffsetsType innerOffsets
 
Outer outer
 
bool ordered
 
bool valid
 Whether this index is currently valid.
 

Detailed Description

template<bool Compressed, typename Index_, typename BlockPtr_ = Index_, template< typename > class ArrayType = ResizableSequenceContainer>
struct bogus::SparseBlockIndex< Compressed, Index_, BlockPtr_, ArrayType >

Uncompressed sparse block index.

Member Function Documentation

Index bogus::SparseBlockIndexBase< SparseBlockIndex< Compressed, Index_, BlockPtr_, ArrayType > >::innerSize ( ) const
inherited

Number of elements of the minor indexing direction.

i.e. number of cols for a row-major index


The documentation for this struct was generated from the following file: