FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
python/test/map_indexing_suite.cpp at python · boostorg/python · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
boostorg
/
python
Public
Notifications
You must be signed in to change notification settings
Fork
223
Star
537
Code
Issues
173
Pull requests
34
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
python
/
test
/
map_indexing_suite.cpp
Copy path
More file actions
More file actions
Latest commit
History
History
History
68 lines (54 loc) · 1.86 KB
Breadcrumbs
python
/
test
/
map_indexing_suite.cpp
Copy path
File metadata and controls
68 lines (54 loc) · 1.86 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
66
67
68
//
Copyright Joel de Guzman 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)
#
include
<
boost/python/suite/indexing/map_indexing_suite.hpp
>
#
include
<
boost/python/module.hpp
>
#
include
<
boost/python/def.hpp
>
#
include
<
boost/python/implicit.hpp
>
using
namespace
boost
::python
;
struct
X
//
a container element
{
std::string s;
X
():s(
"
default
"
) {}
X
(std::string s):s(s) {}
std::string
repr
()
const
{
return
s; }
void
reset
() { s =
"
reset
"
; }
void
foo
() { s =
"
foo
"
; }
bool
operator
==(X
const
& x)
const
{
return
s == x.
s
; }
bool
operator
!=(X
const
& x)
const
{
return
s != x.
s
; }
};
std::string
x_value
(X
const
& x)
{
return
"
gotya
"
+ x.
s
;
}
BOOST_PYTHON_MODULE
(map_indexing_suite_ext)
{
class_<X>(
"
X
"
)
.
def
(init<>())
.
def
(init<X>())
.
def
(init<std::string>())
.
def
(
"
__repr__
"
, &X::repr)
.
def
(
"
reset
"
, &X::reset)
.
def
(
"
foo
"
, &X::foo)
;
def
(
"
x_value
"
, x_value);
implicitly_convertible<std::string, X>();
class_<std::map<std::string, X> >(
"
XMap
"
)
.
def
(map_indexing_suite<std::map<std::string, X> >())
;
void
int_map_indexing_suite
();
//
moved to int_map_indexing_suite.cpp to
int_map_indexing_suite
();
//
avoid MSVC 6/7 internal structure overflow
#
if
0
// Compile check only...
class_<std::map<int, int> >("IntMap")
.def(map_indexing_suite<std::map<int, int> >())
;
#
endif
//
Some more..
class_<std::map<std::string, boost::shared_ptr<X> > >(
"
TestMap
"
)
.
def
(map_indexing_suite<std::map<std::string, boost::shared_ptr<X> >,
true
>())
;
void
a_map_indexing_suite
();
//
moved to a_map_indexing_suite.cpp to
a_map_indexing_suite
();
//
avoid MSVC 6/7 internal structure overflow
}
#
include
"
module_tail.cpp
"
Back
|
FazBrowse Home
|
New Git URL