Welcome
libfilezilla is a small and modern C++ library, offering some basic functionality to build high-performing, platform-independent programs. Some of the highlights include:
- A typesafe, multi-threaded event system that's very simple to use yet extremely efficient
- Timers for periodic events
- A datetime class that not only tracks timestamp but also their accuracy, which simplifies dealing with timestamps originating from different sources
- Simple process handling for spawning child processes with redirected I/O
libfilezilla is a cross-platform library for all major operating systems, including but not limited to Linux, *BSD, OS X and Windows.
This library is free software, it is distributed under the terms and conditions of the GNU General Public License v2+
News
2020-12-17 - libfilezilla 0.26.0 released
New features:
- Added fz::buffer::capacity()
- fz::buffer::append now also accepts single characters and std::vector
- Added fz::nonowning_buffer
- MSW: Added fz::process::handle()
- *nix: Allow passing extra file descriptors to child processes
- fz::to_wstring_from_utf8 now accepts std::string_view and fz::buffer
- fz::replace_substrings and fz::replaced_substrings now accept string views and single characters
Bugfixes and minor changes:
- Reset bucket data if it gets removed from a rate_limiter
2020-10-13 - libfilezilla 0.25.0 released
New features:
- Added fz::invoker to asynchronously call functions to run in a specific thread independent of the caller's thread
Bugfixes and minor changes:
- Added additional checks to fz::buffer to leave the buffer in a valid state in out-of-memory situations and to prevent mis-use
- Detect a particular socket buffer tuning issue under Linux where setting a receiver buffer size shrinks the window scale factor
- Reordered a few data members to reduce the amount of structure padding due to alignment
2020-08-27 - libfilezilla 0.24.1 released
Bugfixes and minor changes:
- fz::to_integral can now handle strongly typed enum return types