Comments (10)
I have taken the liberty to edit the original post to better reflect what I think we are seeking. It's your post, so you are free to edit it too, it's a collaboration..
from indexmap.
Fixed in #57
from indexmap.
You could also use sort_by_key(|elem| elem.0)
for the map
and just sort
for the orderset
.
from indexmap.
@clarcharr do you mean it could be named that? I suggested sort
for OrderSet in the title of the issue. I'm not sure what sort_by_key
means -- you could implement sort_by
in addition to sort_keys
-- both could be useful!
from indexmap.
Sorry; to clarify, you could replace the code in the post with:
pub fn sort_ordermap<K:Ord+Hash, V>(m: &mut OrderMap<K, V>) {
let mut ordered: Vec<_> = m.drain(..).collect();
ordered.sort_by_key(|x| x.0);
m.extend(ordered);
}
pub fn sort_orderset<K:Ord+Hash>(m: &mut OrderSet<K>) {
let mut ordered: Vec<_> = m.drain(..).collect();
ordered.sort();
m.extend(ordered);
}
from indexmap.
Oh, I didn't realize that sort_by_key
was a thing! Thanks!
from indexmap.
I agree with this feature request. No comment on whether it is possible easily
from indexmap.
A side note about sort_by_key, is that the key version sometimes will need to clone the keys when the _by version does not.
from indexmap.
sort_by
would be a good first start. Additional methods (like sort_keys
) can be added later at other's requests.
from indexmap.
Implemented as an experiment in #57, (building upon the retain in place PR, so that one needs to merge first).
Yes, instead of Vec's .sort()
ordermap should probably have .sort_keys()
, that sounds nice
from indexmap.
Related Issues (20)
- `binary_search` and `partition_point` on `Slice` HOT 4
- Feature request: Add Index<usize> to Keys HOT 1
- Implement (behind a feature branch) the Merge Crate HOT 4
- IndexMap doesn't implement `Hash` HOT 1
- Compilation bug HOT 1
- Organization / repo home HOT 12
- Doc link on crates.io is dead. HOT 3
- Kaspersky detected the indexmap build-script exe as malware (false positive) HOT 1
- MutableKeys for IndexSet HOT 2
- implement get_many_mut HOT 1
- serde_json::to_string serializes (key, value) HOT 3
- Request: add example to README
- Thanks :)
- Insert into Indexmap randomly fails HOT 9
- Expanding mut key API HOT 2
- Feature request: join two or more IndexMap HOT 2
- Request: Random access of key/value pairs HOT 2
- range end index 2 out of range for slice of length 1 HOT 20
- Feature request: `Into<std::collections::HashMap>` HOT 1
- `Clone` for into-iterators HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from indexmap.