@@ -32,34 +32,33 @@ namespace internal{
32
32
DimNameProxy (SEXP data, int dim): data_(data), dim_(dim) {}
33
33
DimNameProxy (DimNameProxy const & other):
34
34
data_ (other.data_), dim_(other.dim_) {}
35
-
35
+
36
36
inline DimNameProxy& assign (SEXP other) {
37
- if (Rf_length (other) == 0 )
38
- {
39
- Rf_setAttrib (data_, R_DimNamesSymbol, R_NilValue);
40
- } else {
41
- SEXP dims = Rf_getAttrib (data_, R_DimSymbol);
42
-
43
- if (INTEGER (dims)[dim_] != Rf_length (other)) {
44
- stop (" dimension extent is '%d' while length of names is '%d'" , INTEGER (dims)[dim_], Rf_length (other));
45
- }
37
+ if (Rf_length (other) == 0 )
38
+ {
39
+ Rf_setAttrib (data_, R_DimNamesSymbol, R_NilValue);
40
+ } else {
41
+ SEXP dims = Rf_getAttrib (data_, R_DimSymbol);
42
+ if (INTEGER (dims)[dim_] != Rf_length (other)) {
43
+ stop (" dimension extent is '%d' while length of names is '%d'" , INTEGER (dims)[dim_], Rf_length (other));
44
+ }
46
45
47
- SEXP dimnames = Rf_getAttrib (data_, R_DimNamesSymbol);
48
- if (Rf_isNull (dimnames)) {
49
- Shield<SEXP> new_dimnames (Rf_allocVector (VECSXP, Rf_length (dims)));
50
- SET_VECTOR_ELT (new_dimnames, dim_, other);
51
- Rf_setAttrib (data_, R_DimNamesSymbol, new_dimnames);
52
- } else {
53
- SET_VECTOR_ELT (dimnames, dim_, other);
54
- }
55
- }
46
+ SEXP dimnames = Rf_getAttrib (data_, R_DimNamesSymbol);
47
+ if (Rf_isNull (dimnames)) {
48
+ Shield<SEXP> new_dimnames (Rf_allocVector (VECSXP, Rf_length (dims)));
49
+ SET_VECTOR_ELT (new_dimnames, dim_, other);
50
+ Rf_setAttrib (data_, R_DimNamesSymbol, new_dimnames);
51
+ } else {
52
+ SET_VECTOR_ELT (dimnames, dim_, other);
53
+ }
54
+ }
56
55
return *this ;
57
- }
56
+ }
58
57
59
58
inline DimNameProxy& operator =(SEXP other) {
60
59
return assign (other);
61
60
}
62
-
61
+
63
62
inline DimNameProxy& operator =(const DimNameProxy& other) {
64
63
return assign (SEXP (other));
65
64
}
0 commit comments