ENH: additional constructors for IjkField

This commit is contained in:
Mark Olesen
2019-02-27 08:01:19 +01:00
parent eae53be0c7
commit 90ff1dfa5c
3 changed files with 30 additions and 11 deletions

View File

@ -25,17 +25,11 @@ Class
Foam::IjkField
Description
Generic templated field type.
Generic templated field type with i-j-k addressing.
SourceFiles
IjkFieldFunctions.H
IjkFieldFunctionsM.H
IjkFieldMapper.H
IjkFieldI.H
IjkFieldM.H
IjkField.C
IjkFieldFunctions.C
IjkFieldFunctionsM.C
\*---------------------------------------------------------------------------*/
@ -64,9 +58,6 @@ class IjkField
//- The i-j-k addressing
ijkAddressing ijk_;
//- Copy construct
inline IjkField(const IjkField<Type>& fld);
public:
@ -75,6 +66,12 @@ public:
//- Construct zero-sized
inline IjkField();
//- Copy construct
inline IjkField(const IjkField<Type>& field);
//- Move construct
inline IjkField(IjkField<Type>&& field);
//- Construct with sizing information, leaving values uninitialized
inline explicit IjkField(const labelVector& ijk);

View File

@ -33,6 +33,22 @@ inline Foam::IjkField<Type>::IjkField()
{}
template<class Type>
inline Foam::IjkField<Type>::IjkField(const IjkField<Type>& field)
:
Field<Type>(field),
ijk_(field.ijk())
{}
template<class Type>
inline Foam::IjkField<Type>::IjkField(IjkField<Type>&& field)
:
Field<Type>(std::move(field)),
ijk_(field.ijk())
{}
template<class Type>
inline Foam::IjkField<Type>::IjkField(const labelVector& ijk)
: