Dictionary.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) 2011-2013 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 \*---------------------------------------------------------------------------*/
28 
29 #include "Dictionary.H"
30 
31 // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
32 
33 template<class T>
35 :
36  DictionaryBase<IDLList<T>, T>(size)
37 {}
38 
39 
40 template<class T>
42 :
44 {}
45 
46 
47 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
48 
49 template<class T>
50 bool Foam::Dictionary<T>::erase(const word& keyword)
51 {
52  T* ptr = this->remove(keyword);
53 
54  if (ptr)
55  {
56  delete ptr;
57  return true;
58  }
59 
60  return false;
61 }
62 
63 
64 // ************************************************************************* //
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
Foam::ILList
Template class for intrusive linked lists.
Definition: ILList.H:52
T
const volScalarField & T
Definition: createFieldRefs.H:2
Dictionary.H
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