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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update classes to use ignition::utils::ImplPtr or ignition::utils::UniqueImplPtr #474

Merged
merged 14 commits into from
Feb 2, 2021

Conversation

azeey
Copy link
Collaborator

@azeey azeey commented Jan 22, 2021

This builds on top of the commits in #447 and updates almost all the classes in libsdformat to use either ignition::utils::ImplPtr or ignition::utils::UniqueImplPtr. While making this update, a number of member functions had to be updated for const correctness.

Needs: gazebosim/gz-math#187

@azeey azeey added the 🏢 edifice Ignition Edifice label Jan 22, 2021
@azeey azeey added this to the SDFormat 1.8 / libsdformat11 milestone Jan 22, 2021
@azeey azeey self-assigned this Jan 22, 2021
@azeey azeey added the needs upstream release Blocked by a release of an upstream library label Jan 22, 2021
@azeey azeey requested a review from brawner January 22, 2021 17:55
Copy link
Collaborator

@brawner brawner left a comment

Choose a reason for hiding this comment

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

Seems good to me. I don't see anything that sticks out, but it is a bit long to review so it's hard review every single addition.

Like, I'm not sure why sometimes you choose the unique variant or the other.

That is cool though that this addition caught the issue of const-correctness in some cases!

@azeey
Copy link
Collaborator Author

azeey commented Jan 22, 2021

Like, I'm not sure why sometimes you choose the unique variant or the other.

I used the unique variant for sdf::filesystem::DirIter and sdf::Root because those classes were explicitly non-copiable.

@chapulina chapulina removed the needs upstream release Blocked by a release of an upstream library label Jan 28, 2021
@chapulina
Copy link
Contributor

This is needed, otherwise the nightlies will be broken: gazebo-release/sdformat11-release#2

Copy link
Member

@scpeters scpeters left a comment

Choose a reason for hiding this comment

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

wow, great work! it took a while to review but only because there were so many files. it was easy enough to click through them quickly because it's mostly deleted code

I think the only thing it's missing is an entry in the Migration guide mentioning the new dependency on ignition-utils1

@scpeters
Copy link
Member

scpeters commented Feb 2, 2021

I think the only thing it's missing is an entry in the Migration guide mentioning the new dependency on ignition-utils1

41becc4

@scpeters scpeters merged commit 105bf22 into master Feb 2, 2021
@scpeters scpeters deleted the feature/impl_ptr branch February 2, 2021 07:39
@chapulina
Copy link
Contributor

I didn't expect the const correctness to be too intrusive, but it looks like it broke ign-gazebo. Something to keep in mind, we may want to revisit this before the stable release and add deprecated non-const overloads to tick-tock the change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏢 edifice Ignition Edifice
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants