@@ -34,24 +34,23 @@ class function {
34
34
SEXP data_;
35
35
36
36
template <typename ... Args>
37
- SEXP construct_call (SEXP val, const named_arg& arg, Args&&... args) const {
37
+ void construct_call (SEXP val, const named_arg& arg, Args&&... args) const {
38
38
SETCAR (val, arg.value ());
39
39
SET_TAG (val, safe[Rf_install](arg.name ()));
40
40
val = CDR (val);
41
- return construct_call (val, std::forward<Args>(args)...);
41
+ construct_call (val, std::forward<Args>(args)...);
42
42
}
43
43
44
44
// Construct the call recursively, each iteration adds an Arg to the pairlist.
45
- // We need
46
45
template <typename T, typename ... Args>
47
- SEXP construct_call (SEXP val, const T& arg, Args&&... args) const {
46
+ void construct_call (SEXP val, const T& arg, Args&&... args) const {
48
47
SETCAR (val, as_sexp (arg));
49
48
val = CDR (val);
50
- return construct_call (val, std::forward<Args>(args)...);
49
+ construct_call (val, std::forward<Args>(args)...);
51
50
}
52
51
53
52
// Base case, just return
54
- SEXP construct_call (SEXP val) const { return val; }
53
+ void construct_call (SEXP val) const {}
55
54
};
56
55
57
56
class package {
0 commit comments