Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework generic data access #272

Merged
merged 2 commits into from
Dec 28, 2023
Merged

Rework generic data access #272

merged 2 commits into from
Dec 28, 2023

Conversation

nahueespinosa
Copy link
Member

Proposed changes

This patch implements the following improvements:

  • TupleContainer correctly implements the range concept (it now has begin and end methods).
  • The container_traits definitions were removed.
  • Accesor functions beluga::state, beluga::weight and beluga::cluster are proper customization point objects.
  • The corresponding views are implemented with the above methods.
  • We now have unit tests for accessor functions.
  • Documentation was updated to reflect the changes.

All of this makes the library more extensible, requiring less boilerplate to use custom types and, more importantly, CPOs fit much better with the range library design.

Type of change

  • 馃悰 Bugfix (change which fixes an issue)
  • 馃殌 Feature (change which adds functionality)
  • 馃摎 Documentation (change which fixes or extends documentation)

Checklist

  • Lint and unit tests (if any) pass locally with my changes
  • I have added tests that prove my fix is effective or that my feature works
  • I have added necessary documentation (if appropriate)
  • All commits have been signed for DCO

@nahueespinosa nahueespinosa self-assigned this Dec 22, 2023
@nahueespinosa nahueespinosa added enhancement New feature or request cpp Related to C++ code labels Dec 22, 2023
@nahueespinosa nahueespinosa force-pushed the nahuel/cpo branch 5 times, most recently from d03eb7b to 764f9bc Compare December 24, 2023 20:24
Base automatically changed from nahuel/planar-laser-scan to main December 24, 2023 21:07
This patch implements the following improvements:

- TupleContainer correctly implements the range concept (it now has
  begin and end methods).
- The `container_traits` definitions were removed.
- Accesor functions `beluga::state`, `beluga::weight` and
  `beluga::cluster` are proper customization point objects.
- The corresponding views are implemented with the above methods.
- We now have unit tests for accessor functions.
- Documentation was updated to reflect the changes.

All of this makes the library more extensible, requiring less
boilerplate to use custom types and, more importantly, CPOs fit much
better with the range library design.

Signed-off-by: Nahuel Espinosa <nespinosa@ekumenlabs.com>
Signed-off-by: Nahuel Espinosa <nespinosa@ekumenlabs.com>
Copy link
Collaborator

@glpuga glpuga left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@nahueespinosa nahueespinosa merged commit fc257de into main Dec 28, 2023
7 of 8 checks passed
@nahueespinosa nahueespinosa deleted the nahuel/cpo branch December 28, 2023 16:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cpp Related to C++ code enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants