Skip to content

Commit

Permalink
groot/rdict: use []T for disk storage of std::set<T>
Browse files Browse the repository at this point in the history
  • Loading branch information
sbinet committed Feb 16, 2022
1 parent 34d6347 commit 22da515
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
4 changes: 2 additions & 2 deletions groot/rdict/type.go
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ func TypeFromSE(ctx rbytes.StreamerInfoContext, se rbytes.StreamerElement) (refl
"could not find key type %q for std::{,multi,unordered_}set %q: %w", kname, typename, err,
)
}
return reflect.MapOf(key, reflect.TypeOf(struct{}{})), nil
return reflect.SliceOf(key), nil

case rmeta.STLmap, rmeta.STLunorderedmap, rmeta.STLmultimap, rmeta.STLunorderedmultimap:
var (
Expand Down Expand Up @@ -454,7 +454,7 @@ func typeFromTypeName(ctx rbytes.StreamerInfoContext, typename string, typevers
if err != nil {
return nil, err
}
return reflect.MapOf(kt, reflect.TypeOf(struct{}{})), nil
return reflect.SliceOf(kt), nil

case hasStdPrefix(typename, "map", "multimap", "unordered_map", "unordered_multimap"):
enames := rmeta.CxxTemplateFrom(typename).Args
Expand Down
8 changes: 4 additions & 4 deletions groot/rdict/type_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,7 @@ func TestTypeFromSI(t *testing.T) {
EName: "set<int>",
}.New(), rmeta.STLset, rmeta.Object),
}),
want: reflect.TypeOf((*map[int32]struct{})(nil)).Elem(),
want: reflect.TypeOf((*[]int32)(nil)).Elem(),
},
{
name: "multiset<int>",
Expand All @@ -262,7 +262,7 @@ func TestTypeFromSI(t *testing.T) {
EName: "set<int>",
}.New(), rmeta.STLmultiset, rmeta.Object),
}),
want: reflect.TypeOf((*map[int32]struct{})(nil)).Elem(),
want: reflect.TypeOf((*[]int32)(nil)).Elem(),
},
{
name: "unordered_set<int>",
Expand All @@ -274,7 +274,7 @@ func TestTypeFromSI(t *testing.T) {
EName: "unordered_set<int>",
}.New(), rmeta.STLunorderedset, rmeta.Object),
}),
want: reflect.TypeOf((*map[int32]struct{})(nil)).Elem(),
want: reflect.TypeOf((*[]int32)(nil)).Elem(),
},
{
name: "unordered_multiset<int>",
Expand All @@ -286,7 +286,7 @@ func TestTypeFromSI(t *testing.T) {
EName: "unordered_multiset<int>",
}.New(), rmeta.STLunorderedmultiset, rmeta.Object),
}),
want: reflect.TypeOf((*map[int32]struct{})(nil)).Elem(),
want: reflect.TypeOf((*[]int32)(nil)).Elem(),
},
{
name: "map<int,float>",
Expand Down

0 comments on commit 22da515

Please sign in to comment.