Dictionary.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-2016 OpenFOAM Foundation
9  Copyright (C) 2019 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 Class
28  Foam::Dictionary
29 
30 Description
31  General purpose template dictionary class that manages the storage
32  associated with it.
33 
34  It is derived from DictionaryBase instantiated on a memory managed form
35  of intrusive doubly-linked list of <T>.
36 
37 SourceFiles
38  Dictionary.C
39 
40 \*---------------------------------------------------------------------------*/
41 
42 #ifndef Dictionary_H
43 #define Dictionary_H
44 
45 #include "DictionaryBase.H"
46 #include "IDLList.H"
47 
48 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49 
50 namespace Foam
51 {
52 
53 /*---------------------------------------------------------------------------*\
54  Class Dictionary Declaration
55 \*---------------------------------------------------------------------------*/
56 
57 template<class T>
58 class Dictionary
59 :
60  public DictionaryBase<IDLList<T>, T>
61 {
62 public:
63 
64  // Constructors
65 
66  //- Construct with given or default (128) table capacity
67  explicit Dictionary(const label size = 128);
68 
69  //- Copy construct
70  Dictionary(const Dictionary& dict);
71 
72 
73  // Member Functions
74 
75  //- Remove an entry specified by keyword and delete the pointer.
76  // \return true if the keyword was found
77  bool erase(const word& keyword);
78 };
79 
80 
81 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
82 
83 } // End namespace Foam
84 
85 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
86 
87 #ifdef NoRepository
88  #include "Dictionary.C"
89 #endif
90 
91 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
92 
93 #endif
94 
95 // ************************************************************************* //
Dictionary.C
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:65
Foam::Dictionary::Dictionary
Dictionary(const label size=128)
Construct with given or default (128) table capacity.
Definition: Dictionary.C:34
dict
dictionary dict
Definition: searchingEngine.H:14
DictionaryBase.H
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::Dictionary
General purpose template dictionary class that manages the storage associated with it.
Definition: Dictionary.H:57
Foam::DictionaryBase
Base dictionary class templated on both the form of doubly-linked list it uses as well as the type it...
Definition: DictionaryBase.H:64
Foam::Dictionary::erase
bool erase(const word &keyword)
Remove an entry specified by keyword and delete the pointer.
Definition: Dictionary.C:50
IDLList.H
Intrusive doubly-linked list.