Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • program options, provides the command line options for both client and server, in addition also provides the command line help.
  • asio : this provides the client/server communication, it uses CEREAL.
  • python. boost python provides the ecflow python API. The API is documented with SPHINX.
  • file system: use for all file and directory access. Please note that c++17 includes std::filesystem. For more details see:  https://www.bfilipek.com/2019/05/boost-to-stdfs.html
  • date and time: this is used in all the time base attributes and calendars
  • chrono: used for test timing.
  • test:  used to provide unit tests, and client/server and python tests. There are several hundred tests for client/server/python, however there are no test for the GUI.
  • spirit classic: this is used to provide the trigger expression parsing. This library is now legacy, and needs to be replaced with later boost libs.

It should be noted the boost build(based on bjam) is still used occasionally.  But has been replaced with CMAKE. however, on some systems where we are not allowed to install any packages, it can be still be used to install ecflow client/server/python libs. Only the GUI integration is missing.

Many of boost lib can be replaced with std equivalents over time. This has already been done with shared_ptrs. With C++17, we can additionally, replace:

Other possible use that were planned but not use, were boost exception. This would automatically add function, line number, etc. At the moment this is done manually. 

...