sc_boost.h revision 12027
112600Sodanrc@yahoo.com.br/*****************************************************************************
212600Sodanrc@yahoo.com.br
312600Sodanrc@yahoo.com.br  Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
412600Sodanrc@yahoo.com.br  more contributor license agreements.  See the NOTICE file distributed
512600Sodanrc@yahoo.com.br  with this work for additional information regarding copyright ownership.
612600Sodanrc@yahoo.com.br  Accellera licenses this file to you under the Apache License, Version 2.0
712600Sodanrc@yahoo.com.br  (the "License"); you may not use this file except in compliance with the
812600Sodanrc@yahoo.com.br  License.  You may obtain a copy of the License at
912600Sodanrc@yahoo.com.br
1012600Sodanrc@yahoo.com.br    http://www.apache.org/licenses/LICENSE-2.0
1112600Sodanrc@yahoo.com.br
1212600Sodanrc@yahoo.com.br  Unless required by applicable law or agreed to in writing, software
1312600Sodanrc@yahoo.com.br  distributed under the License is distributed on an "AS IS" BASIS,
1412600Sodanrc@yahoo.com.br  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
1512600Sodanrc@yahoo.com.br  implied.  See the License for the specific language governing
1612600Sodanrc@yahoo.com.br  permissions and limitations under the License.
1712600Sodanrc@yahoo.com.br
1812600Sodanrc@yahoo.com.br *****************************************************************************/
1912600Sodanrc@yahoo.com.br
2012600Sodanrc@yahoo.com.br/*****************************************************************************
2112600Sodanrc@yahoo.com.br
2212600Sodanrc@yahoo.com.br  sc_boost.h -- Thread Semantics Provided By The Boost Library
2312600Sodanrc@yahoo.com.br
2412600Sodanrc@yahoo.com.br  Original Author: Stuart Swan, Cadence Design Systems, Inc
2512600Sodanrc@yahoo.com.br
2612600Sodanrc@yahoo.com.br  CHANGE LOG AT THE END OF THE FILE
2712600Sodanrc@yahoo.com.br *****************************************************************************/
2812600Sodanrc@yahoo.com.br
2912600Sodanrc@yahoo.com.br
3012600Sodanrc@yahoo.com.br#ifndef SC_BOOST_H
3112600Sodanrc@yahoo.com.br#define SC_BOOST_H
3212600Sodanrc@yahoo.com.br
3312600Sodanrc@yahoo.com.br// namespace sc_dp { This is off because of bugs with gcc 2.9x
3412600Sodanrc@yahoo.com.br
3512600Sodanrc@yahoo.com.br// SET THE NAME OF OBJECTS THAT THE SC_BOOST LIBRARY WILL PRODUCE AND INCLUDE IT
3612600Sodanrc@yahoo.com.br
3712600Sodanrc@yahoo.com.br#if defined(_MSC_VER) && !defined(__ICL) && !defined(__COMO__)
3812607Sodanrc@yahoo.com.br#   pragma warning(disable: 4786)  // identifier truncated in debug info
3912607Sodanrc@yahoo.com.br#   pragma warning(disable: 4710)  // function not inlined
4012607Sodanrc@yahoo.com.br#   pragma warning(disable: 4711)  // funct. selected for auto-inline expansion
4112607Sodanrc@yahoo.com.br#   pragma warning(disable: 4514)  // unreferenced inline removed
4212607Sodanrc@yahoo.com.br#endif
4312628Sodanrc@yahoo.com.br
4412628Sodanrc@yahoo.com.br#include <functional>
4512628Sodanrc@yahoo.com.br
4612628Sodanrc@yahoo.com.br#if defined(SC_BOOST_MSVC) && (SC_BOOST_MSVC < 1300)
4712628Sodanrc@yahoo.com.br#   pragma warning(push, 3)
4812600Sodanrc@yahoo.com.br#endif
4912600Sodanrc@yahoo.com.br
5012600Sodanrc@yahoo.com.br#if defined(SC_BOOST_MSVC) && (SC_BOOST_MSVC < 1300)
5112600Sodanrc@yahoo.com.br#   pragma warning(pop)
5212600Sodanrc@yahoo.com.br#endif
5312634Sodanrc@yahoo.com.br
5412634Sodanrc@yahoo.com.br// } // namespace sc_dp This is off because of bugs with gcc 2.9x
5512634Sodanrc@yahoo.com.br
5612634Sodanrc@yahoo.com.br// macros to help avoid direct user code dependencies on boost lib
5712634Sodanrc@yahoo.com.br//
5812634Sodanrc@yahoo.com.br// note the use of the sc_boost namespace for the SystemC version of
5912635Sodanrc@yahoo.com.br// boost. to replace the version shipped with SystemC with another boost
6012635Sodanrc@yahoo.com.br// you will need to change the namespace prefix back to boost.
6112635Sodanrc@yahoo.com.br
6212601Sodanrc@yahoo.com.br#define sc_bind    std::bind
6312601Sodanrc@yahoo.com.br#define sc_ref(r)  std::ref(r)
6412601Sodanrc@yahoo.com.br#define sc_cref(r) std::cref(r)
6512601Sodanrc@yahoo.com.br
6612601Sodanrc@yahoo.com.br// $Log: sc_boost.h,v $
6712600Sodanrc@yahoo.com.br// Revision 1.7  2011/08/26 20:46:09  acg
6812600Sodanrc@yahoo.com.br//  Andy Goodrich: moved the modification log to the end of the file to
6912600Sodanrc@yahoo.com.br//  eliminate source line number skew when check-ins are done.
7012600Sodanrc@yahoo.com.br//
7112626Sodanrc@yahoo.com.br// Revision 1.6  2011/02/18 20:27:14  acg
7212626Sodanrc@yahoo.com.br//  Andy Goodrich: Updated Copyrights.
7312626Sodanrc@yahoo.com.br//
7412626Sodanrc@yahoo.com.br// Revision 1.5  2011/02/13 21:47:37  acg
7512626Sodanrc@yahoo.com.br//  Andy Goodrich: update copyright notice.
7612626Sodanrc@yahoo.com.br//
7712626Sodanrc@yahoo.com.br// Revision 1.4  2009/07/28 01:10:53  acg
7812626Sodanrc@yahoo.com.br//  Andy Goodrich: updates for 2.3 release candidate.
7912626Sodanrc@yahoo.com.br//
8012626Sodanrc@yahoo.com.br// Revision 1.3  2009/02/28 00:26:58  acg
8112627Sodanrc@yahoo.com.br//  Andy Goodrich: changed boost name space to sc_boost to allow use with
8212627Sodanrc@yahoo.com.br//  full boost library applications.
8312627Sodanrc@yahoo.com.br//
8412672Sodanrc@yahoo.com.br// Revision 1.2  2008/05/22 17:06:24  acg
8512672Sodanrc@yahoo.com.br//  Andy Goodrich: updated copyright notice to include 2008.
8612672Sodanrc@yahoo.com.br//
8712672Sodanrc@yahoo.com.br// 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