One important benefit is that this API uses {fmt} to format the logging
message instead of `vsnprintf()`.
+`make-span.hpp`::
+ The function template `bt2c::makeSpan()` which is an alternative to
+ https://en.cppreference.com/w/cpp/language/class_template_argument_deduction[CTAD]
+ (a {cpp}17 feature).
+
`prio-heap.hpp`::
The `bt2c::PrioHeap` class template: an efficient heap data
structure.
Everything under the `bt2s` namespace has its equivalent under the `std`
namespace, but in {cpp} versions we don't yet have access to, namely:
-`make_unique.hpp`::
+`make-unique.hpp`::
`bt2s::make_unique()`, a drop-in replacement of `std::make_unique()`
({cpp}14).
+
IMPORTANT: Use the symbols of `src/cpp-common/bt2s/span.hpp`, under the
`bt2s` namespace, instead of using this directly.
++
+TIP: `src/cpp-common/bt2c/make-span.hpp` offers `bt2c::makeSpan()` which
+is an alternative to
+https://en.cppreference.com/w/cpp/language/class_template_argument_deduction[CTAD]
+(a {cpp}17 feature).
`string-view-lite`::
https://github.com/martinmoene/string-view-lite[string_view lite].
IMPORTANT: Use the symbols of `src/cpp-common/bt2s/string-view.hpp`,
under the `bt2s` namespace, instead of using this directly.
+`wise_enum`::
+ https://github.com/quicknir/wise_enum[wise_enum].
+
=== Automake/Libtool requirements
To add a {cpp} source file to a part of the project, use the `.cpp`
* Use camel case with an uppercase first letter for:
** Types: `Pistachio`, `NutManager`.
** Template parameters: `PlanetT`, `TotalSize`.
+** Enumerators: `Type::SignedInt`, `Scope::Function`.
* Use snake case with uppercase letters for:
** Definition/macro names: `MARK_AS_UNUSED()`, `SOME_FEATURE_EXISTS`.
-** Enumerators: `Type::SIGNED_INT`, `Scope::FUNCTION`.
* Use only lowercase letters and digits for namespaces: `mylib`, `bt2`.
enum class Gender
{
- MALE,
- FEMALE,
- OTHER,
+ Male,
+ Female,
+ Other,
};
explicit Baby() = default;