Transforming C to C++
New video on using the latest version of DeepEnds.
Transforming C to C++
by Zeb Mason
About the video:
Performs a clustering analysis on a C call graph then manipulates it within Visual Studio to prototype a class.
November 14-16, Berlin, Germany
November 18-23, Wrocław, Poland
November 25, Wrocław, Poland
February 10-15, Hagenberg, Austria
March 19-21, Madrid, Spain
April 1-4, Bristol, UK
June 16-21, Sofia, Bulgaria
By zebedee | Jun 23, 2020 01:10 PM | Tags: None
New video on using the latest version of DeepEnds.
Transforming C to C++
by Zeb Mason
About the video:
Performs a clustering analysis on a C call graph then manipulates it within Visual Studio to prototype a class.
By rodburns | Jun 23, 2020 01:07 PM | Tags: None
SYCL is an open standard developed by the Khronos™ Group that enables developers to write code for heterogeneous systems using standard C++.
Ray-tracing in One Weekend with SYCL Part 2
by Codeplay
About the article
C++ Ray-Tracing in a Weekend by Peter Shirley is a great resource to start learning about ray-tracers and how to implement one, and at the same time providing all the source code in a GitHub repository . You can find more information about his books on ray-tracing techniques with accompanying implementations on his blog, and you can also download the books as .pdf, or load them on your Kindle device for free from the GitHub project.
This post follows on from the first part of my blog, where I showed how the I adapted the code from "Ray Tracing in one weekend" to increase performance using SYCL™. The first area I tackled was the rendering.
In this second post I'll show how to use SYCL to improve the performance of this code further using some interesting techniques.
By Ansel Sermersheim | Jun 23, 2020 01:02 PM | Tags: None
New video on the CopperSpice YouTube Channel:
Copy Elision
by Barbara Geller and Ansel Sermersheim
About the video:
In this video, we look at what copy elision is, and in the process define elision and what it means to copy. We also talk about why you would want to elide copies, and why this feature needed explicit permission in the standard.
Please take a look and remember to subscribe!
By Adrien Hamelin | Jun 23, 2020 11:16 AM | Tags: c++20
More on the next standard.
C++20: More Details to the Spaceship Operator
by Rainer Grimm
From the article:
The compiler performs quite a clever job when it generates all six comparison operators. On the end, you get the intuitive and efficient comparison operators for free. Let me dive with this post into the details of the spaceship operator...
By Adrien Hamelin | Jun 23, 2020 11:15 AM | Tags: c++11
Are you using tuples?
Stupid std::tuple tricks: Getting started
by Raymond Chen
From the article:
The C++ standard library tuple is quite versatile. It’s a handy way of grabbing a bunch of types or values into a single unit, and the C++ standard library also provides a number of helpers to manipulate them...
By Adrien Hamelin | Jun 23, 2020 10:54 AM | Tags: c++20
It will change things.
Modules Present and Future
by CppCast
From the article:
Rob and Jason are joined by Gabriel Dos Reis from Microsoft. They first discuss the recent articles about Microsoft switching from C++ to Rust and let Gaby set the record straight. Then Gaby talks about the final state of Modules, how Microsoft is using them internally, and Gaby’s plans for the future of Modules and much more.
By Administrator | Jun 17, 2020 03:03 PM | Tags: None
The 2020-06 mailing of new standards papers is now available.
WG21 Number | Title | Author | Document Date | Mailing Date | Previous Version | Subgroup |
---|---|---|---|---|---|---|
P1401R3 | Narrowing contextual conversions to bool | Andrzej Krzemieński | 2020-05-27 | 2020-06 | P1401R2 | EWG Evolution |
P1450R3 | Enriching type modification traits | Vincent Reverdy | 2020-06-15 | 2020-06 | P1450R2 | LWG Library |
P1467R4 | Extended floating-point types and standard names | David Olsen | 2020-06-14 | 2020-06 | P1467R3 | EWG Evolution,LEWG Library Evolution |
P1468R4 | Fixed-layout floating-point type aliases | David Olsen | 2020-06-14 | 2020-06 | P1468R3 | LEWG Library Evolution |
P1642R3 | Freestanding Library: Easy [utilities], [ranges], and [iterators] | Ben Craig | 2020-05-24 | 2020-06 | P1642R2 | LEWG Library Evolution |
P1944R1 | Add Constexpr Modifiers to Functions in cstring and cwchar Headers | Daniil Goncharov | 2020-05-26 | 2020-06 | P1944R0 | SG16 Unicode,LEWGI SG18: LEWG Incubator,LEWG Library Evolution,LWG Library |
P1949R4 | C++ Identifier Syntax using Unicode Standard Annex 31 | Steve Downey | 2020-06-05 | 2020-06 | P1949R3 | SG16 Unicode,EWG Evolution,CWG Core |
P1990R1 | Add operator[] to std::initializer_list | Daniil Goncharov | 2020-05-26 | 2020-06 | P1990R0 | LEWG Library Evolution,LWG Library |
P2025R1 | Guaranteed copy elision for return variables | Anton Zhilin | 2020-06-17 | 2020-06 | P2025R0 | EWG Evolution,CWG Core |
P2034R2 | Partially Mutable Lambda Captures | Ryan McDougall | 2020-06-12 | 2020-06 | P2034R1 | EWGI SG17: EWG Incubator |
P2037R1 | String's gratuitous assignment | Andrzej Krzemieński | 2020-06-15 | 2020-06 | P2037R0 | LEWG Library Evolution |
P2093R0 | Formatted output | Victor Zverovich | 2020-06-13 | 2020-06 | SG16 Unicode,LEWG Library Evolution | |
P2138R2 | Rules of Design<=>Wording engagement | Ville Voutilainen | 2020-06-15 | 2020-06 | P2138R1 | EWG Evolution,LEWG Library Evolution |
P2139R1 | Reviewing Deprecated Facilities of C++20 for C++23 | Alisdair Meredith | 2020-06-15 | 2020-06 | P2139R0 | EWG Evolution,LEWG Library Evolution |
P2141R0 | Aggregates are named tuples | Antony Polukhin | 2020-05-27 | 2020-06 | EWGI SG17: EWG Incubator,LEWGI SG18: LEWG Incubator,EWG Evolution,LEWG Library Evolution,LWG Library | |
P2146R1 | Modern std::byte stream IO for C++ | Amanda Kornoushenko | 2020-06-17 | 2020-06 | P2146R0 | LEWGI SG18: LEWG Incubator |
P2152R0 | Querying the alignment of an object | Inbal Levi | 2020-06-15 | 2020-06 | EWGI SG17: EWG Incubator,EWG Evolution,CWG Core | |
P2161R1 | Remove Default Candidate Executor | Robert Leahy | 2020-06-12 | 2020-06 | P2161R0 | SG4 Networking |
P2164R1 | views::enumerate | Corentin Jabot | 2020-06-14 | 2020-06 | P2164R0 | LEWG Library Evolution |
P2166R0 | A Proposal to Prohibit std::basic_string and std::basic_string_view construction from nullptr | Yuriy Chernyshov | 2020-05-19 | 2020-06 | LEWGI SG18: LEWG Incubator,LEWG Library Evolution,LWG Library | |
P2176R0 | A different take on inexpressible conditions | Andrzej Krzemieński | 2020-05-27 | 2020-06 | SG21 Contracts | |
P2178R0 | Misc lexing and string handling improvements | Corentin Jabot | 2020-06-15 | 2020-06 | SG16 Unicode,EWG Evolution | |
P2179R0 | SG16: Unicode meeting summaries 2020-01-08 through 2020-05-27 | Tom Honermann | 2020-06-02 | 2020-06 | SG16 Unicode | |
P2181R0 | Correcting the Design of Bulk Execution | Jared Hoberock | 2020-06-14 | 2020-06 | SG1 Concurrency and Parallelism | |
P2182R0 | Contract Support: Defining the Minimum Viable Feature Set | Andrzej Krzemieński | 2020-06-15 | 2020-06 | SG21 Contracts | |
P2184R0 | Thriving in a crowded and changing world: C++ 2006-2020 | Bjarne Stroustrup | 2020-06-12 | 2020-06 | All of WG21 | |
P2185R0 | Contracts Use Case Categorization | Caleb Sunstrum | 2020-06-14 | 2020-06 | SG21 Contracts | |
P2187R0 | std::swap_if, std::predictable | Nathan Myers | 2020-06-18 | 2020-06 | LEWGI SG18: LEWG Incubator,Direction Group | |
P2188R0 | Zap the Zap: Pointers should just be bags of bits | Anthony Williams | 2020-06-15 | 2020-06 | EWG Evolution |
By HumanReadableIO | Jun 17, 2020 01:23 PM | Tags: None
Modules, coroutines, concepts, and ranges, oh my. Here comes C++ 20. The big four new features are getting all the buzz, but what about the smaller features?
C++20: The Unspoken Features
by Michele Caini
From the article:
What's new in C++ besides the big four? A lot of things. We certainly won't be able to see them all in one post. Among the most interesting (at least from my point of view) are the following:
- Designated initializers
- Spaceship operator
- Extended range-based for statement
- Pack expansions in lambda init-capture
- Template parameter lists on lambdas
- String literals as template parameters
- consteval and constinit keywords
- Constexpr containers
- Constexpr virtual functions
By DaPi | Jun 17, 2020 01:19 PM | Tags: None
A quick look into what is C++ and when you should consider using it in your projects.
A serious take on when to choose C++ language
by Dawid Pilarski
From the article:
Are you sure you are using C++ for the right task? Have a look at the article! Any feedback is welcome.
By Hitesh Kumar | Jun 17, 2020 01:18 PM | Tags: None
Usage and internals of std::enable_shared_from_this<T>:
enable_shared_from_this - overview, examples, and internals
by Hitesh Kumar
From the article:
Public inheritance from enable_shared_from_this<T> enables a class T to create additional shared_ptr instances to itself. Typically, enable_shared_from_this holds a weak_ptr to create shared_ptr on demand.