/usr/include/freefoam/OpenFOAM/SubField.H is in libfreefoam-dev 0.1.0+dfsg-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | /*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::SubField
Description
SubField is a Field obtained as a section of another Field.
Thus it is itself unallocated so that no storage is allocated or
deallocated during its use. To achieve this behaviour, SubField is
derived from a SubList rather than a List.
SourceFiles
SubFieldI.H
\*---------------------------------------------------------------------------*/
#ifndef SubField_H
#define SubField_H
#include <OpenFOAM/SubList.H>
#include "Field.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
//- Pre-declare SubField and related Field type
template<class Type> class Field;
template<class Type> class SubField;
/*---------------------------------------------------------------------------*\
Class SubField Declaration
\*---------------------------------------------------------------------------*/
template<class Type>
class SubField
:
public refCount,
public SubList<Type>
{
public:
//- Component type
typedef typename pTraits<Type>::cmptType cmptType;
// Constructors
//- Construct from a SubList
inline SubField(const SubList<Type>&);
//- Construct from a UList\<Type\>, using the entire size
explicit inline SubField(const UList<Type>&);
//- Construct from a UList\<Type\> with a given size
inline SubField
(
const UList<Type>& list,
const label subSize
);
//- Construct from a UList\<Type\> with a given size and start index
inline SubField
(
const UList<Type>& list,
const label subSize,
const label startIndex
);
//- Construct as copy
inline SubField(const SubField<Type>&);
// Member functions
//- Return a null SubField
static inline const SubField<Type>& null();
//- Return a component field of the field
inline tmp<Field<cmptType> > component(const direction) const;
//- Return the field transpose (only defined for second rank tensors)
tmp<Field<Type> > T() const;
// Member operators
//- Assignment via UList operator. Takes linear time.
inline void operator=(const SubField<Type>&);
//- Allow cast to a const Field\<Type\>&
inline operator const Field<Type>&() const;
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "SubFieldI.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************ vim: set sw=4 sts=4 et: ************************ //
|