@@ -21,7 +21,7 @@ def __init__(self, *args, **kwargs):
21
21
- default
22
22
- const
23
23
- ref
24
- - move
24
+ # - move
25
25
- pointer
26
26
- noConvert
27
27
- returnPolicy
@@ -33,11 +33,11 @@ def __init__(self, *args, **kwargs):
33
33
self .name = kwargs .get ("name" , None )
34
34
self .type = kwargs .get ("type" , None )
35
35
self .default = kwargs .get ("default" , None )
36
- self .const = kwargs .get ("const" , True )
37
- self .ref = kwargs .get ("ref" , True )
38
- self .move = kwargs .get ("move" , False )
39
- self .pointer = kwargs .get ("pointer" , False )
40
- self .noConvert = kwargs .get ("noConvert" , False )
36
+ self .const = kwargs .get ("const" , None )
37
+ self .ref = kwargs .get ("ref" , None )
38
+ # self.move = kwargs.get("move", None )
39
+ self .pointer = kwargs .get ("pointer" , None )
40
+ self .noConvert = kwargs .get ("noConvert" , None )
41
41
42
42
for i in range (len (args )):
43
43
if i == 0 and self .name is None :
@@ -50,11 +50,11 @@ def __init__(self, *args, **kwargs):
50
50
self .const = args [i ]
51
51
elif i == 4 and self .ref is None :
52
52
self .ref = args [i ]
53
- elif i == 5 and self .move is None :
54
- self .move = args [i ]
55
- elif i == 6 and self .pointer is None :
53
+ # elif i == 5 and self.move is None:
54
+ # self.move = args[i]
55
+ elif i == 5 and self .pointer is None :
56
56
self .pointer = args [i ]
57
- elif i == 7 and self .noConvert is None :
57
+ elif i == 6 and self .noConvert is None :
58
58
self .noConvert = args [i ]
59
59
else :
60
60
raise ValueError ("Too many arguments" )
@@ -65,8 +65,23 @@ def __init__(self, *args, **kwargs):
65
65
if self .type is None :
66
66
raise ValueError ("Argument must have a type" )
67
67
68
- if self .move and self .ref :
69
- raise ValueError ("Argument cannot be both a move and a reference" )
68
+ if self .const is None :
69
+ self .const = False
70
+
71
+ if self .ref is None :
72
+ self .ref = False
73
+
74
+ # if self.move is None:
75
+ # self.move = False
76
+
77
+ if self .pointer is None :
78
+ self .pointer = False
79
+
80
+ if self .noConvert is None :
81
+ self .noConvert = False
82
+
83
+ # if self.move and self.ref:
84
+ # raise ValueError("Argument cannot be both a move and a reference")
70
85
71
86
self .isArgs = self .name == "*args"
72
87
self .isKwargs = self .name == "**kwargs"
@@ -78,7 +93,8 @@ def param(self):
78
93
return f"py::kwargs kwargs"
79
94
else :
80
95
isPrimitiveType = isPrimitive (self .type )
81
- return f"{ 'const ' if self .const and not isPrimitiveType else '' } { self .type } { '&' if self .ref and not isPrimitiveType else '' } { '&&' if self .move else '' } { '*' if self .pointer else '' } { self .name } "
96
+ # return f"{'const ' if self.const and not isPrimitiveType and not self.move else ''}{self.type} {'&' if self.ref and not isPrimitiveType else ''}{'&&' if self.move else ''}{'*' if self.pointer else ''}{self.name}"
97
+ return f"{ 'const ' if self .const and not isPrimitiveType else '' } { self .type } { '&' if self .ref and not isPrimitiveType else '' } { '*' if self .pointer else '' } { self .name } "
82
98
83
99
def declaration (self ):
84
100
if self .default is None :
0 commit comments