{"id":1954,"date":"2019-12-17T21:02:29","date_gmt":"2019-12-17T20:02:29","guid":{"rendered":"http:\/\/www.nuonsoft.com\/blog\/?p=1954"},"modified":"2020-01-09T20:22:00","modified_gmt":"2020-01-09T19:22:00","slug":"next-becpp-ug-meeting-planned-for-january-29th-2020","status":"publish","type":"post","link":"https:\/\/www.nuonsoft.com\/blog\/2019\/12\/17\/next-becpp-ug-meeting-planned-for-january-29th-2020\/","title":{"rendered":"Next BeCPP UG Meeting Planned For January 29th, 2020"},"content":{"rendered":"\n<p>The next meeting of the Belgian C++ Users Group is planned for <strong>Wednesday January 29th, 2020<\/strong> at 18:00 at <strong><a href=\"https:\/\/goo.gl\/maps\/RojeBS89SMSqLUQ57\" target=\"_blank\" rel=\"noreferrer noopener\">OMP<\/a><\/strong>.<\/p>\n\n\n\n<p>OMP ( <a href=\"https:\/\/www.omp.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.omp.com\/<\/a> ) is sponsoring this event by providing the location, drinks and catering.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><a href=\"https:\/\/www.omp.com\/\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/becpp.org\/blog\/wp-content\/uploads\/2019\/12\/omp-logo.png\" alt=\"OMP Logo\" class=\"wp-image-630\" width=\"225\" height=\"98\"\/><\/a><\/figure><\/div>\n\n\n\n<p>The agenda is as follows:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>18:00: <\/strong>Reception with food.<\/li><li><strong>18:30: <\/strong>Session 1: <strong>Coroutines in C++20<\/strong> (Johan Vanslembrouck)<br>\n<em>A coroutine is a function that can suspend execution to be resumed \nlater. Coroutines allow for sequential code that executes asynchronously\n (e.g. to handle non-blocking I\/O without explicit callbacks), and also \nsupports algorithms on lazy-computed infinite sequences and other uses. \nUnlike most other languages that support coroutines, C++ coroutines are \nopen and not tied to any particular runtime or generator type and allow \nlibraries to imbue coroutines with meaning, whereas the compiler is \nresponsible solely for efficient transformation of a function to a state\n machine that is the foundation of the coroutine.<br>\nThe presentation will explain the C++ coroutines mechanism, i.e. code \ngenerated by the compiler and the code to be written by a coroutine \ndeveloper. The presentation includes examples of an client-server \napplication using Boost ASIO in combination with C++ 20 coroutines and a\n producer-consumer queue implemented with and without coroutines.<\/em><\/li><li><strong>19:30: <\/strong>Break<\/li><li><strong>19:45: <\/strong>Session 2: <strong>The evolution of the C++ Lambda<\/strong> (Lieven de Cock)<br>\n<em>Before C++11, we had to write function objects (functors) or free \nstanding functions to pass as the callable to several algorithms (for \nexample: for_each). The drawback was that we were introducing objects in\n a bigger scope than actually needed, and it can be considered as rather\n some boilerplate.<br>\nWith the introduction of the lambda we can write (little) callables at \nthe moment we need them. Over the years (or better said over the new \nstandards) the lambdas gained extra power and became more user friendly.\n In this talk we will have a look on the evolution of the lambda since \nits birth in C++11.<\/em><\/li><li><strong>20:45: <\/strong>Introduction to OMP, followed by a drink.<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/amzn.to\/2JjvkWe\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/becpp.org\/blog\/wp-content\/uploads\/2018\/06\/pro_cpp_4th.jpg\" alt=\"Professional C++, 4th Edition\" class=\"wp-image-1003\"\/><\/a><\/figure><\/div>\n\n\n\n<p><br>\nWe will be giving away 2 copies of <a href=\"https:\/\/amzn.to\/2JjvkWe\" target=\"_blank\" rel=\"noreferrer noopener\">Professional C++, the 4th Edition<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/www.apress.com\/gp\/book\/9781484249222\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/becpp.org\/blog\/wp-content\/uploads\/2019\/09\/c17-quick-ref.jpg\" alt=\"C++17 Standard Library Quick Reference\" class=\"wp-image-1003\"\/><\/a><\/figure><\/div>\n\n\n\n<p><br>\nWe will also give away a copy of <a href=\"https:\/\/www.apress.com\/gp\/book\/9781484249222\" target=\"_blank\" rel=\"noreferrer noopener\">C++17 Standard Library Quick Reference<\/a>.<\/p>\n\n\n\n<p>The event is <strong>free<\/strong> for everyone, but you need to <strong><a href=\"https:\/\/becpp-january-2020.eventbrite.com\/\">register for it<\/a><\/strong>.<\/p>\n\n\n\n<p>There are 100 seats available for this event.<\/p>\n\n\n\n<p><em><strong>Note:<\/strong><strong> The deadline for registrations is January 26th, 2020!<\/strong><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The next meeting of the Belgian C++ Users Group is planned for Wednesday January 29th, 2020 at 18:00 at OMP. OMP ( https:\/\/www.omp.com\/ ) is sponsoring this event by providing the location, drinks and catering. The agenda is as follows: 18:00: Reception with food. 18:30: Session 1: Coroutines in C++20 (Johan Vanslembrouck) A coroutine is [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[191,6,18],"tags":[],"class_list":["post-1954","post","type-post","status-publish","format-standard","hentry","category-becpp","category-c","category-events"],"_links":{"self":[{"href":"https:\/\/www.nuonsoft.com\/blog\/wp-json\/wp\/v2\/posts\/1954","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nuonsoft.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nuonsoft.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nuonsoft.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nuonsoft.com\/blog\/wp-json\/wp\/v2\/comments?post=1954"}],"version-history":[{"count":2,"href":"https:\/\/www.nuonsoft.com\/blog\/wp-json\/wp\/v2\/posts\/1954\/revisions"}],"predecessor-version":[{"id":1962,"href":"https:\/\/www.nuonsoft.com\/blog\/wp-json\/wp\/v2\/posts\/1954\/revisions\/1962"}],"wp:attachment":[{"href":"https:\/\/www.nuonsoft.com\/blog\/wp-json\/wp\/v2\/media?parent=1954"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nuonsoft.com\/blog\/wp-json\/wp\/v2\/categories?post=1954"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nuonsoft.com\/blog\/wp-json\/wp\/v2\/tags?post=1954"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}