sc_boost.h revision 12027:1eb7dc7aa10b
1/***************************************************************************** 2 3 Licensed to Accellera Systems Initiative Inc. (Accellera) under one or 4 more contributor license agreements. See the NOTICE file distributed 5 with this work for additional information regarding copyright ownership. 6 Accellera licenses this file to you under the Apache License, Version 2.0 7 (the "License"); you may not use this file except in compliance with the 8 License. You may obtain a copy of the License at 9 10 http://www.apache.org/licenses/LICENSE-2.0 11 12 Unless required by applicable law or agreed to in writing, software 13 distributed under the License is distributed on an "AS IS" BASIS, 14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 15 implied. See the License for the specific language governing 16 permissions and limitations under the License. 17 18 *****************************************************************************/ 19 20/***************************************************************************** 21 22 sc_boost.h -- Thread Semantics Provided By The Boost Library 23 24 Original Author: Stuart Swan, Cadence Design Systems, Inc 25 26 CHANGE LOG AT THE END OF THE FILE 27 *****************************************************************************/ 28 29 30#ifndef SC_BOOST_H 31#define SC_BOOST_H 32 33// namespace sc_dp { This is off because of bugs with gcc 2.9x 34 35// SET THE NAME OF OBJECTS THAT THE SC_BOOST LIBRARY WILL PRODUCE AND INCLUDE IT 36 37#if defined(_MSC_VER) && !defined(__ICL) && !defined(__COMO__) 38# pragma warning(disable: 4786) // identifier truncated in debug info 39# pragma warning(disable: 4710) // function not inlined 40# pragma warning(disable: 4711) // funct. selected for auto-inline expansion 41# pragma warning(disable: 4514) // unreferenced inline removed 42#endif 43 44#include <functional> 45 46#if defined(SC_BOOST_MSVC) && (SC_BOOST_MSVC < 1300) 47# pragma warning(push, 3) 48#endif 49 50#if defined(SC_BOOST_MSVC) && (SC_BOOST_MSVC < 1300) 51# pragma warning(pop) 52#endif 53 54// } // namespace sc_dp This is off because of bugs with gcc 2.9x 55 56// macros to help avoid direct user code dependencies on boost lib 57// 58// note the use of the sc_boost namespace for the SystemC version of 59// boost. to replace the version shipped with SystemC with another boost 60// you will need to change the namespace prefix back to boost. 61 62#define sc_bind std::bind 63#define sc_ref(r) std::ref(r) 64#define sc_cref(r) std::cref(r) 65 66// $Log: sc_boost.h,v $ 67// Revision 1.7 2011/08/26 20:46:09 acg 68// Andy Goodrich: moved the modification log to the end of the file to 69// eliminate source line number skew when check-ins are done. 70// 71// Revision 1.6 2011/02/18 20:27:14 acg 72// Andy Goodrich: Updated Copyrights. 73// 74// Revision 1.5 2011/02/13 21:47:37 acg 75// Andy Goodrich: update copyright notice. 76// 77// Revision 1.4 2009/07/28 01:10:53 acg 78// Andy Goodrich: updates for 2.3 release candidate. 79// 80// Revision 1.3 2009/02/28 00:26:58 acg 81// Andy Goodrich: changed boost name space to sc_boost to allow use with 82// full boost library applications. 83// 84// Revision 1.2 2008/05/22 17:06:24 acg 85// Andy Goodrich: updated copyright notice to include 2008. 86// 87// Revision 1.1.1.1 2006/12/15 20:20:05 acg 88// SystemC 2.3 89// 90// Revision 1.3 2006/01/13 18:44:29 acg 91// Added $Log to record CVS changes into the source. 92// 93 94#endif // SC_BOOST_H 95