Documentation 6b54b78464
Loading...
Searching...
No Matches
container_decorators.hpp File Reference

Collection of small classes that decorate C2DContainer to augment its functionality, e.g. give it extra dimensions. More...

#include "C2DContainer.hpp"

Go to the source code of this file.

Classes

class  CMatrixView< T >
 Class to represent a matrix (without owning the data, this just wraps a pointer). More...
 
class  C3DContainerDecorator< Storage >
 Decorate a matrix type (Storage) with 3 dimensions. More...
 
class  C2DDummyLastView< T >
 Helper class, adds dummy trailing dimension to a reference of a vector object making it a dummy matrix. More...
 
class  C3DDummyMiddleView< T >
 Helper class, adds dummy middle dimension to a reference of a matrix object making it a dummy 3D array. More...
 

Typedefs

using C3DIntMatrix = C3DContainerDecorator< su2matrix< unsigned long > >
 Some typedefs for 3D containers.
 
using C3DDoubleMatrix = C3DContainerDecorator< su2activematrix >
 
using CVectorOfMatrix = C3DDoubleMatrix
 

Functions

template<class IndexVector , class VectorOfVector , class Scalar = int>
void AllocVectorOfVectors (size_t M, const IndexVector &N, VectorOfVector &X, Scalar val=0)
 Allocate a vector of varying-size vectors and initialize with some value.
 
template<class IndexVector , class VectorOfVector , class Scalar = int>
void AllocVectorOfVectors (const IndexVector &N, VectorOfVector &X, Scalar val=0)
 
template<class IndexVector , class VectorOfMatrix , class Scalar = int>
void AllocVectorOfMatrices (size_t M, const IndexVector &N, size_t P, VectorOfMatrix &X, Scalar val=0)
 Allocate a vector of matrices with varying row count, and initialize with some value.
 
template<class IndexVector , class VectorOfMatrix , class Scalar = int>
void AllocVectorOfMatrices (const IndexVector &N, size_t P, VectorOfMatrix &X, Scalar val=0)
 

Detailed Description

Collection of small classes that decorate C2DContainer to augment its functionality, e.g. give it extra dimensions.

Author
P. Gomes
Version
8.5.0 "Harrier"

SU2 Project Website: https://su2code.github.io

The SU2 Project is maintained by the SU2 Foundation (http://su2foundation.org)

Copyright 2012-2026, SU2 Contributors (cf. AUTHORS.md)

SU2 is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

SU2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with SU2. If not, see http://www.gnu.org/licenses/.