community

CPPP--Jonathan Boccara

A new one!

CPPP

by Jonathan Boccara

From the article:

Here is an exciting piece of news for the C++ community: the CPPP conference has been officially announced!

Boost 1.70.0 released

Check it out:

Boost 1.70.0 released

From the release notes:

New Libraries​
  • Outcome: A set of tools for reporting and handling function failures in contexts where directly using C++ exception handling is unsuitable, from Niall Douglas.
  • Histogram: Fast and extensible multi-dimensional histograms with convenient interface for C++14, from Hans Dembinski.
Updated Libraries​
  1. Asio:
  • Fixed a Windows-specific memory leak that may occur when system_executor is used.
  • Improved dispatch, post and defer documentation.
  • Fixed compile errors that occur when using the composed read and write operations with MSVC 11.0.
  • Fixed a macOS-specific warning about the deprecation of OSMemoryBarrier.
  • Changed composed asynchronous read and write operations to move buffer sequence objects.
  • Added a fallback error code for when we OpenSSL produces an SSL_ERROR_SYSCALL result without an associated error.
  • Suppressed the eof error on SSL shutdown as it actually indicates success.
  • Ensured SSL handshake errors are propagated to the peer before the local operation completes.
  • Fixed buffer_sequence_begin and buffer_sequence_end to prevent implicit conversion.
  • Changed the range-based asynchronous connect operation to deduce the EndpointSequence iterator type.
  • Fixed calculation of absolute timeout when the backend uses pthread_cond_timedwait.
  • Changed receive operations to return the correct number of bytes transferred when truncation (error::message_size) occurs on a datagram-oriented socket.
  • Enabled recycling of the memory used to type-erase a function object with the polymorphic executor.
  • Added a new BOOST_ASIO_DISABLE_VISIBILITY configuration #define.
  • Added the noexcept qualifier to various functions.
  • Added a constructor for local::basic_endpoint that takes a string_view.
  • Relaxed the completion condition type requirements to only require move-constructibility rather than copy-constructibility.
  • Added a make_strand helper function.
  • Added a new async_compose function that simplifies the implementation of user-defined asynchronous operations.
  • Added a new DynamicBuffer_v2 concept which is CopyConstructible.
  • Updated the Coroutines TS support and promoted it to the asio namespace.
  • Added a new async_result form with an initiate static member function.
  • Added the ability to use custom I/O executors with I/O objects (such as sockets).
  • This release includes a number of new features, bug fixes, performance enhancements, and documentation improvements. Notable changes include:
  • Consult the Revision History for further details.

...

Overload 150 is now available

ACCU’s Overload journal of April 2019 is out. It contains the following C++ related articles.

Overload 150 is now available

From the journal:

This means war!.
Careless use of language can upset people. Frances Buontempo asks what we can do to make the developer experience better.

NullableAttribute and C# 8.
C# 8 will bring many new features. Jon Skeet investigates the metadata representation of Nullable Reference Types.

lvalues, rvalues, glvalues, prvalues, xvalues, help!.
C++11 introduced new value categories. Anders Schau Knatten explains his way of thinking about them.

Modern SAT solvers: fast, neat and underused (part 1 of N).
SAT solvers can quickly find solutions to Boolean Logic problems. Martin Hořeňovský demonstrates how this can be used to solve arbitrary Sudoku puzzles.

The Duality….
Genetic algorithms can find solutions that other algorithms might miss. Anders Modén discusses their use in conjunction with back-propagation for finding better solutions.

Blockchain-Structured Programming.
Coins are a wedge-shaped piece used for some purpose. Teedy Deigh shares her angle on the technology underpinning crypto-currencies.

The BooSTL Algorithms: Boost Algorithms That Extend the STL (3/3)--Jonathan Boccara

The final article.

The BooSTL Algorithms: Boost Algorithms That Extend the STL (3/3)

by Jonathan Boccara

From the article:

The BooSTL algorithms are what we can call the Boost algorithms which are in the same spirit as those of the STL. They encapsulate operations on collections, and being able to use them allows to write (or re-write) more expressive code. To cover all their contents, we split up the articles of the BooSTL into three parts:

  • the BooSTL algorithms on sorting and partitioning,
  • the BooSTL algorithms on searching,
  • the other BooSTL algorithms.

So here we go to cover the rest of the BooSTL algorithms which are not in sorting, partitioning nor searching.

The BooSTL Algorithms: Boost Algorithms That Extend the STL (2/3)--Jonathan Boccara

The series continues.

The BooSTL Algorithms: Boost Algorithms That Extend the STL (2/3)

by Jonathan Boccara

From the article:

One good way to extend our knowledge beyond the STL is to learn the Boost STL-like algorithms. I like to call them the BooSTL algorithms. To cover all the contents in this algorithms library, we have chunked up the story into three parts:

  • the BooSTL algorithms on sorting and partitioning,
  • the BooSTL algorithms on searching,
  • the other BooSTL algorithms.

After seeing the BooSTL algorithms on sorting and partitioning, we are now going to focus on BooSTL algorithms on searching...

The BooSTL Algorithms: Boost Algorithms That Extend the STL (1/3)--Jonathan Boccara

No need to do them yourself.

The BooSTL Algorithms: Boost Algorithms That Extend the STL (1/3)

by Jonathan Boccara

From the article:

The STL features a proud 105 algorithms, but that is by no means all the algorithms there is in C++.

There are many ways to extend the STL. One of them is to include the STL-like algorithms that are in Boost, which I like to call the BooSTL algorithms!