33 template<
class AccessType,
class T,
class AccessOp>
40 sum += aop(lst[lstI]).size();
43 AccessType result(sum);
45 label globalElemI = 0;
49 const T& sub = lst[lstI];
53 result[globalElemI++] = aop(sub)[elemI];
60 template<
class T,
class AccessOp>
67 sizes[lstI] = aop(lst[lstI]).size();
73 template<
class AccessType,
class T,
class AccessOp,
class OffsetOp>
86 sum += aop(lst[lstI]).size();
89 AccessType result(sum);
91 label globalElemI = 0;
97 const T& sub = lst[lstI];
101 result[globalElemI++] = oop(aop(sub)[elemI], offset);
104 offset += sizes[lstI];
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
void size(const label)
Override size to be inconsistent with allocated storage.
AccessType combineOffset(const List< T > &, const labelList &sizes, AccessOp aop, OffsetOp oop=offsetOp< T >())
Like combine but also offsets sublists based on passed sizes.
AccessType combine(const List< T > &, AccessOp aop=accessOp< T >())
Combines sublists into one big list.
dimensioned< Type > sum(const DimensionedField< Type, GeoMesh > &df)
labelList subSizes(const List< T > &, AccessOp aop=accessOp< T >())
Gets sizes of sublists.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)