Crazy Eddie's GUI System  ${CEGUI_VERSION}
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
workaround.hpp
1 // This file has been generated by Py++.
2 
3 // Header file workaround.hpp
4 //
5 // Indexing-specific workarounds for compiler problems.
6 //
7 // Copyright (c) 2003 Raoul M. Gough
8 //
9 // Use, modification and distribution is subject to the Boost Software
10 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy
11 // at http://www.boost.org/LICENSE_1_0.txt)
12 //
13 // History
14 // =======
15 // 2003/10/21 rmg File creation
16 // 2008/12/08 Roman Change indexing suite layout
17 //
18 // $Id: workaround.hpp,v 1.1.2.3 2003/11/17 19:27:13 raoulgough Exp $
19 //
20 
21 #ifndef BOOST_PYTHON_INDEXING_WORKAROUND_HPP
22 #define BOOST_PYTHON_INDEXING_WORKAROUND_HPP
23 
24 #include <boost/config.hpp>
25 #include <boost/detail/workaround.hpp>
26 
27 # if (BOOST_WORKAROUND (__GNUC__, < 3))
28 # // gcc versions before 3 (like 2.95.3) don't have the "at" member
29 # // function in std::vector or std::deque
30 # define BOOST_PYTHON_INDEXING_AT operator[]
31 # else
32 # define BOOST_PYTHON_INDEXING_AT at
33 # endif
34 
35 # if BOOST_WORKAROUND (BOOST_MSVC, <= 1300)
36 // Workaround the lack of a reset member function in std::auto_ptr
37 namespace boost { namespace python { namespace indexing {
38 template<typename T> void reset_auto_ptr (T &aptr, T::element_type *pptr) {
39  aptr = T (pptr);
40 }
41 } } }
42 # define BOOST_PYTHON_INDEXING_RESET_AUTO_PTR ::boost::python::indexing::reset_auto_ptr
43 # else
44 # define BOOST_PYTHON_INDEXING_RESET_AUTO_PTR( aptr, pptr ) (aptr).reset(pptr)
45 # endif
46 
47 #endif // BOOST_PYTHON_INDEXING_WORKAROUND_HPP
48 
49 
50 
Definition: python_CEGUI.h:11