diff --git a/build/Jamfile b/build/Jamfile
index 92f715c2..f4293c0d 100644
--- a/build/Jamfile
+++ b/build/Jamfile
@@ -1,6 +1,7 @@
-# Copyright David Abrahams 2001-2006. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+# (C) Copyright David Abrahams 2001. Permission to copy, use, modify, sell and
+# distribute this software is granted provided this copyright notice appears
+# in all copies. This software is provided "as is" without express or implied
+# warranty, and with no claim as to its suitability for any purpose.
#
# Boost.Python library Jamfile
diff --git a/build/Jamfile.v2 b/build/Jamfile.v2
index 3987bb15..dbf0df00 100644
--- a/build/Jamfile.v2
+++ b/build/Jamfile.v2
@@ -1,7 +1,3 @@
-# Copyright David Abrahams 2001-2006. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
import os ;
import modules ;
diff --git a/doc/PyConDC_2003/bpl.html b/doc/PyConDC_2003/bpl.html
index 32b655bd..4ee77260 100755
--- a/doc/PyConDC_2003/bpl.html
+++ b/doc/PyConDC_2003/bpl.html
@@ -1,11 +1,5 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/doc/tutorial/doc/html/python/embedding.html b/doc/tutorial/doc/html/python/embedding.html
index 79971d82..359ad5fc 100644
--- a/doc/tutorial/doc/html/python/embedding.html
+++ b/doc/tutorial/doc/html/python/embedding.html
@@ -1,6 +1,3 @@
-
-
-
diff --git a/doc/tutorial/doc/html/python/exception.html b/doc/tutorial/doc/html/python/exception.html
index 04033f03..d443959b 100644
--- a/doc/tutorial/doc/html/python/exception.html
+++ b/doc/tutorial/doc/html/python/exception.html
@@ -1,6 +1,3 @@
-
-
-
diff --git a/doc/tutorial/doc/html/python/exposing.html b/doc/tutorial/doc/html/python/exposing.html
index 42f188f3..b978d50a 100644
--- a/doc/tutorial/doc/html/python/exposing.html
+++ b/doc/tutorial/doc/html/python/exposing.html
@@ -1,6 +1,3 @@
-
-
-
diff --git a/doc/tutorial/doc/html/python/functions.html b/doc/tutorial/doc/html/python/functions.html
index 3a9b53b3..a2ef6ff4 100644
--- a/doc/tutorial/doc/html/python/functions.html
+++ b/doc/tutorial/doc/html/python/functions.html
@@ -1,6 +1,3 @@
-
-
-
diff --git a/doc/tutorial/doc/html/python/hello.html b/doc/tutorial/doc/html/python/hello.html
index efdba8c2..c166c4e0 100644
--- a/doc/tutorial/doc/html/python/hello.html
+++ b/doc/tutorial/doc/html/python/hello.html
@@ -1,6 +1,3 @@
-
-
-
diff --git a/doc/tutorial/doc/html/python/iterators.html b/doc/tutorial/doc/html/python/iterators.html
index bbe42b0f..4abaa075 100644
--- a/doc/tutorial/doc/html/python/iterators.html
+++ b/doc/tutorial/doc/html/python/iterators.html
@@ -1,6 +1,3 @@
-
-
-
diff --git a/doc/tutorial/doc/html/python/object.html b/doc/tutorial/doc/html/python/object.html
index 583a4779..29e997dd 100644
--- a/doc/tutorial/doc/html/python/object.html
+++ b/doc/tutorial/doc/html/python/object.html
@@ -1,6 +1,3 @@
-
-
-
diff --git a/doc/tutorial/doc/html/python/techniques.html b/doc/tutorial/doc/html/python/techniques.html
index a60b7278..a06ea749 100644
--- a/doc/tutorial/doc/html/python/techniques.html
+++ b/doc/tutorial/doc/html/python/techniques.html
@@ -1,6 +1,3 @@
-
-
-
diff --git a/doc/tutorial/index.html b/doc/tutorial/index.html
index c2a2aab5..b6ce29ba 100644
--- a/doc/tutorial/index.html
+++ b/doc/tutorial/index.html
@@ -1,7 +1,4 @@
-
-
-
diff --git a/doc/v2/Apr2002.html b/doc/v2/Apr2002.html
index 4b26cb93..125c7b75 100644
--- a/doc/v2/Apr2002.html
+++ b/doc/v2/Apr2002.html
@@ -1,6 +1,3 @@
-
-
-
diff --git a/doc/v2/CallPolicies.html b/doc/v2/CallPolicies.html
index 5efbdcdb..946296a9 100644
--- a/doc/v2/CallPolicies.html
+++ b/doc/v2/CallPolicies.html
@@ -1,8 +1,5 @@
-
-
-
-
-
diff --git a/doc/v2/Extractor.html b/doc/v2/Extractor.html
index 72915f84..d09f7e12 100755
--- a/doc/v2/Extractor.html
+++ b/doc/v2/Extractor.html
@@ -1,6 +1,3 @@
-
-
-
diff --git a/doc/v2/HolderGenerator.html b/doc/v2/HolderGenerator.html
index e904b115..9443c73a 100755
--- a/doc/v2/HolderGenerator.html
+++ b/doc/v2/HolderGenerator.html
@@ -1,6 +1,3 @@
-
-
-
diff --git a/doc/v2/Jun2002.html b/doc/v2/Jun2002.html
index d3d61d49..6521e79a 100644
--- a/doc/v2/Jun2002.html
+++ b/doc/v2/Jun2002.html
@@ -1,6 +1,3 @@
-
-
-
diff --git a/doc/v2/Mar2002.html b/doc/v2/Mar2002.html
index 60a2f720..a815f358 100644
--- a/doc/v2/Mar2002.html
+++ b/doc/v2/Mar2002.html
@@ -1,6 +1,3 @@
-
-
-
diff --git a/doc/v2/May2002.html b/doc/v2/May2002.html
index 764b7d9e..b89f82e1 100644
--- a/doc/v2/May2002.html
+++ b/doc/v2/May2002.html
@@ -1,6 +1,3 @@
-
-
-
diff --git a/doc/v2/ObjectWrapper.html b/doc/v2/ObjectWrapper.html
index 3b8d797c..9949173d 100644
--- a/doc/v2/ObjectWrapper.html
+++ b/doc/v2/ObjectWrapper.html
@@ -1,8 +1,5 @@
-
-
-
-
-
diff --git a/doc/v2/acknowledgments.html b/doc/v2/acknowledgments.html
index 4d9894e7..0391c5d1 100644
--- a/doc/v2/acknowledgments.html
+++ b/doc/v2/acknowledgments.html
@@ -1,8 +1,5 @@
-
-
-
-
-
-
-
-
diff --git a/doc/v2/call_method.html b/doc/v2/call_method.html
index 0965002f..50eb6e3e 100644
--- a/doc/v2/call_method.html
+++ b/doc/v2/call_method.html
@@ -1,8 +1,5 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- © Copyright Joel de Guzman 2003. Distributed under the Boost
- Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
© Copyright Joel de Guzman 2003.
\ No newline at end of file
diff --git a/doc/v2/default_call_policies.html b/doc/v2/default_call_policies.html
index 772b5c63..2998769a 100644
--- a/doc/v2/default_call_policies.html
+++ b/doc/v2/default_call_policies.html
@@ -165,8 +165,6 @@ struct return_value_policy : Base
-
© Copyright Dave
- Abrahams 2002. Distributed under the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
+ © Copyright Dave
+ Abrahams 2002.
diff --git a/doc/v2/definitions.html b/doc/v2/definitions.html
index c534aa01..372632bf 100644
--- a/doc/v2/definitions.html
+++ b/doc/v2/definitions.html
@@ -1,8 +1,5 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/doc/v2/extract.html b/doc/v2/extract.html
index dc63b9e6..10c21ef3 100644
--- a/doc/v2/extract.html
+++ b/doc/v2/extract.html
@@ -1,8 +1,5 @@
-
-
-
-
-
-
- © Copyright Dave Abrahams 2002. Distributed
- under the Boost Software License, Version 1.0. (See accompanying file
- LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ © Copyright Dave Abrahams
+ 2002.
diff --git a/doc/v2/handle.html b/doc/v2/handle.html
index 34eb46fa..0b806833 100644
--- a/doc/v2/handle.html
+++ b/doc/v2/handle.html
@@ -1,8 +1,5 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/doc/v2/index.html b/doc/v2/index.html
index 92593d06..0d5ace16 100644
--- a/doc/v2/index.html
+++ b/doc/v2/index.html
@@ -1,8 +1,5 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/doc/v2/iterator.html b/doc/v2/iterator.html
index 8d0ab613..fa53faa2 100644
--- a/doc/v2/iterator.html
+++ b/doc/v2/iterator.html
@@ -1,8 +1,5 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
© Copyright Dave
- Abrahams 2002. Distributed
- under the Boost Software License, Version 1.0. (See accompanying file
- LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ Abrahams 2002.
diff --git a/doc/v2/numeric.html b/doc/v2/numeric.html
index 0817f5ef..4fab17d4 100644
--- a/doc/v2/numeric.html
+++ b/doc/v2/numeric.html
@@ -1,8 +1,5 @@
-
-
-
-
-
-
+
+
+
+
+
+
+ Boost.Python - <boost/python/opaque_pointer_converter.hpp>
+
+
+
+
+
+
+
+
+
+
+
+
+ Header
+ <boost/python/opaque_pointer_converter.hpp>
+
+
+
+
+
+ Contents
+
+
+ Classes
+
+
+
+ Class template
+ opaque_pointer_converter<P>
+
+
+
+ Class template
+ opaque_pointer_converter synopsis
+
+
+
+
+
+ Macros
+
+
+ Macro
+ BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID
+
+
+
+ Example
+
+ See Also
+
+
+
+ Classes
+
+ Class template
+ opaque_pointer_converter<P>
+
+ opaque_pointer_converter<> is derived from
+
+ to_python_converter
+ and registers itself as an
+
+ lvalue_from_pytype converter from Python objects
+ into pointers to undefined types.
+ Thus it may be used as a converter from opaque pointers into
+ Python objects and vice versa.
+
+ Class template
+ opaque_pointer_converter synopsis
+
+namespace boost { namespace python
+{
+ template<class Pointer>
+ struct opaque_pointer_converter
+ : to_python_converter<
+ Pointer, opaque_pointer_converter<Pointer> >
+ {
+ explicit opaque_pointer_converter(char const* name);
+ };
+}}
+
+
+ Class template
+ opaque_pointer_converter constructor
+
+explicit opaque_pointer_converter(char const* name);
+
+
+
+ Effects:
+ Registers the instance as a
+
+ lvalue_from_pytype converter from Python objects
+ into opaque pointers.
+ The name is used for the type of the Python Objects created;
+ it should be printable but needn't be an
+ ntbs because the object type is
+ not supposed to be user constructible within python scripts.
+
+
+
+ Macros
+
+
+ Macro BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID(Pointee)
+ This macro must be used to define specializations of the
+ type_id function
+ which can't be instantiated for incomplete types.
+ Note
+ In order for this to work in a cross-module environment the macro must
+ be invoked in every translation unit which uses the
+ opaque_pointer_converter.
+
+ Example
+
+ please see example for
+ return_opaque_pointer .
+
+ See Also
+
+ return_opaque_pointer
+
+
+ Revised
+ 10 March, 2003
+
+
+ © Copyright 2003 Haufe Mediengruppe. All Rights
+ Reserved.
+
+
+
diff --git a/doc/v2/operators.html b/doc/v2/operators.html
index 10e566ec..b4d91bb8 100755
--- a/doc/v2/operators.html
+++ b/doc/v2/operators.html
@@ -1,8 +1,5 @@
-
-
-
operator_<unspecified > str(self_t);
- operator_ <unspecified > repr(self_t);
-
}}};
The tables below describe the methods generated when the results of the
@@ -768,15 +762,6 @@ namespace boost { namespace python { namespace self_ns {
lexical_cast <std::string>(x)
-
-
- repr
-
- __repr__
-
- lexical_cast <std::string>(x)
-
Class Template other
diff --git a/doc/v2/overloads.html b/doc/v2/overloads.html
index 226cab6e..0b00e7af 100644
--- a/doc/v2/overloads.html
+++ b/doc/v2/overloads.html
@@ -1,8 +1,5 @@
-
-
-
-© Copyright Ralf W. Grosse-Kunstleve 2001-2004. Distributed under
- the Boost Software License, Version 1.0. (See accompanying file
- LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+© Copyright Ralf W. Grosse-Kunstleve 2001-2004. Permission to copy,
+use, modify, sell and distribute this document is granted provided this
+copyright notice appears in all copies. This document is provided "as
+is" without express or implied warranty, and with no claim as to its
+suitability for any purpose.
Updated: Feb 2004.
diff --git a/doc/v2/platforms.html b/doc/v2/platforms.html
index e81f0c48..9893ee8d 100644
--- a/doc/v2/platforms.html
+++ b/doc/v2/platforms.html
@@ -1,8 +1,5 @@
-
-
-
© Copyright Dave
- Abrahams 2002. Distributed
- under the Boost Software License, Version 1.0. (See accompanying file
- LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
+ Abrahams 2002.
diff --git a/doc/v2/progress_reports.html b/doc/v2/progress_reports.html
index ea764a2a..37045c92 100644
--- a/doc/v2/progress_reports.html
+++ b/doc/v2/progress_reports.html
@@ -1,6 +1,3 @@
-
-
-
diff --git a/doc/v2/ptr.html b/doc/v2/ptr.html
index 05305893..39d7fc8f 100644
--- a/doc/v2/ptr.html
+++ b/doc/v2/ptr.html
@@ -259,7 +259,5 @@ void pass_as_arg(expensive_to_copy* x, PyObject* f)
© Copyright Dave
- Abrahams 2002. Distributed
- under the Boost Software License, Version 1.0. (See accompanying file
- LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ Abrahams 2002.
diff --git a/doc/v2/python.html b/doc/v2/python.html
index 1e50f88d..9895fb53 100644
--- a/doc/v2/python.html
+++ b/doc/v2/python.html
@@ -1,8 +1,5 @@
-
-
-
-
-
-
-
-
-
opaque_pointer_converter.hpp
+ "opaque_pointer_converter.html">opaque_pointer_converter.hpp
Classes
+ "opaque_pointer_converter.html#classes">Classes
opaque
+ "opaque_pointer_converter.html#opaque_pointer_converter-spec">opaque_pointer_converter
- Macros
+ Macros
+ "opaque_pointer_converter.html#BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID-spec">
BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID
diff --git a/doc/v2/reference_existing_object.html b/doc/v2/reference_existing_object.html
index 1bb95d49..9297917a 100644
--- a/doc/v2/reference_existing_object.html
+++ b/doc/v2/reference_existing_object.html
@@ -1,8 +1,5 @@
-
-
-
-
-
diff --git a/doc/v2/return_arg.html b/doc/v2/return_arg.html
index 3ecfc898..d9500011 100755
--- a/doc/v2/return_arg.html
+++ b/doc/v2/return_arg.html
@@ -1,8 +1,5 @@
-
-
-
-
-
-
-
-
-
-
-
-
@@ -70,7 +67,7 @@
undefined types such that the return value is copied into a
new Python object.
In addition to specifying the return_opaque_pointer
- policy the
+ policy the
BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID macro must be
used to define specializations for the
type_id function
@@ -177,8 +174,8 @@ if __name__ == '__main__':
See Also
-
- opaque
+
+ opaque_pointer_converter
Revised
diff --git a/doc/v2/return_value_policy.html b/doc/v2/return_value_policy.html
index 2a05eaca..3d9cb611 100644
--- a/doc/v2/return_value_policy.html
+++ b/doc/v2/return_value_policy.html
@@ -1,8 +1,5 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/doc/v2/str.html b/doc/v2/str.html
index 382a3707..037d5401 100644
--- a/doc/v2/str.html
+++ b/doc/v2/str.html
@@ -1,8 +1,5 @@
-
-
-
-
-
-
© Copyright Dave
- Abrahams 2002. Distributed
- under the Boost Software License, Version 1.0. (See accompanying file
- LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ Abrahams 2002.
diff --git a/doc/v2/to_python_value.html b/doc/v2/to_python_value.html
index 9df49319..ccd9b5d3 100644
--- a/doc/v2/to_python_value.html
+++ b/doc/v2/to_python_value.html
@@ -97,7 +97,5 @@ PyObject* operator()(argument_type x) const;
© Copyright Dave
- Abrahams 2002. Distributed under the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
+ Abrahams 2002.
diff --git a/doc/v2/tuple.html b/doc/v2/tuple.html
index 488b8cc4..aabcd10c 100644
--- a/doc/v2/tuple.html
+++ b/doc/v2/tuple.html
@@ -1,8 +1,5 @@
-
-
-
© Copyright Dave Abrahams 2002. Distributed under the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)<
+ "../../../../people/dave_abrahams.htm">Dave Abrahams 2002.
diff --git a/doc/v2/with_custodian_and_ward.html b/doc/v2/with_custodian_and_ward.html
index 8d4686bb..8859c29c 100644
--- a/doc/v2/with_custodian_and_ward.html
+++ b/doc/v2/with_custodian_and_ward.html
@@ -1,7 +1,4 @@
-
-
-
© Copyright Dave
- Abrahams 2004 Distributed under the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
+ Abrahams 2004
diff --git a/example/Jamfile b/example/Jamfile
index 24303a6b..10fe384e 100644
--- a/example/Jamfile
+++ b/example/Jamfile
@@ -1,6 +1,5 @@
-# Copyright David Abrahams 2003-2006. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+# Copyright David Abrahams 2003. See accompanying LICENSE for terms
+# and conditions of use.
# This is the top of our own project tree
project-root ;
diff --git a/example/Jamfile.v2 b/example/Jamfile.v2
index 0695aac2..7a9e5b87 100644
--- a/example/Jamfile.v2
+++ b/example/Jamfile.v2
@@ -1,6 +1,6 @@
-# Copyright David Abrahams 2006. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+# This is the Jamfile for Boost.Build v2, which is currently in
+# prerelease. Ignore this file unless you are a bleading edge sort of
+# person.
project : requirements /boost/python//boost_python ;
diff --git a/example/README b/example/README
index a9bd7941..97fdbc38 100644
--- a/example/README
+++ b/example/README
@@ -1,7 +1,3 @@
-.. Copyright David Abrahams 2006. Distributed under the Boost
-.. Software License, Version 1.0. (See accompanying
-.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
To get started with the Boost Python Library, use the examples
getting_started1.cpp and getting_started2.cpp.
diff --git a/example/boost-build.jam b/example/boost-build.jam
index 2075a00f..0e94752d 100755
--- a/example/boost-build.jam
+++ b/example/boost-build.jam
@@ -1,6 +1,5 @@
-# Copyright David Abrahams 2006. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+# Copyright David Abrahams 2003. See accompanying LICENSE for terms
+# and conditions of use.
# Edit this path to point at the tools/build/v1 subdirectory of your
# Boost installation. Absolute paths work, too.
diff --git a/example/test_getting_started1.py b/example/test_getting_started1.py
index 32dc1f6e..cd8fb59e 100644
--- a/example/test_getting_started1.py
+++ b/example/test_getting_started1.py
@@ -1,6 +1,3 @@
-# Copyright Ralf W. Grosse-Kunstleve 2006. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
r'''>>> import getting_started1
>>> print getting_started1.greet()
hello, world
diff --git a/example/test_getting_started2.py b/example/test_getting_started2.py
index ae86017b..ccfaa4f1 100644
--- a/example/test_getting_started2.py
+++ b/example/test_getting_started2.py
@@ -1,6 +1,3 @@
-# Copyright Ralf W. Grosse-Kunstleve 2006. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
r'''>>> from getting_started2 import *
>>> hi = hello('California')
>>> hi.greet()
diff --git a/example/test_std_pair.py b/example/test_std_pair.py
index 64f239fe..89a2b8f3 100644
--- a/example/test_std_pair.py
+++ b/example/test_std_pair.py
@@ -1,6 +1,3 @@
-# Copyright Ralf W. Grosse-Kunstleve 2006. Distributed under the Boost
-# Software License, Version 1.0. (See accompanying
-# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
import std_pair_ext
assert std_pair_ext.foo() == (3, 5)
print "OK"
diff --git a/include/boost/python.hpp b/include/boost/python.hpp
deleted file mode 100644
index ae49abaf..00000000
--- a/include/boost/python.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-// Copyright David Abrahams 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// See http://www.boost.org/libs/python for documentation.
-
-#ifndef PYTHON_DWA2002810_HPP
-# define PYTHON_DWA2002810_HPP
-
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-
-#endif // PYTHON_DWA2002810_HPP
diff --git a/include/boost/python/arg_from_python.hpp b/include/boost/python/arg_from_python.hpp
deleted file mode 100755
index 05611edb..00000000
--- a/include/boost/python/arg_from_python.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright David Abrahams 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef ARG_FROM_PYTHON_DWA2002128_HPP
-# define ARG_FROM_PYTHON_DWA2002128_HPP
-
-# include
-# include
-# if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \
- || BOOST_WORKAROUND(BOOST_INTEL_WIN, BOOST_TESTED_AT(800))
-# include
-#endif
-
-namespace boost { namespace python {
-
-template
-struct arg_from_python
- : converter::select_arg_from_python<
-# if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \
- || BOOST_WORKAROUND(BOOST_INTEL_WIN, BOOST_TESTED_AT(800))
- typename boost::remove_cv::type
-# else
- T
-# endif
- >::type
-{
- typedef typename converter::select_arg_from_python<
-# if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \
- || BOOST_WORKAROUND(BOOST_INTEL_WIN, BOOST_TESTED_AT(800))
- typename boost::remove_cv::type
-# else
- T
-# endif
- >::type base;
-
- arg_from_python(PyObject*);
-};
-
-// specialization for PyObject*
-template <>
-struct arg_from_python
-{
- typedef PyObject* result_type;
-
- arg_from_python(PyObject* p) : m_source(p) {}
- bool convertible() const { return true; }
- PyObject* operator()() const { return m_source; }
- private:
- PyObject* m_source;
-};
-
-template <>
-struct arg_from_python
-{
- typedef PyObject* const& result_type;
-
- arg_from_python(PyObject* p) : m_source(p) {}
- bool convertible() const { return true; }
- PyObject*const& operator()() const { return m_source; }
- private:
- PyObject* m_source;
-};
-
-//
-// implementations
-//
-template
-inline arg_from_python::arg_from_python(PyObject* source)
- : base(source)
-{
-}
-
-}} // namespace boost::python
-
-#endif // ARG_FROM_PYTHON_DWA2002128_HPP
diff --git a/include/boost/python/args.hpp b/include/boost/python/args.hpp
deleted file mode 100644
index 8f8791d7..00000000
--- a/include/boost/python/args.hpp
+++ /dev/null
@@ -1,175 +0,0 @@
-// Copyright David Abrahams 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef KEYWORDS_DWA2002323_HPP
-# define KEYWORDS_DWA2002323_HPP
-
-# include
-
-# include
-# include
-# include
-# include
-
-# include
-# include
-# include
-
-# include
-# include
-# include
-# include
-
-# include
-# include
-
-# include
-
-# include
-# include
-
-namespace boost { namespace python {
-
-typedef detail::keywords<1> arg;
-typedef arg arg_; // gcc 2.96 workaround
-
-namespace detail
-{
- template
- struct keywords_base
- {
- BOOST_STATIC_CONSTANT(std::size_t, size = nkeywords);
-
- keyword_range range() const
- {
- return keyword_range(elements, elements + nkeywords);
- }
-
- keyword elements[nkeywords];
-
- keywords
- operator,(python::arg const &k) const;
-
- keywords
- operator,(char const *name) const;
- };
-
- template
- struct keywords : keywords_base
- {
- };
-
- template <>
- struct keywords<1> : keywords_base<1>
- {
- explicit keywords(char const *name)
- {
- elements[0].name = name;
- }
-
- template
- python::arg& operator=(T const& value)
- {
- object z(value);
- elements[0].default_value = handle<>(python::borrowed(object(value).ptr()));
- return *this;
- }
-
- operator detail::keyword const&() const
- {
- return elements[0];
- }
- };
-
- template
- inline
- keywords
- keywords_base::operator,(python::arg const &k) const
- {
- keywords const& l = *static_cast const*>(this);
- python::detail::keywords res;
- std::copy(l.elements, l.elements+nkeywords, res.elements);
- res.elements[nkeywords] = k.elements[0];
- return res;
- }
-
- template
- inline
- keywords
- keywords_base::operator,(char const *name) const
- {
- return this->operator,(python::arg(name));
- }
-
-# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- template
- struct is_keywords
- {
- BOOST_STATIC_CONSTANT(bool, value = false);
- };
-
- template
- struct is_keywords >
- {
- BOOST_STATIC_CONSTANT(bool, value = true);
- };
- template
- struct is_reference_to_keywords
- {
- BOOST_STATIC_CONSTANT(bool, is_ref = is_reference::value);
- typedef typename remove_reference::type deref;
- typedef typename remove_cv::type key_t;
- BOOST_STATIC_CONSTANT(bool, is_key = is_keywords::value);
- BOOST_STATIC_CONSTANT(bool, value = (is_ref & is_key));
-
- typedef mpl::bool_ type;
- BOOST_PYTHON_MPL_LAMBDA_SUPPORT(1,is_reference_to_keywords,(T))
- };
-# else
- typedef char (&yes_keywords_t)[1];
- typedef char (&no_keywords_t)[2];
-
- no_keywords_t is_keywords_test(...);
-
- template
- yes_keywords_t is_keywords_test(void (*)(keywords&));
-
- template
- yes_keywords_t is_keywords_test(void (*)(keywords const&));
-
- template
- class is_reference_to_keywords
- {
- public:
- BOOST_STATIC_CONSTANT(
- bool, value = (
- sizeof(detail::is_keywords_test( (void (*)(T))0 ))
- == sizeof(detail::yes_keywords_t)));
-
- typedef mpl::bool_ type;
- BOOST_PYTHON_MPL_LAMBDA_SUPPORT(1,is_reference_to_keywords,(T))
- };
-# endif
-}
-
-inline detail::keywords<1> args(char const* name)
-{
- return detail::keywords<1>(name);
-}
-
-# define BOOST_PYTHON_ASSIGN_NAME(z, n, _) result.elements[n].name = name##n;
-# define BOOST_PP_LOCAL_MACRO(n) \
-inline detail::keywords args(BOOST_PP_ENUM_PARAMS_Z(1, n, char const* name)) \
-{ \
- detail::keywords result; \
- BOOST_PP_REPEAT_1(n, BOOST_PYTHON_ASSIGN_NAME, _) \
- return result; \
-}
-# define BOOST_PP_LOCAL_LIMITS (2, BOOST_PYTHON_MAX_ARITY)
-# include BOOST_PP_LOCAL_ITERATE()
-
-}} // namespace boost::python
-
-
-# endif // KEYWORDS_DWA2002323_HPP
diff --git a/include/boost/python/args_fwd.hpp b/include/boost/python/args_fwd.hpp
deleted file mode 100644
index 39239461..00000000
--- a/include/boost/python/args_fwd.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright David Abrahams 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef ARGS_FWD_DWA2002927_HPP
-# define ARGS_FWD_DWA2002927_HPP
-
-# include
-
-# include
-# include
-# include
-# include
-
-namespace boost { namespace python {
-
-namespace detail
-{
- struct keyword
- {
- keyword(char const* name_=0)
- : name(name_)
- {}
-
- char const* name;
- handle<> default_value;
- };
-
- template struct keywords;
-
- typedef std::pair keyword_range;
-
- template <>
- struct keywords<0>
- {
- BOOST_STATIC_CONSTANT(std::size_t, size = 0);
- static keyword_range range() { return keyword_range(); }
- };
-
- namespace error
- {
- template
- struct more_keywords_than_function_arguments
- {
- typedef char too_many_keywords[keywords > function_args ? -1 : 1];
- };
- }
-}
-
-}} // namespace boost::python
-
-#endif // ARGS_FWD_DWA2002927_HPP
diff --git a/include/boost/python/back_reference.hpp b/include/boost/python/back_reference.hpp
deleted file mode 100644
index c1daba60..00000000
--- a/include/boost/python/back_reference.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-// Copyright David Abrahams 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BACK_REFERENCE_DWA2002510_HPP
-# define BACK_REFERENCE_DWA2002510_HPP
-
-# include
-
-# include
-# include
-# include
-
-namespace boost { namespace python {
-
-template
-struct back_reference
-{
- private: // types
- typedef typename detail::dependent::type source_t;
- public:
- typedef T type;
-
- back_reference(PyObject*, T);
- source_t const& source() const;
- T get() const;
- private:
- source_t m_source;
- T m_value;
-};
-
-# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-template
-class is_back_reference
-{
- public:
- BOOST_STATIC_CONSTANT(bool, value = false);
-};
-
-template
-class is_back_reference >
-{
- public:
- BOOST_STATIC_CONSTANT(bool, value = true);
-};
-
-# else // no partial specialization
-
-}} // namespace boost::python
-
-#include
-
-namespace boost { namespace python {
-
-namespace detail
-{
- typedef char (&yes_back_reference_t)[1];
- typedef char (&no_back_reference_t)[2];
-
- no_back_reference_t is_back_reference_test(...);
-
- template
- yes_back_reference_t is_back_reference_test(boost::type< back_reference >);
-}
-
-template
-class is_back_reference
-{
- public:
- BOOST_STATIC_CONSTANT(
- bool, value = (
- sizeof(detail::is_back_reference_test(boost::type()))
- == sizeof(detail::yes_back_reference_t)));
-};
-
-# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
-//
-// implementations
-//
-template
-back_reference::back_reference(PyObject* p, T x)
- : m_source(detail::borrowed_reference(p))
- , m_value(x)
-{
-}
-
-template
-typename back_reference::source_t const& back_reference::source() const
-{
- return m_source;
-}
-
-template
-T back_reference::get() const
-{
- return m_value;
-}
-
-}} // namespace boost::python
-
-#endif // BACK_REFERENCE_DWA2002510_HPP
diff --git a/include/boost/python/base_type_traits.hpp b/include/boost/python/base_type_traits.hpp
deleted file mode 100755
index e1c6a484..00000000
--- a/include/boost/python/base_type_traits.hpp
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright David Abrahams 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BASE_TYPE_TRAITS_DWA2002614_HPP
-# define BASE_TYPE_TRAITS_DWA2002614_HPP
-
-# include
-
-namespace boost { namespace python {
-
-namespace detail
-{
- struct unspecialized {};
-}
-
-// Derive from unspecialized so we can detect whether traits are
-// specialized
-template struct base_type_traits
- : detail::unspecialized
-{};
-
-template <>
-struct base_type_traits
-{
- typedef PyObject type;
-};
-
-template <>
-struct base_type_traits
-{
- typedef PyObject type;
-};
-
-template <>
-struct base_type_traits
-{
- typedef PyObject type;
-};
-
-}} // namespace boost::python
-
-#endif // BASE_TYPE_TRAITS_DWA2002614_HPP
diff --git a/include/boost/python/bases.hpp b/include/boost/python/bases.hpp
deleted file mode 100644
index 0bd7350e..00000000
--- a/include/boost/python/bases.hpp
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright David Abrahams 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BASES_DWA2002321_HPP
-# define BASES_DWA2002321_HPP
-
-# include
-# include
-# include
-# include
-# include
-# include
-# include
-
-namespace boost { namespace python {
-
-# define BOOST_PYTHON_BASE_PARAMS BOOST_PP_ENUM_PARAMS_Z(1, BOOST_PYTHON_MAX_BASES, Base)
-
- // A type list for specifying bases
- template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(BOOST_PYTHON_MAX_BASES, typename Base, mpl::void_) >
- struct bases : detail::type_list< BOOST_PYTHON_BASE_PARAMS >::type
- {};
-
- namespace detail
- {
-# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
- template struct specifies_bases
- : mpl::false_
- {
- };
-
- template < BOOST_PP_ENUM_PARAMS_Z(1, BOOST_PYTHON_MAX_BASES, class Base) >
- struct specifies_bases< bases< BOOST_PYTHON_BASE_PARAMS > >
- : mpl::true_
- {
- };
-# else
- template < BOOST_PP_ENUM_PARAMS(BOOST_PYTHON_MAX_BASES, class Base) >
- static char is_bases_helper(bases< BOOST_PYTHON_BASE_PARAMS > const&);
-
- static char (& is_bases_helper(...) )[256];
-
- template
- struct specifies_bases
- {
- private:
- static typename add_reference::type make();
- BOOST_STATIC_CONSTANT(bool, non_ref = !is_reference::value);
- public:
- BOOST_STATIC_CONSTANT(bool, value = non_ref & (sizeof(is_bases_helper(make())) == 1));
- typedef mpl::bool_ type;
- };
-# endif
- template >
- struct select_bases
- : mpl::if_<
- specifies_bases
- , T
- , Prev
- >
- {
- };
- }
-# undef BOOST_PYTHON_BASE_PARAMS
-}} // namespace boost::python
-
-#endif // BASES_DWA2002321_HPP
diff --git a/include/boost/python/borrowed.hpp b/include/boost/python/borrowed.hpp
deleted file mode 100755
index fd2716bf..00000000
--- a/include/boost/python/borrowed.hpp
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright David Abrahams 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef BORROWED_DWA2002614_HPP
-# define BORROWED_DWA2002614_HPP
-
-# include
-# include
-
-namespace boost { namespace python {
-
-template
-inline python::detail::borrowed* borrowed(T* p)
-{
- return (detail::borrowed*)p;
-}
-
-}} // namespace boost::python
-
-#endif // BORROWED_DWA2002614_HPP
diff --git a/include/boost/python/call.hpp b/include/boost/python/call.hpp
deleted file mode 100644
index 9a3d974b..00000000
--- a/include/boost/python/call.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-#if !defined(BOOST_PP_IS_ITERATING)
-
-// Copyright David Abrahams 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-# ifndef CALL_DWA2002411_HPP
-# define CALL_DWA2002411_HPP
-
-# include
-
-# include
-
-# include
-# include
-# include
-# include
-
-# include
-# include
-# include
-# include
-# include
-# include
-
-namespace boost { namespace python {
-
-# define BOOST_PYTHON_FAST_ARG_TO_PYTHON_GET(z, n, _) \
- , converter::arg_to_python(a##n).get()
-
-# define BOOST_PP_ITERATION_PARAMS_1 (3, (0, BOOST_PYTHON_MAX_ARITY, ))
-# include BOOST_PP_ITERATE()
-
-# undef BOOST_PYTHON_FAST_ARG_TO_PYTHON_GET
-
-}} // namespace boost::python
-
-# endif // CALL_DWA2002411_HPP
-
-#elif BOOST_PP_ITERATION_DEPTH() == 1
-# if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100) \
- && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))
-# line BOOST_PP_LINE(__LINE__, call.hpp)
-# endif
-
-# define N BOOST_PP_ITERATION()
-
-template <
- class R
- BOOST_PP_ENUM_TRAILING_PARAMS_Z(1, N, class A)
- >
-typename detail::returnable::type
-call(PyObject* callable
- BOOST_PP_COMMA_IF(N) BOOST_PP_ENUM_BINARY_PARAMS_Z(1, N, A, const& a)
- , boost::type* = 0
- )
-{
- PyObject* const result =
- PyEval_CallFunction(
- callable
- , const_cast("(" BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_FIXED, "O") ")")
- BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_FAST_ARG_TO_PYTHON_GET, nil)
- );
-
- // This conversion *must not* be done in the same expression as
- // the call, because, in the special case where the result is a
- // reference a Python object which was created by converting a C++
- // argument for passing to PyEval_CallFunction, its reference
- // count will be 2 until the end of the full expression containing
- // the conversion, and that interferes with dangling
- // pointer/reference detection.
- converter::return_from_python converter;
- return converter(result);
-}
-
-# undef N
-
-#endif
diff --git a/include/boost/python/call_method.hpp b/include/boost/python/call_method.hpp
deleted file mode 100644
index 0bca0610..00000000
--- a/include/boost/python/call_method.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-#if !defined(BOOST_PP_IS_ITERATING)
-
-// Copyright David Abrahams 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-# ifndef CALL_METHOD_DWA2002411_HPP
-# define CALL_METHOD_DWA2002411_HPP
-
-# include
-
-# include
-
-# include
-# include
-# include
-# include
-
-# include
-# include
-# include
-# include
-# include
-# include
-
-namespace boost { namespace python {
-
-# define BOOST_PYTHON_FAST_ARG_TO_PYTHON_GET(z, n, _) \
- , converter::arg_to_python(a##n).get()
-
-# define BOOST_PP_ITERATION_PARAMS_1 (3, (0, BOOST_PYTHON_MAX_ARITY, ))
-# include BOOST_PP_ITERATE()
-
-# undef BOOST_PYTHON_FAST_ARG_TO_PYTHON_GET
-
-}} // namespace boost::python
-
-# endif // CALL_METHOD_DWA2002411_HPP
-
-#elif BOOST_PP_ITERATION_DEPTH() == 1
-# if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100) \
- && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))
-# line BOOST_PP_LINE(__LINE__, call_method.hpp)
-# endif
-
-# define N BOOST_PP_ITERATION()
-
-template <
- class R
- BOOST_PP_ENUM_TRAILING_PARAMS_Z(1, N, class A)
- >
-typename detail::returnable::type
-call_method(PyObject* self, char const* name
- BOOST_PP_COMMA_IF(N) BOOST_PP_ENUM_BINARY_PARAMS_Z(1, N, A, const& a)
- , boost::type* = 0
- )
-{
- PyObject* const result =
- PyEval_CallMethod(
- self
- , const_cast(name)
- , const_cast("(" BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_FIXED, "O") ")")
- BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_FAST_ARG_TO_PYTHON_GET, nil)
- );
-
- // This conversion *must not* be done in the same expression as
- // the call, because, in the special case where the result is a
- // reference a Python object which was created by converting a C++
- // argument for passing to PyEval_CallFunction, its reference
- // count will be 2 until the end of the full expression containing
- // the conversion, and that interferes with dangling
- // pointer/reference detection.
- converter::return_from_python converter;
- return converter(result);
-}
-
-# undef N
-
-#endif // BOOST_PP_IS_ITERATING
diff --git a/include/boost/python/cast.hpp b/include/boost/python/cast.hpp
deleted file mode 100755
index 31c61dbf..00000000
--- a/include/boost/python/cast.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-// Copyright David Abrahams 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef CAST_DWA200269_HPP
-# define CAST_DWA200269_HPP
-
-# include
-
-# include
-# include
-# include
-# include
-# include
-
-namespace boost { namespace python {
-
-namespace detail
-{
- template inline Target* upcast_impl(Source*, Target*);
-
- template
- inline Target* upcast(Source* p, yes_convertible, no_convertible, Target*)
- {
- return p;
- }
-
- template
- inline Target* upcast(Source* p, no_convertible, no_convertible, Target*)
- {
- typedef typename base_type_traits::type base;
-
- return detail::upcast_impl((base*)p, (Target*)0);
- }
-
- template
- struct upcaster
- {
- template
- static inline T* execute(T* x, T*) { return x; }
- };
-
- template <>
- struct upcaster
- {
- template
- static inline Target* execute(Source* x, Target*)
- {
- return detail::upcast(
- x, detail::convertible::check(x)
- , detail::convertible::check((Target*)0)
- , (Target*)0);
- }
- };
-
-
- template
- inline Target* downcast(Source* p, yes_convertible)
- {
- return static_cast(p);
- }
-
- template
- inline Target* downcast(Source* p, no_convertible, boost::type* = 0)
- {
- typedef typename base_type_traits::type base;
- return (Target*)detail::downcast (p, convertible::check((base*)0));
- }
-
- template
- inline void assert_castable(boost::type* = 0)
- {
- typedef char must_be_a_complete_type[sizeof(T)];
- }
-
- template
- inline Target* upcast_impl(Source* x, Target*)
- {
- typedef typename add_cv::type src_t;
- typedef typename add_cv::type target_t;
- bool const same = is_same::value;
-
- return detail::upcaster::execute(x, (Target*)0);
- }
-}
-
-template
-inline Target* upcast(Source* x, Target* = 0)
-{
- detail::assert_castable();
- detail::assert_castable();
- return detail::upcast_impl(x, (Target*)0);
-
-}
-
-template
-inline Target* downcast(Source* x, Target* = 0)
-{
- detail::assert_castable();
- detail::assert_castable();
- return detail::downcast(x, detail::convertible::check((Target*)0));
-}
-
-}} // namespace boost::python
-
-#endif // CAST_DWA200269_HPP
diff --git a/include/boost/python/class.hpp b/include/boost/python/class.hpp
deleted file mode 100644
index 0ec86f43..00000000
--- a/include/boost/python/class.hpp
+++ /dev/null
@@ -1,654 +0,0 @@
-// Copyright David Abrahams 2002.
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-#ifndef CLASS_DWA200216_HPP
-# define CLASS_DWA200216_HPP
-
-# include
-
-# include
-
-# include
-# include