Saturday, March 26, 2022

C++ library requests

Libraries

  Anyone who does serious application development would notice that standard C++ lacks extensive library support on the level of e.g. Java or .NET. For example many applications need the following:

  • GUI
  • graphics
  • diagrams and chart plots
  • object persistence
  • basic cryptography
  • graph algorithms
  • networking
  • database
  • XML; JSON
  • basic linear algebra

 There are 3th party libraries who fulfill this gap but it's always more difficult to get that up and running than if it would be stock present. It would therefore hard to recommend to use C++ for new application development.

Boost

  Boost fulfill some of these gaps. Their quality of libraries vary; some of them are even abandoned and not maintained anymore. Still I would like the following libraries to be incorporated in std as well:

  • call_traits
  • circular buffer
  • container
  • date-time (somewhat in C++20 in chrono)
  • graph
  • ios_state_saver
  • iterator_range (somewhat in C++20 in ranges)
  • serialization (but without the implicit by ref / by value assumptions)
  • signal / slot
  • string_algo
  • tribool
  • ublas 
  • unit

Careful with std::ranges

<ranges>   C++20 has added the the ranges library. Basically it works on ranges instead of iterators but added some subtle constraint...