source: sources/src/sc_interface.h@ 65

Last change on this file since 65 was 65, checked in by bouyer, 7 years ago

Various performance improvements for the parallel systemcass: cache-aligned
data structures, write only when needed, disable some unneeded barriers.

Fix bug in the non-openmp case: a pointer was not initialized

various style updates

File size: 2.0 KB
RevLine 
[1]1/*------------------------------------------------------------\
2| |
3| Tool : systemcass |
4| |
5| File : sc_interface.h |
6| |
7| Author : Buchmann Richard |
8| |
9| Date : 09_07_2004 |
10| |
11\------------------------------------------------------------*/
12#ifndef __SC_INTERFACE_H__
13#define __SC_INTERFACE_H__
14
[51]15#include <stddef.h>
16
[27]17#include "sc_fwd.h"
18#include "internal_ext.h"
[65]19#include <sys/types.h>
[1]20
21namespace sc_core {
22
[52]23
[1]24// ----------------------------------------------------------------------------
25// CLASS : sc_interface
26//
27//
28// ----------------------------------------------------------------------------
[52]29
30class sc_interface {
31 ///////////
32 // Internal
33 private:
34 tab_t * pointer; // pointeur dans la table de signaux
35 // NULL pour les sc_out/sc_inout
36
37 public:
38 inline tab_t * get_pointer() const { return pointer; }
39 inline void set_pointer(tab_t * i) { pointer = i; }
40 size_t data_size_in_bytes() const; /* nb of bytes */
41
42 protected:
43 void init(size_t) const;
44
45 public:
46 const sc_event & default_event() const;
47 ~sc_interface();
48
49 protected:
[1]50 sc_interface ();
[52]51
52 private:
53 // disabled
54 // QM: required for compilation...
55 sc_interface(const sc_interface &);
[1]56 sc_interface & operator = (const sc_interface &);
57};
58
59} // end of sc_core namespace
60
61#endif /* __SC_INTERFACE_H__ */
[52]62
63/*
64# Local Variables:
65# tab-width: 4;
66# c-basic-offset: 4;
67# c-file-offsets:((innamespace . 0)(inline-open . 0));
68# indent-tabs-mode: nil;
69# End:
70#
71# vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4
72*/
73
Note: See TracBrowser for help on using the repository browser.