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

Create efficient, order-preserving container for object tags #1820

Merged
merged 5 commits into from
Dec 26, 2020
Merged

Conversation

dg0yt
Copy link
Member

@dg0yt dg0yt commented Dec 24, 2020

No description provided.

@dg0yt
Copy link
Member Author

dg0yt commented Dec 24, 2020

Task: GH-1290 (revision-control friendly file format)

@dg0yt dg0yt force-pushed the tags-order branch 3 times, most recently from b98a434 to 1c366f7 Compare December 25, 2020 17:03
...but no behavioural change at this point:
This is a subclass of the type formerly aliased as Object::Tags.
For object tags, we want to preserve the insertion order in order to
maintain a VCS-friendly file format. It is reasonable to assume that
the number of tags per object is low. (In fact, it is zero for most
objects unless imported from sources such as OSM.) This commit
implements an interface similar to std::map (for insertion and lookup)
for pairs of QString (key, value) on top of std::vector (for order and
locality), and it adjusts all spots which access object tags.
Task: GH-1290 (VCS-friendly file format)
@dg0yt dg0yt merged commit db05e82 into master Dec 26, 2020
@dg0yt dg0yt deleted the tags-order branch December 26, 2020 10:04
@dg0yt dg0yt mentioned this pull request Mar 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant