OpenFOAM
v2312
The open source CFD toolbox
ListLoopM.H
Go to the documentation of this file.
1
/*---------------------------------------------------------------------------*\
2
========= |
3
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4
\\ / O peration |
5
\\ / A nd | www.openfoam.com
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
Copyright (C) 2011-2015 OpenFOAM Foundation
9
Copyright (C) 2017 OpenCFD Ltd.
10
-------------------------------------------------------------------------------
11
License
12
This file is part of OpenFOAM.
13
14
OpenFOAM is free software: you can redistribute it and/or modify it
15
under the terms of the GNU General Public License as published by
16
the Free Software Foundation, either version 3 of the License, or
17
(at your option) any later version.
18
19
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22
for more details.
23
24
You should have received a copy of the GNU General Public License
25
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27
Description
28
Macros for accessing List elements
29
30
\*---------------------------------------------------------------------------*/
31
32
#ifndef Foam_ListLoopM_H
33
#define Foam_ListLoopM_H
34
35
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
36
// Element access looping
37
38
// Initial non-const access to list
39
#define List_ACCESS(type, f, fp) \
40
type* const __restrict__ fp = (f).begin()
41
42
// Initial const access to list
43
#define List_CONST_ACCESS(type, f, fp) \
44
const type* const __restrict__ fp = (f).begin()
45
46
// Loop over all elements
47
#define List_FOR_ALL(f, i) \
48
const label _n##i = (f).size(); \
49
for (label i=0; i<_n##i; ++i)
50
51
// Current element (non-const access)
52
#define List_ELEM(fp, i) (fp[i])
53
54
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
55
56
#endif
57
58
// ************************************************************************* //
src
OpenFOAM
fields
Fields
Field
ListLoopM.H
Generated by
1.8.14