FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
python/test/nested.cpp at develop · ssam18/python · GitHub
ssam18
/
python
Public
forked from
boostorg/python
Notifications
You must be signed in to change notification settings
Fork
0
Star
1
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
python
/
test
/
nested.cpp
Copy path
More file actions
More file actions
Latest commit
History
History
History
68 lines (52 loc) · 1.41 KB
Breadcrumbs
python
/
test
/
nested.cpp
Copy path
File metadata and controls
68 lines (52 loc) · 1.41 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
//
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)
#
include
<
boost/python/module.hpp
>
#
include
<
boost/python/class.hpp
>
#
include
<
boost/python/def.hpp
>
#
include
<
boost/python/enum.hpp
>
#
include
<
boost/python/operators.hpp
>
#
include
<
boost/python/scope.hpp
>
#
include
"
test_class.hpp
"
#
if
__GNUC__ != 2
#
include
<
ostream
>
#
else
#
include
<
ostream.h
>
#
endif
typedef
test_class<> X;
typedef
test_class<
1
> Y;
enum
color { red =
0
, blue =
1
, green =
2
};
std::ostream&
operator
<<(std::ostream& s, X
const
& x)
{
return
s << x.
value
();
}
std::ostream&
operator
<<(std::ostream& s, Y
const
& x)
{
return
s << x.
value
();
}
void
test_function
(
const
X& x,
const
Y& y) {}
BOOST_PYTHON_MODULE
(nested_ext)
{
using
namespace
boost
::python
;
{
//
Establish X as the current scope.
scope x_class
= class_<X>(
"
X
"
, init<
int
>())
.
def
(
str
(self))
;
//
Y will now be defined in the current scope
class_<Y>(
"
Y
"
, init<
int
>())
.
def
(
str
(self))
;
//
so will the enum `color`
enum_<color>(
"
color
"
)
.
value
(
"
red
"
, red)
.
value
(
"
green
"
, green)
.
value
(
"
blue
"
, blue)
;
}
//
The generated docstring will use the fully-qualified name of Y
def
(
"
test_function
"
, &test_function);
}
#
include
"
module_tail.cpp
"
Back
|
FazBrowse Home
|
New Git URL