00001 /***************************************************************************** 00002 00003 The following code is derived, directly or indirectly, from the SystemC 00004 source code Copyright (c) 1996-2014 by all Contributors. 00005 All Rights reserved. 00006 00007 The contents of this file are subject to the restrictions and limitations 00008 set forth in the SystemC Open Source License (the "License"); 00009 You may not use this file except in compliance with such restrictions and 00010 limitations. You may obtain instructions on how to receive a copy of the 00011 License at http://www.accellera.org/. Software distributed by Contributors 00012 under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF 00013 ANY KIND, either express or implied. See the License for the specific 00014 language governing rights and limitations under the License. 00015 00016 *****************************************************************************/ 00017 00018 /***************************************************************************** 00019 00020 sc_boost.h -- Thread Semantics Provided By The Boost Library 00021 00022 Original Author: Stuart Swan, Cadence Design Systems, Inc 00023 00024 CHANGE LOG AT THE END OF THE FILE 00025 *****************************************************************************/ 00026 00027 00028 #ifndef SC_BOOST_H 00029 #define SC_BOOST_H 00030 00031 // namespace sc_dp { This is off because of bugs with gcc 2.9x 00032 00033 // SET THE NAME OF OBJECTS THAT THE SC_BOOST LIBRARY WILL PRODUCE AND INCLUDE IT 00034 00035 #if defined(_MSC_VER) && !defined(__ICL) && !defined(__COMO__) 00036 # pragma warning(disable: 4786) // identifier truncated in debug info 00037 # pragma warning(disable: 4710) // function not inlined 00038 # pragma warning(disable: 4711) // funct. selected for auto-inline expansion 00039 # pragma warning(disable: 4514) // unreferenced inline removed 00040 #endif 00041 00042 #include "sysc/packages/boost/bind.hpp" 00043 #include "sysc/packages/boost/ref.hpp" 00044 00045 #if defined(SC_BOOST_MSVC) && (SC_BOOST_MSVC < 1300) 00046 # pragma warning(push, 3) 00047 #endif 00048 00049 #if defined(SC_BOOST_MSVC) && (SC_BOOST_MSVC < 1300) 00050 # pragma warning(pop) 00051 #endif 00052 00053 // } // namespace sc_dp This is off because of bugs with gcc 2.9x 00054 00055 // macros to help avoid direct user code dependencies on boost lib 00056 // 00057 // note the use of the sc_boost namespace for the SystemC version of 00058 // boost. to replace the version shipped with SystemC with another boost 00059 // you will need to change the namespace prefix back to boost. 00060 00061 #define sc_bind sc_boost::bind 00062 #define sc_ref(r) sc_boost::ref(r) 00063 #define sc_cref(r) sc_boost::cref(r) 00064 00065 // $Log: sc_boost.h,v $ 00066 // Revision 1.7 2011/08/26 20:46:09 acg 00067 // Andy Goodrich: moved the modification log to the end of the file to 00068 // eliminate source line number skew when check-ins are done. 00069 // 00070 // Revision 1.6 2011/02/18 20:27:14 acg 00071 // Andy Goodrich: Updated Copyrights. 00072 // 00073 // Revision 1.5 2011/02/13 21:47:37 acg 00074 // Andy Goodrich: update copyright notice. 00075 // 00076 // Revision 1.4 2009/07/28 01:10:53 acg 00077 // Andy Goodrich: updates for 2.3 release candidate. 00078 // 00079 // Revision 1.3 2009/02/28 00:26:58 acg 00080 // Andy Goodrich: changed boost name space to sc_boost to allow use with 00081 // full boost library applications. 00082 // 00083 // Revision 1.2 2008/05/22 17:06:24 acg 00084 // Andy Goodrich: updated copyright notice to include 2008. 00085 // 00086 // Revision 1.1.1.1 2006/12/15 20:20:05 acg 00087 // SystemC 2.3 00088 // 00089 // Revision 1.3 2006/01/13 18:44:29 acg 00090 // Added $Log to record CVS changes into the source. 00091 // 00092 00093 #endif // SC_BOOST_H