Reading good code is essential to be a better developer. Searching good code is also important. Here are two good starters to begin with: Chromium code search https://cs.chromium.org/ Qt5 Source search https://code.woboq.org/qt5/ Heejune.
Deferred caller, delegator implementation with variadic template Recently I started playing with a small toy project – tiny web server with C++. The first requirement I wanted to implement was the 'static type routing handler' as shown from the crow project. Which means, users should be able to register its routing handlers as the following … Continue reading Deferred caller(or delegator.. whatever you name it) implementation with variadic template
Updated June 8th, 2017. This post was introduced to the Reddit /r/cpp soon after I posted and immediately got a feedback saying "both semantically wrong as well as poorly optimized" which is quite true. 🙂 So I'd like to recommend visiting the Reddit link and consider the comments before preceding or even better, refer to the … Continue reading Sieve of Eratosthenes in C++
As we discussed through Part I, co_wait keyword requires sort of "resumable thing". So what if we want to use co_await with time delta? For example, you can see the code which the co_await takes std::chrono::duration in order to suspend for the specified time from here: https://github.com/Microsoft/cppwinrt/blob/master/10.0.14393.0/Samples/JustCoroutines/Main.cpp#L31 The answer is the fact that vc++ compiler … Continue reading Beginning the coroutine with Visual Studio 2015 Update 3 Part 2
The cppwinrt project focused to consume Microsoft provided OS winrt components and it doesn't support building a winrt component(yet) although they mentioned it will be supported later. Even though it's not technically supported yet, we still can create a winrt component with WRL(pure C++ and non C++/CX) and still can get some benefits from using … Continue reading Building WinRT component with WRL(non C++/CX) and cppwinrt
I recently started using the cppwinrt library which brought chances dealing with the new C++ standard(yet) coroutine. The cppwinrt recommends using C++ coroutines instead of PPL while handling async operations. Refer to the following github issues for more information: https://github.com/Microsoft/cppwinrt/issues/54 https://github.com/Microsoft/cppwinrt/issues/46 Although the coroutine concept itself might feel coming familiar because we're already exposed async … Continue reading Beginning the coroutine with Visual Studio 2015 Update 3 Part 1
Windows Runtime provides the HttpClient class along with async APIs. For example, you can send a GET request through the GetAsync(Uri) method. GetAsync() method is an awaitable API so that it returns IAsyncOperationWithProgress<HttpResponseMessage, HttpProgress>^. You will get the HttpResponseMessage by specifying the IAsyncOperationWithProgress to Concurrency::create_task(). However, how can I get the progress? There's no direct … Continue reading [C++/Cx] How can I get the AsyncOperationWithProgress progress?