labelLists.C
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) 2019-2023 OpenCFD Ltd.
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 \*---------------------------------------------------------------------------*/
27 
28 #include "labelList.H"
29 #include <numeric>
30 
31 // * * * * * * * * * * * * * * Global Data Members * * * * * * * * * * * * * //
32 
33 // This was deprecated (2019-02) in favour of labelList::null()
35 
36 
37 // * * * * * * * * * * * * * * * Global Functions * * * * * * * * * * * * * //
38 
39 void Foam::identity(Foam::UList<int32_t>& map, int32_t start)
40 {
41  std::iota(map.begin(), map.end(), start);
42 }
43 
44 
45 void Foam::identity(Foam::UList<int64_t>& map, int64_t start)
46 {
47  std::iota(map.begin(), map.end(), start);
48 }
49 
50 
51 Foam::labelList Foam::identity(const label len, label start)
52 {
53  labelList map(len);
54  std::iota(map.begin(), map.end(), start);
55 
56  return map;
57 }
58 
59 
60 // ************************************************************************* //
labelList identity(const label len, label start=0)
Return an identity map of the given length with (map[i] == i), works like std::iota() but returning a...
Definition: labelLists.C:44
iterator begin() noexcept
Return an iterator to begin traversing the UList.
Definition: UListI.H:391
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
Definition: HashTable.H:105
const labelList emptyLabelList
A zero-sized list of labels.
Definition: labelLists.C:27
iterator end() noexcept
Return an iterator to end traversing the UList.
Definition: UListI.H:435
List< label > labelList
A List of labels.
Definition: List.H:62