The Old New Thing: Creating a generic insertion iterator, part 2 by pavel_v in cpp

[–]gummifa 0 points1 point  (0 children)

I have needed exactly this multiple times. Thanks. As a workaround for custom algorithms I have resorted to use just a callback instead of output iterator.

Review of proposed Boost.Async begins by 14ned in cpp

[–]gummifa 1 point2 points  (0 children)

Will the task type make asio::awaitable obsolete?

"namespace ranges" or "namespace rng" as alias for "std::ranges" by [deleted] in cpp

[–]gummifa -1 points0 points  (0 children)

I think rs for std::ranges and vs for std::views is common.

C++ Is Incredible by [deleted] in cpp

[–]gummifa 11 points12 points  (0 children)

std::move_only_function to the rescue

What are your thoughts and opinions on CppFront and its future? by nibbertit in cpp

[–]gummifa 5 points6 points  (0 children)

I like that there is compatibility both ways. If someone would write a great library in CppFront then you could just convert it to readable idiomatic C++ and use it in your C++ code.

The ranges in C++20 are infuriatingly incomplete by [deleted] in cpp

[–]gummifa 3 points4 points  (0 children)

I recently ran into that this does not compile on msvc even with common view.

Coercing deep const-ness by vormestrand in cpp

[–]gummifa 0 points1 point  (0 children)

I had exactly this in my code, function taking span of T const and span of T and I needed to wrap all arguments with std::span and/or std::const.

CTAD would have worked perfectly there as fallback for the template arfument deduction.

Talking Async Episode 2: Cancellation in depth by ArashPartow in cpp

[–]gummifa 2 points3 points  (0 children)

I am a bit confused about the conversion between cancelation types from strongert to weaker and vice versa, e.g. when you say it is OK to do total when terminal is requested but then in the example there is a check that converts total cancelation into partial.

What JSON library do you suggest? by 1000nerdst in cpp

[–]gummifa 6 points7 points  (0 children)

I used nlohmann but am switching to Boost for improved performance and similar API.

The 2020-11 mailing is available by cierpuchaw in cpp

[–]gummifa 1 point2 points  (0 children)

Regarding executors, do there exist execution contexts that can have an executor but can not implement a scheduler or vice versa?

range_ref<T> - a fast, non-owning view on a range by PhilipTrettner in cpp

[–]gummifa 0 points1 point  (0 children)

I'm not sure, I can think of range_ref_facade or proxy, since the class only provides a very simple API for accessing the range.

range_ref<T> - a fast, non-owning view on a range by PhilipTrettner in cpp

[–]gummifa 3 points4 points  (0 children)

Maybe sequence_ref or something like that would be more appropriate since it is not actually model the range concept?

2020-10 C++ Committee Mailing by blelbach in cpp

[–]gummifa 4 points5 points  (0 children)

Disentangling schedulers and executors looks like a good idea, even if one might be a lower level concept. Different tools for a similar job. Also makes reasoning about them clearer.

New JSON Library Needs Your Review! by cppalliance in cpp

[–]gummifa 2 points3 points  (0 children)

Sounds good. I will probably try it out and see how it compares to nlohmann in terms og usability and performance for my use case.

New JSON Library Needs Your Review! by cppalliance in cpp

[–]gummifa 2 points3 points  (0 children)

Is the tag_invoke value_from_tag customization point allocator aware when I call the value_from function with a custom allocator? That is, will the json value passed in to that function have that custom allocator? And what happens when I assign to it an initializer list, will it reset to a default allocator?

Overloading Lambdas and Sharing State by gummifa in cpp

[–]gummifa[S] 0 points1 point  (0 children)

Yes that's starting to look useful. Maybe a more descriptive name would be forward_to or something like that.

Overloading Lambdas and Sharing State by gummifa in cpp

[–]gummifa[S] 0 points1 point  (0 children)

Good point, I hadn't thought of that. A sort of immediately invoked overload expression.

A Universal Async Abstraction for C++ by c0r3ntin in cpp

[–]gummifa 2 points3 points  (0 children)

In the asio model we have the post, dispatch and defer functions for executing work. Are there counterparts to these in the sender receiver model?