Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 54 lines (46 sloc) 1.68 kB
9754507 Add the functor interface for functor transforms.
steve authored
1 #ifndef __functor_H
2 #define __functor_H
3 /*
4 * Copyright (c) 1999 Stephen Williams (steve@icarus.com)
5 *
6 * This source code is free software; you can redistribute it
7 * and/or modify it in source code form under the terms of the GNU
8 * General Public License as published by the Free Software
9 * Foundation; either version 2 of the License, or (at your option)
10 * any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
20 */
21 #if !defined(WINNT)
22 #ident "$Id: functor.h,v 1.1 1999/07/17 22:01:13 steve Exp $"
23 #endif
24
25 /*
26 * The functor is an object that can be applied to a design to
27 * transform it. This is different from the target_t, which can only
28 * scan the design but not transform it in any way.
29 */
30
31 class Design;
32 class NetNet;
33 class NetProcTop;
34
35 struct functor_t {
36 virtual ~functor_t();
37
38 /* Signals are scanned first. This is called once for each
39 signal in the design. */
40 virtual void signal(class Design*des, class NetNet*);
41
42 /* This method is called for each process in the design. */
43 virtual void process(class Design*des, class NetProcTop*);
44
45 };
46
47 /*
48 * $Log: functor.h,v $
49 * Revision 1.1 1999/07/17 22:01:13 steve
50 * Add the functor interface for functor transforms.
51 *
52 */
53 #endif
Something went wrong with that request. Please try again.