source: sources/src/sc_interface.h @ 65

Last change on this file since 65 was 65, checked in by bouyer, 5 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
Line 
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
15#include <stddef.h>
16
17#include "sc_fwd.h"
18#include "internal_ext.h"
19#include <sys/types.h>
20
21namespace sc_core {
22
23
24// ----------------------------------------------------------------------------
25//  CLASS : sc_interface
26//
27// 
28// ----------------------------------------------------------------------------
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:
50    sc_interface ();
51
52    private:
53    // disabled
54    // QM: required for compilation...
55    sc_interface(const sc_interface &);
56    sc_interface & operator = (const sc_interface &);
57};
58
59} // end of sc_core namespace
60
61#endif /* __SC_INTERFACE_H__ */
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.