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

P0447 Introduction of std::hive to the standard library #328

Open
wg21bot opened this issue Jan 31, 2019 · 13 comments
Open

P0447 Introduction of std::hive to the standard library #328

wg21bot opened this issue Jan 31, 2019 · 13 comments

Comments

@wg21bot
Copy link
Collaborator

@wg21bot wg21bot commented Jan 31, 2019

P0447R4 Introduction of std::colony to the standard library (Patrice Roy, Guy Davidson, Matthew Bentley)

@wg21bot wg21bot added this to the 2019-07 milestone Jan 31, 2019
@wg21bot wg21bot added the LEWGI label Jan 31, 2019
@jensmaurer jensmaurer removed this from the 2019-07 milestone Jan 31, 2019
@jensmaurer jensmaurer added this to the 2019-02 milestone Jan 31, 2019
@jensmaurer jensmaurer added this to Monday in LEWG-I in Kona 2019 Feb 13, 2019
@jensmaurer jensmaurer removed this from the 2019-02 milestone Mar 22, 2019
@brycelelbach
Copy link
Collaborator

@brycelelbach brycelelbach commented Jul 12, 2019

Kona 2019-02 LEWGI Minutes

P0447R6 std::colony

Champion: Jonathan Wakely and Nico Josuttis

Minute Taker: Vincent Reverdy

Start Overview: 15:22

Start Discussion: 15:59

We need a list of the things in the wild like this (prior art).

Eric F will write an implementation before Cologne.

Jonathan Wakely is thinking about putting it into GCC as an extension.

Please come back with something more wording like - we need a class synopsis.

Start Polling: 16:09

POLL: We should promise more committee time to pursuing std::colony, knowing that our time is scarce and this will leave less time for other work.

Strongly For Weakly For Neutral Weakly Against Strongly Against
6 3 0 2 0

Attendance: 16

End: 4:15

@brycelelbach
Copy link
Collaborator

@brycelelbach brycelelbach commented Jul 16, 2019

Author has deferred discussion until Belfast; he hopes to have more usage experience by then.

@wg21bot
Copy link
Collaborator Author

@wg21bot wg21bot commented Oct 15, 2019

P0447R8 Introduction of std::colony to the standard library (Matt Bentley)

@wg21bot wg21bot added this to the 2019-11 milestone Oct 15, 2019
@wg21bot
Copy link
Collaborator Author

@wg21bot wg21bot commented Oct 15, 2019

P0447R9 Introduction of std::colony to the standard library (Matt Bentley)

@wg21bot
Copy link
Collaborator Author

@wg21bot wg21bot commented Jan 18, 2020

P0447R10 Introduction of std::colony to the standard library (Matt Bentley)

@wg21bot
Copy link
Collaborator Author

@wg21bot wg21bot commented Nov 23, 2020

P0447R11 Introduction of std::colony to the standard library (Matt Bentley)

@wg21bot wg21bot removed this from the 2020-02 milestone Nov 23, 2020
@wg21bot wg21bot added this to the 2020-telecon milestone Nov 23, 2020
@jensmaurer jensmaurer removed this from the 2020-telecon milestone Dec 28, 2020
@jensmaurer jensmaurer added this to the 2021-telecon milestone Dec 28, 2020
@wg21bot
Copy link
Collaborator Author

@wg21bot wg21bot commented Jan 22, 2021

P0447R12 Introduction of std::colony to the standard library (Matt Bentley)

@inbal2l
Copy link
Collaborator

@inbal2l inbal2l commented Feb 16, 2021

Reviewd on LEWG mailing list on 2021-02-01.
R13 is under work.

Attaching a summary of the responses (some may already be fixed on the WIP version):

  1. Recommendation to be careful not to over-specify the class, and leave room for future changes in implementation.
    Author: This was considered, see also: "Is there active research in this problem space? Is it likely to change in future?" appendices.
  2. There was a discussion regarding having colony specified at plf:: instead of std:: to allow performance improvements which require ABI-breakage, the other side is that colony is usable by a large audience.
  3. Proposal suggests to reserve std::limits, consider reserving a smaller scope (possibly as a member in colony) or using colony_limits.
    Author: This was discussed broadly on SG14, making it a member creates ugly syntax, colony_limits is my prefered option.
  4. Consider adding constexpr implementation.
  5. Elaborate on the purpose of parameter "Skipfield".
    Author: Ment to allow changes for this template instance which prioritize lowered memory usage over performance. Use of this type by an implementation is not guaranteed, may change this to prioritize_performance / prioritize_memory_use enum.
  6. Consider making (==, !=, <<, >>) hidden friends (need to be in the class synopsis)  / member functions (considering C++20 comparison rewrite rules) .
    (reference: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1601r0.pdf)
    Note by Jonathan Wakely: We have a proposal to support comparisons between containers with different types. I will update it for <=> comparisons. For now assume you don't need to overload for different priorities.
  7. Consider specifying op== in terms of the std::equal
    Author: None of the other containers appear to do this, but I'm happy to do so if there's a consensus.
  8. A broad discussion regarding: advance/next/prev, result is they are specified as hidden friends of the iterator classes.
  9. Consider removing member sort()
    Author: Explanation under Design Decisions->Additional notes on specific functions->void sort(). To date there's been no interest in standardising the sort algorithm which colony reference implementation uses as a non-member.
  10. Consider allowing different iter types in range insert and to constrain those types with an appropriate requires clause (to allow sentinel)
    Author: I think it's probably reasonable to expect that a new container should match functionality with the old ones in order to be a drop-in replacement in older code.
  11. Remove duplication of paragraph which is included in memory()
  12. Bike-shedding is welcome for reshape()

Alternatives to the name colony were also brought up, a different thread was created to discuss this.

@wg21bot
Copy link
Collaborator Author

@wg21bot wg21bot commented Apr 25, 2021

P0447R13 Introduction of std::colony to the standard library (Matt Bentley)

@wg21bot
Copy link
Collaborator Author

@wg21bot wg21bot commented May 21, 2021

P0447R14 Introduction of std::colony to the standard library (Matt Bentley)

@wg21bot
Copy link
Collaborator Author

@wg21bot wg21bot commented Jun 26, 2021

P0447R15 Introduction of std::hive to the standard library (Matt Bentley)

@wg21bot
Copy link
Collaborator Author

@wg21bot wg21bot commented Sep 20, 2021

P0447R16 Introduction of std::hive to the standard library (Matt Bentley)

@brycelelbach brycelelbach changed the title P0447 Introduction of std::colony to the standard library P0447 Introduction of std::hive to the standard library Sep 24, 2021
@wg21bot
Copy link
Collaborator Author

@wg21bot wg21bot commented Nov 26, 2021

P0447R17 Introduction of std::hive to the standard library (Matt Bentley)

@jensmaurer jensmaurer removed this from the 2021-telecon milestone Jan 1, 2022
@jensmaurer jensmaurer added this to the 2022-telecon milestone Jan 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants