1#ifndef STORM_STORAGE_DECOMPOSITION_H_
2#define STORM_STORAGE_DECOMPOSITION_H_
17template<
typename BlockType>
21 typedef typename std::vector<block_type>::iterator
iterator;
69 std::size_t
size()
const;
139 template<
typename BlockTypePrime>
142 template<
typename ValueType>
This class represents the decomposition of a model into blocks which are of the template type.
std::vector< block_type >::iterator iterator
Decomposition & operator=(Decomposition const &other)
Assigns the contents of the given decomposition to the current one by copying the contents.
storm::storage::SparseMatrix< ValueType > extractPartitionDependencyGraph(storm::storage::SparseMatrix< ValueType > const &matrix) const
block_type const & operator[](uint_fast64_t index) const
Retrieves the block with the given index.
std::vector< block_type >::const_iterator const_iterator
block_type const & getBlock(uint_fast64_t index) const
Retrieves the block with the given index.
Decomposition()
Creates an empty decomposition.
iterator begin()
Retrieves an iterator that points to the first block of this decomposition.
std::vector< block_type > blocks
friend std::ostream & operator<<(std::ostream &out, Decomposition< BlockTypePrime > const &decomposition)
iterator end()
Retrieves an iterator that points past the last block of this decomposition.
virtual ~Decomposition()=default
Default (virtual) deconstructor.
bool empty() const
Checks if the decomposition is empty.
std::size_t size() const
Retrieves the number of blocks of this decomposition.
A class that holds a possibly non-square matrix in the compressed row storage format.