Molassembler  1.0.0
Molecule graph and conformer library
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Scine::Molassembler::Temple::UpperTriangularMatrix< ValueType, dataSize > Class Template Reference

Strictly upper triangular matrix. More...

#include <UpperTriangularMatrix.h>

Public Types

using DataType = UpperTriangularMatrixImpl::ArrayType< ValueType, dataSize >
 

Public Member Functions

constexpr const DataTypegetData () const
 Get full underlying data in raw form.
 
Constructors
constexpr UpperTriangularMatrix ()
 Default constructor.
 
template<template< typename, size_t > class ArrayType>
constexpr UpperTriangularMatrix (const ArrayType< ValueType, dataSize > &data)
 Constructor from existing data.
 
Element access
constexpr ValueType & at (const unsigned i, const unsigned j)
 Modifiable matrix accessor. More...
 
PURITY_WEAK constexpr const
ValueType & 
at (const unsigned i, const unsigned j) const
 

Static Public Attributes

Static properties
static constexpr unsigned N = UpperTriangularMatrixImpl::getMatrixSize(dataSize)
 

Private Attributes

DataType data_
 

Detailed Description

template<typename ValueType, size_t dataSize>
class Scine::Molassembler::Temple::UpperTriangularMatrix< ValueType, dataSize >

Strictly upper triangular matrix.

Stores the data of an upper-triangular matrix in a linear array in an all-constexpr fashion.

Member Function Documentation

template<typename ValueType , size_t dataSize>
constexpr ValueType& Scine::Molassembler::Temple::UpperTriangularMatrix< ValueType, dataSize >::at ( const unsigned  i,
const unsigned  j 
)
inline

Modifiable matrix accessor.

Precondition
i < j Complexity \(\Theta(1)\)
template<typename ValueType , size_t dataSize>
PURITY_WEAK constexpr const ValueType& Scine::Molassembler::Temple::UpperTriangularMatrix< ValueType, dataSize >::at ( const unsigned  i,
const unsigned  j 
) const
inline

Nonmodifiable matrix accessor

Precondition
i < j Complexity \(\Theta(1)\)

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