Main Page
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
l
m
n
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
i
m
n
p
r
s
t
u
w
Variables
_
a
b
c
d
e
f
h
i
l
m
n
p
q
r
s
t
u
v
w
x
y
z
Typedefs
Enumerations
Classes
Class List
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
~
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
~
Variables
b
c
d
e
f
i
j
l
m
n
o
p
s
t
v
w
x
y
Typedefs
_
a
b
c
d
e
f
i
k
l
m
n
p
q
r
s
t
v
Enumerator
Related Functions
Files
File List
File Members
All
_
a
b
c
d
e
f
g
i
l
m
n
p
r
s
t
v
z
Functions
_
a
b
c
d
e
f
g
i
l
m
n
p
r
s
t
v
z
Macros
_
b
e
n
p
include
eigenpy
copyable.hpp
Go to the documentation of this file.
1
//
2
// Copyright (c) 2016-2023 CNRS INRIA
3
// Copyright (c) 2023 Heriot-Watt University
4
//
5
6
#ifndef __eigenpy_utils_copyable_hpp__
7
#define __eigenpy_utils_copyable_hpp__
8
9
#include <boost/python.hpp>
10
11
namespace
eigenpy
{
12
17
template
<
class
C>
18
struct
CopyableVisitor
:
public
bp::def_visitor<CopyableVisitor<C> > {
19
template
<
class
PyClass>
20
void
visit
(PyClass& cl)
const
{
21
cl.def(
"copy"
, &
copy
, bp::arg(
"self"
),
"Returns a copy of *this."
);
22
cl.def(
"__copy__"
, &
copy
, bp::arg(
"self"
),
"Returns a copy of *this."
);
23
cl.def(
"__deepcopy__"
, &
deepcopy
, bp::args(
"self"
,
"memo"
),
24
"Returns a deep copy of *this."
);
25
}
26
27
private
:
28
static
C
copy
(
const
C&
self
) {
return
C(
self
); }
29
static
C
deepcopy
(
const
C&
self
, bp::dict) {
return
C(
self
); }
30
};
31
}
// namespace eigenpy
32
33
#endif // ifndef __eigenpy_utils_copyable_hpp__
eigenpy::CopyableVisitor
Add the Python method copy to allow a copy of this by calling the copy constructor.
Definition:
copyable.hpp:18
eigenpy::CopyableVisitor::deepcopy
static C deepcopy(const C &self, bp::dict)
Definition:
copyable.hpp:29
eigenpy::CopyableVisitor::copy
static C copy(const C &self)
Definition:
copyable.hpp:28
eigenpy::CopyableVisitor::visit
void visit(PyClass &cl) const
Definition:
copyable.hpp:20
eigenpy
Definition:
alignment.hpp:14
eigenpy
Author(s): Justin Carpentier, Nicolas Mansard
autogenerated on Fri Feb 14 2025 03:16:25