source: latest/src/port_dependency_ext.h @ 1

Last change on this file since 1 was 1, checked in by buchmann, 17 years ago

Initial import from CVS repository

File size: 2.2 KB
Line 
1/*------------------------------------------------------------\
2|                                                             |
3| Tool    :                  systemcass                       |
4|                                                             |
5| File    :                  port_dependancy_ext.h            |
6|                                                             |
7| Author  :                 Buchmann Richard                  |
8|                                                             |
9| Date    :                   12_08_2004                      |
10|                                                             |
11\------------------------------------------------------------*/
12
13/*
14 * This file is part of the Disydent Project
15 * Copyright (C) Laboratoire LIP6 - Département ASIM
16 * Universite Pierre et Marie Curie
17 *
18 * Home page          : http://www-asim.lip6.fr/disydent
19 * E-mail             : mailto:richard.buchmann@lip6.fr
20 *
21 * This library is free software; you  can redistribute it and/or modify it
22 * under the terms  of the GNU Library General Public  License as published
23 * by the Free Software Foundation; either version 2 of the License, or (at
24 * your option) any later version.
25 *
26 * Disydent is distributed  in the hope  that it  will be
27 * useful, but WITHOUT  ANY WARRANTY; without even the  implied warranty of
28 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
29 * Public License for more details.
30 *
31 * You should have received a copy  of the GNU General Public License along
32 * with the GNU C Library; see the  file COPYING. If not, write to the Free
33 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
34 */
35
36#ifndef PORT_DEPENDENCY_EXT_H
37#define PORT_DEPENDENCY_EXT_H
38
39namespace sc_core {
40
41// Declare dependancy
42extern void set_port_dependency (const sc_port_base* source,const sc_port_base& destination);
43
44template<typename T, size_t N1, size_t N2>
45inline
46void
47set_port_dependency (sc_in<T>  (&source)[N1],
48                     sc_out<T> (&destination)[N2])
49{
50  int i;
51  for (i = 0; i < N1; ++i)
52  {
53    int j;
54    for (j = 0; j < N2; ++j)
55    {
56      set_port_dependency ((const sc_port_base*) &(source[i]), (const
57sc_port_base&) (destination[j]));
58    }
59  }
60}
61
62} // end of namespace
63
64#endif
Note: See TracBrowser for help on using the repository browser.