GithubHelp home page GithubHelp logo

Comments (10)

bluss avatar bluss commented on September 26, 2024 1

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.

bluss avatar bluss commented on September 26, 2024 1

Fixed in #57

from indexmap.

clarfonthey avatar clarfonthey commented on September 26, 2024

You could also use sort_by_key(|elem| elem.0) for the map and just sort for the orderset.

from indexmap.

vitiral avatar vitiral commented on September 26, 2024

@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.

clarfonthey avatar clarfonthey commented on September 26, 2024

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.

vitiral avatar vitiral commented on September 26, 2024

Oh, I didn't realize that sort_by_key was a thing! Thanks!

from indexmap.

bluss avatar bluss commented on September 26, 2024

I agree with this feature request. No comment on whether it is possible easily

from indexmap.

bluss avatar bluss commented on September 26, 2024

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.

vitiral avatar vitiral commented on September 26, 2024

sort_by would be a good first start. Additional methods (like sort_keys) can be added later at other's requests.

from indexmap.

bluss avatar bluss commented on September 26, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.