29#ifndef Foam_FieldFieldReuseFunctions_H
30#define Foam_FieldFieldReuseFunctions_H
40template<
template<
class>
class Field,
class TypeR,
class Type1>
63template<
template<
class>
class Field,
class TypeR>
71 const bool initCopy =
false
83 tresult.ref() = tf1();
92template<
template<
class>
class Field,
class TypeR>
93tmp<FieldField<Field, TypeR>>
New
96 const bool initCopy =
false
108 template<
class>
class Field,
114struct reuseTmpTmpFieldField
128template<
template<
class>
class Field,
class TypeR,
class Type1,
class Type12>
129struct reuseTmpTmpFieldField<Field, TypeR, Type1, Type12, TypeR>
148template<
template<
class>
class Field,
class TypeR,
class Type2>
149struct reuseTmpTmpFieldField<Field, TypeR, TypeR, TypeR, Type2>
152 static tmp<FieldField<Field, TypeR>>
New
168template<
template<
class>
class Field,
class TypeR>
172 static tmp<FieldField<Field, TypeR>>
New
174 const tmp<FieldField<Field, TypeR>>& tf1,
175 const tmp<FieldField<Field, TypeR>>& tf2
A field of fields is a PtrList of fields with reference counting.
static tmp< FieldField< Field, Type > > NewCalculatedType(const FieldField< Field, Type2 > &ff)
Return a pointer to a new calculatedFvPatchFieldField created on.
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
A class for managing temporary objects.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh > > &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
static tmp< FieldField< Field, TypeR > > New(const tmp< FieldField< Field, TypeR > > &tf1, const bool initCopy=false)
Identical input and return types: allow optional copy assignment of the initial content.
static tmp< FieldField< Field, TypeR > > New(const FieldField< Field, Type1 > &f1)
Pass-through to NewCalculatedType.
static tmp< FieldField< Field, TypeR > > New(const tmp< FieldField< Field, Type1 > > &tf1)
Dissimilar types: just use size.
static tmp< FieldField< Field, TypeR > > New(const tmp< FieldField< Field, Type1 > > &tf1, const tmp< FieldField< Field, TypeR > > &tf2)
Second input has return type.
static tmp< FieldField< Field, TypeR > > New(const tmp< FieldField< Field, TypeR > > &tf1, const tmp< FieldField< Field, Type2 > > &tf2)
First input has return type.
static tmp< FieldField< Field, TypeR > > New(const tmp< FieldField< Field, TypeR > > &tf1, const tmp< FieldField< Field, TypeR > > &tf2)
Both inputs have return type.
static tmp< FieldField< Field, TypeR > > New(const tmp< FieldField< Field, Type1 > > &tf1, const tmp< FieldField< Field, Type2 > > &tf2)
Dissimilar types: just use size.