[FEA] `aggregation` should be more opaque
- Dominant language
- C++
- Stars
- 9.8k
- Forks
- 1.1k
- Avg merge
- 3d 6m
- Merged PRs (30d)
- 278
Description
**Is your feature request related to a problem? Please describe.**
The `aggregation` class is used for specifying details of what kind of aggregation a user wants from APIs like `groupby`. User's should not need to interact with this class other than using the `make_*_aggregation` APIs to get an `aggregation` object.
Originally this type was opaque, but if I remember correctly, that broke Cython. So we had to make it non-opaque. However, this has lead to issues of users using methods of `aggregation` that they should not.
**Describe the solution you'd like**
`aggregation` should be made more opaque. The PIMPL pattern is probably the right call here such that the type's definition is still visible to appease Cython, but it's members aren't available.
Contributor guide
Assessment
This issue has not been assessed yet.