HashTableCoreI.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) 2017-2020 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 // * * * * * * * * * * * * * const iterator pair * * * * * * * * * * * * * * //
29 
30 template<class IteratorType, class TableType>
33 :
34  size_(0),
35  iter_()
36 {}
37 
38 
39 template<class IteratorType, class TableType>
42 (
43  const TableType& tbl
44 )
45 :
46  size_(tbl.size()),
47  iter_(tbl.begin())
48 {}
49 
50 
51 template<class IteratorType, class TableType>
53 <
54  IteratorType,
55  TableType
56 >::begin() const
57 {
58  return iter_;
59 }
60 
61 
62 template<class IteratorType, class TableType>
64 <
65  IteratorType,
66  TableType
67 >::cbegin() const
68 {
69  return iter_;
70 }
71 
72 
73 template<class IteratorType, class TableType>
75 <
76  IteratorType,
77  TableType
78 >::end() const
79 {
80  return IteratorType();
81 }
82 
83 
84 template<class IteratorType, class TableType>
86 <
87  IteratorType,
88  TableType
89 >::cend() const
90 {
91  return IteratorType();
92 }
93 
94 
95 // ************************************************************************* //
stdFoam::begin
constexpr auto begin(C &c) -> decltype(c.begin())
Return iterator to the beginning of the container c.
Definition: stdFoam.H:97
Foam::HashTableCore::const_iterator_pair::const_iterator_pair
const_iterator_pair()
Default construct an empty pair.
Definition: HashTableCoreI.H:32
stdFoam::end
constexpr auto end(C &c) -> decltype(c.end())
Return iterator to the end of the container c.
Definition: stdFoam.H:121
stdFoam::cend
constexpr auto cend(const C &c) -> decltype(c.end())
Return const_iterator to the end of the container c.
Definition: stdFoam.H:137
Foam::HashTableCore::const_iterator_pair
Factory class for creating a begin/end pair for any const iterator.
Definition: HashTableCore.H:79
stdFoam::cbegin
constexpr auto cbegin(const C &c) -> decltype(c.begin())
Return const_iterator to the beginning of the container c.
Definition: stdFoam.H:113