SystemC  2.3.1
Accellera SystemC proof-of-concept library
sc_boost.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_boost.h -- Thread Semantics Provided By The Boost Library
21 
22  Original Author: Stuart Swan, Cadence Design Systems, Inc
23 
24  CHANGE LOG AT THE END OF THE FILE
25  *****************************************************************************/
26 
27 
28 #ifndef SC_BOOST_H
29 #define SC_BOOST_H
30 
31 // namespace sc_dp { This is off because of bugs with gcc 2.9x
32 
33 // SET THE NAME OF OBJECTS THAT THE SC_BOOST LIBRARY WILL PRODUCE AND INCLUDE IT
34 
35 #if defined(_MSC_VER) && !defined(__ICL) && !defined(__COMO__)
36 # pragma warning(disable: 4786) // identifier truncated in debug info
37 # pragma warning(disable: 4710) // function not inlined
38 # pragma warning(disable: 4711) // funct. selected for auto-inline expansion
39 # pragma warning(disable: 4514) // unreferenced inline removed
40 #endif
41 
42 #include "sysc/packages/boost/bind.hpp"
43 #include "sysc/packages/boost/ref.hpp"
44 
45 #if defined(SC_BOOST_MSVC) && (SC_BOOST_MSVC < 1300)
46 # pragma warning(push, 3)
47 #endif
48 
49 #if defined(SC_BOOST_MSVC) && (SC_BOOST_MSVC < 1300)
50 # pragma warning(pop)
51 #endif
52 
53 // } // namespace sc_dp This is off because of bugs with gcc 2.9x
54 
55 // macros to help avoid direct user code dependencies on boost lib
56 //
57 // note the use of the sc_boost namespace for the SystemC version of
58 // boost. to replace the version shipped with SystemC with another boost
59 // you will need to change the namespace prefix back to boost.
60 
61 #define sc_bind sc_boost::bind
62 #define sc_ref(r) sc_boost::ref(r)
63 #define sc_cref(r) sc_boost::cref(r)
64 
65 // $Log: sc_boost.h,v $
66 // Revision 1.7 2011/08/26 20:46:09 acg
67 // Andy Goodrich: moved the modification log to the end of the file to
68 // eliminate source line number skew when check-ins are done.
69 //
70 // Revision 1.6 2011/02/18 20:27:14 acg
71 // Andy Goodrich: Updated Copyrights.
72 //
73 // Revision 1.5 2011/02/13 21:47:37 acg
74 // Andy Goodrich: update copyright notice.
75 //
76 // Revision 1.4 2009/07/28 01:10:53 acg
77 // Andy Goodrich: updates for 2.3 release candidate.
78 //
79 // Revision 1.3 2009/02/28 00:26:58 acg
80 // Andy Goodrich: changed boost name space to sc_boost to allow use with
81 // full boost library applications.
82 //
83 // Revision 1.2 2008/05/22 17:06:24 acg
84 // Andy Goodrich: updated copyright notice to include 2008.
85 //
86 // Revision 1.1.1.1 2006/12/15 20:20:05 acg
87 // SystemC 2.3
88 //
89 // Revision 1.3 2006/01/13 18:44:29 acg
90 // Added $Log to record CVS changes into the source.
91 //
92 
93 #endif // SC_BOOST_H