# Hurricane VLSI Database

Plugs.h
1 // ****************************************************************************************************
2 // File: ./hurricane/Plugs.h
3 // Authors: R. Escassut
4 // Copyright (c) BULL S.A. 2000-2018, All Rights Reserved
5 //
6 // This file is part of Hurricane.
7 //
8 // Hurricane is free software: you can redistribute it and/or modify it under the terms of the GNU
9 // Lesser General Public License as published by the Free Software Foundation, either version 3 of the
10 // License, or (at your option) any later version.
11 //
12 // Hurricane is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
13 // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU
14 // General Public License for more details.
15 //
16 // You should have received a copy of the Lesser GNU General Public License along with Hurricane. If
17 // not, see <http://www.gnu.org/licenses/>.
18 // ****************************************************************************************************
19
20 #ifndef HURRICANE_PLUGS
21 #define HURRICANE_PLUGS
22
23 #include "hurricane/Collection.h"
24
25 namespace Hurricane {
26
27 class Plug;
28
29
30
31 // ****************************************************************************************************
32 // Plugs declaration
33 // ****************************************************************************************************
34
35 typedef GenericCollection<Plug*> Plugs;
36
37
38
39 // ****************************************************************************************************
40 // PlugLocator declaration
41 // ****************************************************************************************************
42
43 typedef GenericLocator<Plug*> PlugLocator;
44
45
46
47 // ****************************************************************************************************
48 // PlugFilter declaration
49 // ****************************************************************************************************
50
51 typedef GenericFilter<Plug*> PlugFilter;
52
53
54
55 // ****************************************************************************************************
56 // for_each_plug declaration
57 // ****************************************************************************************************
58
59 #define for_each_plug(plug, plugs)\
60 /*********************************/\
61 {\
62 PlugLocator _locator = plugs.getLocator();\
63 while (_locator.isValid()) {\
64 Plug* plug = _locator.getElement();\
65 _locator.progress();
66
67
68
69 } // End of Hurricane namespace.
70
71 #endif // HURRICANE_PLUGS
72
73
74 // ****************************************************************************************************
75 // Copyright (c) BULL S.A. 2000-2018, All Rights Reserved
76 // ****************************************************************************************************
Hurricane::PlugFilter
GenericFilter< Plug * > PlugFilter
Definition: Plugs.h:51
Hurricane::PlugLocator
GenericLocator< Plug * > PlugLocator
Definition: Plugs.h:43
Hurricane::GenericLocator
Generic Locator auto-pointer.
Definition: Locator.h:113
Hurricane::GenericFilter
Generic Filter auto-pointer.
Definition: Filter.h:27
Hurricane::GenericCollection
Generic Collection auto-pointer.
Definition: Collection.h:28
Hurricane::Plug
Plug description (API)
Definition: Plug.h:37
Hurricane
The namespace dedicated to Hurricane.
Definition: Generalities.dox:5
Hurricane::Plugs
GenericCollection< Plug * > Plugs
Definition: Plugs.h:27

Generated by doxygen 1.8.14 on Sun Mar 8 2020 | Return to top of page

Hurricane VLSI Database | Copyright © 2000-2016 Bull S.A. All rights reserved