- User Since
- Jan 28 2019, 10:13 PM (12 w, 1 d)
Fix spacing / formatting.
Fix spacing / formatting.
Friendly ping. Anything else need to be done on this?
I updated this patch to use a more generalized perfect forwarding call struct. I modeled it after not_fn and got a lot of help from @EricWF. I also updated not_fn to use this more generalized struct.
Thu, Apr 18
Friendly ping. I am waiting on this patch to get done before I submit a patch for precalculated hashes (which is mostly done).
Wed, Apr 17
Mon, Apr 15
@cpplearner that link is very helpful. In the first answer, there is a suggested function which might work well (though I haven't had time to test it yet). It is similar to the suggested implementation. There is one case which this function does not work for, but we could add a case for that. In pseudocode:
if (t < 0.5) a + (b - a) * t else b - (b - a) * (1 - t)
Additionally, the link has a lot of good exceptions which we could add to our tests. How does this compare to what you have @mclow.lists? I am going to add some tests to this patch in the meantime, mind sharing what you have so far?
Sun, Apr 14
Fri, Apr 12
I got confused about what type o was in the paper. This patch should conform to the paper properly. I will update the tests in the correct places but wanted to get this part out for review first.
Thu, Apr 11
Wed, Apr 10
Thanks @ldionne. Let me know if you want me to help at all.
After looking at not_fn, I think I can simplify this a lot.
Tue, Apr 9
Your right, PR41360 is only a wording issue. I also agree __flexible_invokable is bad, but I don't see another way to check invokability while allowing incomplete types (which I think is necessary for containers).
Sounds good. I will work on tests for these on a plane ride I have Sunday.
Fix return in tests and update www.
Fix synopsis and update www.
Use it for functions that you don't want to be part of the ABI. In this case, every default constructor that simply forwards to another constructor should be marked with _LIBCPP_INLINE_VISIBILITY.
Small fixes after running tests
Mon, Apr 8
Sun, Apr 7
Fix empty for loop braces
Sat, Apr 6
Fri, Apr 5
Thanks @jloser. I always forget to do that :P
I was talking about P0920R2 (nothing really to do with contains). There is another patch I am waiting to be accepted before I put the finishing touches on it. I thought you mentioned it in the details, so I wanted to make sure we didn't make duplicated patches again :)
Make shift functions constexpr.
Thoughts on manually (using for loops) decrementing / incrementing iterators vs std::next/std::advance?
Thu, Apr 4
Only enable contains after C++17.
Use size() member in std::list.
Improve performance by using simple counters.
@jloser Sorry about the duplication of code here. As for custom hash support, I already have a partial implementation of that just FYI. If you already have written one though, just let me know and I will abandon mine.
Tue, Apr 2
Sorry for the delay, forgot about this one.
Mon, Apr 1
I see, thanks (didn't find that file for some reason). Let me know if you want any help implementing it into libc++ :)
@ldionne Okay, great. I assume you mean this PSTL? Is that ever merged into libc++? Also, it doesn't look like PSTL contains any of the execution policies (or is_execution_policy). Should I make a patch to that repository, or would you rather implement those yourself?
Sun, Mar 31
I have re-implemented the shift algorithm. Now it uses a much more similar method to the example given in the paper.
Sat, Mar 30
Fri, Mar 29
Wed, Mar 27
I see. Thanks for explaining!
I mean would it be possible to call setlocale directly so it wouldn't have to deal with __libcpp_locale_guard. Also, do you know if that is equally as fast as calling __stdio_common_vsprintf?
Thanks for explaining. Would it work to call setlocale() then add just use vsnprintf?
What does __stdio_common_vsprintf give you that vsnprintf doesn't?
Will D59572 fix __libcpp_locale_guard ?
@thomasanderson vsnprintf uses __stdio_common_vsprintf on MSVC. Is there a performance hit when only vsnprintf is used?
Mar 15 2019
Fix license comment.
- add // C++20 to all synopsis comments
- update test with license and header comments
- update www/status
Mar 14 2019
- main args
- synopsis comment
- // C++20
- remove __hash (from other patch)
Mar 13 2019
Mar 12 2019
@mclow.lists Yes, I need to update the tests. I also want to try to figure out why test_neg_one is failing. I will look into that today.
Mar 7 2019
Move comment to correct file.
Add UNSUPPORTED comment.
Mar 6 2019
Update tests (tentatively) & fix stylistic error.
Seems like both this patch and D59063 are trying to solve the same problems.
LGTM other than giving them real names as @mclow.lists suggested. Another option (not sure if it's better or worse) might be using a namespace for __legacy_memory_order so there wouldn't be duplicate enums. Something like this:
@Quuxplusone if this fixes 2843 can you update it in www/cxx2a_status.html?
Add fail test, update pass test to work with any version, use __impl_....
I don't feel strongly one way or another. Putting it in the tests is probably fine, but we should make sure they pass with both fshort-enums and without. If we decide on that, I am happy to implement it in another test.
Seems good to me. I remember @EricWF saying
And we should static assert the underlying type of this matches the type we declare in C++17.
I would like to see an explicit underlying type declared here.
though. He might have a point.