17 #ifndef dealii_sundials_n_vector_h
18 #define dealii_sundials_n_vector_h
22 #ifdef DEAL_II_WITH_SUNDIALS
23 # include <sundials/sundials_nvector.h>
25 # include <functional>
35 template <
typename VectorType>
45 # if DEAL_II_SUNDIALS_VERSION_GTE(6, 0, 0)
70 template <
typename VectorType>
71 NVectorView<VectorType>
99 template <
typename VectorType>
101 make_nvector_view(VectorType &vector);
116 template <
typename VectorType>
131 template <
typename VectorType>
154 template <
typename VectorType>
166 # if DEAL_II_SUNDIALS_VERSION_GTE(6, 0, 0)
218 operator N_Vector() const;
230 std::unique_ptr<_generic_N_Vector, std::function<
void(N_Vector)>>
NVectorView(VectorType &vector, SUNContext nvector_context)
NVectorView(NVectorView &&) noexcept=default
std::unique_ptr< _generic_N_Vector, std::function< void(N_Vector)> > vector_ptr
NVectorView< VectorType > make_nvector_view(VectorType &vector, SUNContext nvector_context)
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
VectorType * unwrap_nvector(N_Vector v)
const VectorType * unwrap_nvector_const(N_Vector v)