Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work. Learn more →
C++ Format Alternatives
Similar projects and alternatives to C++ Format
-
-
-
InfluxDB
Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.
-
-
-
LearnOpenGL
Code repository of all OpenGL chapters from the book and its accompanying website https://learnopengl.com
-
Better Enums
C++ compile-time enum to string, iteration, in a single header file
-
ZBar
Clone of the mercurial repository http://zbar.hg.sourceforge.net:8000/hgroot/zbar/zbar
-
Sonar
Write Clean C++ Code. Always.. Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.
-
-
-
-
-
-
-
-
Catch
A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)
-
CPM.cmake
📦 CMake's missing package manager. A small CMake script for setup-free, cross-platform, reproducible dependency management.
-
robin-hood-hashing
Fast & memory efficient hashtable based on robin hood hashing for C++11/14/17/20
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
C++ Format reviews and mentions
-
Asking for suggestion: The laziest possible implementation of std::format for compatibility
Easiest is to use https://github.com/fmtlib/fmt, which was std::format before it was std
If you don't want to use CMake or a package manager, you can literally just copy and paste all the .cc and all the .h into an fmt dir next to your main.cpp, add them to your project like you would add any other regular .hpp / .cpp and you're done.
- What are some C++ projects with high quality code that I can read through?
-
Rust vs. C++ Formatting
fmtlib (https://github.com/fmtlib/fmt), a C++11 formatting library that was the basis for C++20 std::format, is able to do this.
Rust always had printf. If you mean python-style fmt, there were also libraries for that for a long time, e.g. https://fmt.dev/
-
Rust vs C++ Formatting
You are probably better off using https://github.com/fmtlib/fmt until the libc++ implementation is complete (this'll also make your code more portable as MSVC is currently the only compiler with a complete implementation).
-
CPM.cmake to make CMake's FetchContent easier
include(FetchContent) FetchContent_Declare( Catch2 GIT_REPOSITORY https://github.com/catchorg/Catch2.git GIT_TAG v3.0.0-preview4 ) FetchContent_Declare( fmt GIT_REPOSITORY https://github.com/fmtlib/fmt.git GIT_TAG 9.1.0 ) FetchContent_Declare( scnlib GIT_REPOSITORY https://github.com/eliaskosunen/scnlib.git GIT_TAG v1.1.2 ) FetchContent_MakeAvailable(Catch2 fmt scnlib)
-
em{io} - a safe and fast high-level and low-level character input/output library for bare-metal and RTOS based embedded systems with a very small binary footprint. (beta)
Nice work! Since you mention {fmt}, let me clarify a few things. While {fmt} doesn't optimize for embedded systems in the default configuration, it is possible to significantly reduce its binary footprint by compiling with -Os, LTO and disabling some features such as floating point formatting (https://github.com/fmtlib/fmt/pull/1590). It is even possible to use format string compilation to avoid linking with the library completely at the cost of larger per-call binary code. Additionally, you can avoid almost all exceptions with compile-time format string checks.
-
[C++20] ClearIO library (unfinished)
However, at some point I finally looked into {fmt} and discovered that it’s not limited to formatting into allocated strings but also does output. On top of that, it’s clearly better designed and more feature-rich, so I’m questioning the usefullness of the output half of my library, especially since more parts of {fmt} are being adapted into std, notably in C++23.
I think the license is bad for normal use I would use a Boost, BSD, or MIT licensing but I am paranoid about this issue. I also prefer streams. I see some benefit in developing your library. First {fmt} does not cover input. This library could be used more for a tool for C++ developer to use C APIs in a type safe way as well and C programmers to use C++ feature. I might uses {fmt} or for output under the hood and see if you can extent the input to strings and char arrays. If that is the case, then I could see another use casing in testing where this could test from standard input, files or even possibly sockets.
-
A note from our sponsor - Sonar
www.sonarsource.com | 1 Feb 2023
Stats
fmtlib/fmt is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.