SystemC
Recoding Infrastructure for SystemC v0.6.0 derived from Accellera SystemC 2.3.1
Accellera SystemC proof-of-concept library
Main Page
Namespaces
Classes
Files
File List
File Members
sysc
communication
sc_interface.h
Go to the documentation of this file.
1
/*****************************************************************************
2
3
The following code is derived, directly or indirectly, from the SystemC
4
source code Copyright (c) 1996-2014 by all Contributors.
5
All Rights reserved.
6
7
The contents of this file are subject to the restrictions and limitations
8
set forth in the SystemC Open Source License (the "License");
9
You may not use this file except in compliance with such restrictions and
10
limitations. You may obtain instructions on how to receive a copy of the
11
License at http://www.accellera.org/. Software distributed by Contributors
12
under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
13
ANY KIND, either express or implied. See the License for the specific
14
language governing rights and limitations under the License.
15
16
*****************************************************************************/
17
18
/*****************************************************************************
19
20
sc_interface.h -- Abstract base class of all interface classes.
21
22
Original Author: Martin Janssen, Synopsys, Inc., 2001-05-21
23
24
CHANGE LOG IS AT THE END OF THE FILE
25
*****************************************************************************/
26
27
#ifndef SC_INTERFACE_H
28
#define SC_INTERFACE_H
29
30
namespace
sc_core {
31
32
class
sc_event;
33
class
sc_port_base;
34
35
36
/**************************************************************************/
44
class
sc_interface
45
{
46
public
:
47
48
// register a port with this interface (does nothing by default)
49
virtual
void
register_port
(
sc_port_base
& port_,
50
const
char
* if_typename_ );
51
52
// get the default event
53
virtual
const
sc_event
&
default_event
()
const
;
54
55
// destructor (does nothing)
56
virtual
~sc_interface
();
57
58
protected
:
59
60
// constructor (does nothing)
61
sc_interface
();
62
63
private
:
64
65
// disabled
66
sc_interface
(
const
sc_interface
& );
67
sc_interface
& operator = (
const
sc_interface
& );
68
69
private
:
70
71
static
sc_event
m_never_notified;
72
73
#if defined(__SUNPRO_CC) && (__SUNPRO_CC == 0x520)
74
// Workaround for a bug in the Sun WorkShop 6 update 2 compiler.
75
// An empty virtual base class can cause the optimizer to
76
// generate wrong code.
77
char
dummy;
78
#endif
79
};
80
81
}
// namespace sc_core
82
83
//$Log: sc_interface.h,v $
84
//Revision 1.3 2011/08/26 20:45:40 acg
85
// Andy Goodrich: moved the modification log to the end of the file to
86
// eliminate source line number skew when check-ins are done.
87
//
88
//Revision 1.2 2011/02/18 20:23:45 acg
89
// Andy Goodrich: Copyright update.
90
//
91
//Revision 1.1.1.1 2006/12/15 20:20:04 acg
92
//SystemC 2.3
93
//
94
//Revision 1.2 2006/01/03 23:18:26 acg
95
//Changed copyright to include 2006.
96
//
97
//Revision 1.1.1.1 2005/12/19 23:16:43 acg
98
//First check in of SystemC 2.1 into its own archive.
99
//
100
//Revision 1.7 2005/06/10 22:43:55 acg
101
//Added CVS change log annotation.
102
//
103
104
#endif
105
106
// Taf!
sc_core::sc_interface::~sc_interface
virtual ~sc_interface()
sc_core::sc_interface::default_event
virtual const sc_event & default_event() const
sc_core::sc_event
The event class.
Definition:
sc_event.h:260
sc_core::sc_interface
Abstract base class of all interface classes.
Definition:
sc_interface.h:44
sc_core::sc_interface::register_port
virtual void register_port(sc_port_base &port_, const char *if_typename_)
sc_core::sc_port_base
Abstract base class for class sc_port_b.
Definition:
sc_port.h:69
sc_core::sc_interface::sc_interface
sc_interface()
Generated on Mon Sep 30 2019 13:16:43 for SystemC by
1.8.5