OGS
VectorProvider.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
6#include <cstddef>
7
9
10namespace NumLib
11{
37{
38public:
40 virtual GlobalVector& getVector(std::size_t& id) = 0;
41
43 virtual GlobalVector& getVector(GlobalVector const& x) = 0;
44
46 virtual GlobalVector& getVector(GlobalVector const& x, std::size_t& id) = 0;
47
50 MathLib::MatrixSpecifications const& ms) = 0;
51
55 std::size_t& id) = 0;
56
61 virtual void releaseVector(GlobalVector const& x) = 0;
62
63 virtual ~VectorProvider() = default;
64};
65} // namespace NumLib
MathLib::EigenVector GlobalVector
virtual GlobalVector & getVector(std::size_t &id)=0
Get an uninitialized vector with the given id.
virtual GlobalVector & getVector(MathLib::MatrixSpecifications const &ms, std::size_t &id)=0
virtual ~VectorProvider()=default
virtual GlobalVector & getVector(GlobalVector const &x)=0
Get a copy of x.
virtual GlobalVector & getVector(MathLib::MatrixSpecifications const &ms)=0
Get a vector according to the given specifications.
virtual void releaseVector(GlobalVector const &x)=0
virtual GlobalVector & getVector(GlobalVector const &x, std::size_t &id)=0
Get a copy of x in the storage of the vector with the given id.