C++ Utilities  4.17.0
Useful C++ classes and routines such as argument parser, IO and conversion utilities
Todo List
Member ApplicationUtilities::Argument::parents () const
Return by reference in v5.
Class ChronoUtilities::DateTime
  • Add method for parsing custom string formats.
  • Add method for printing to custom string formats.
  • Allow to determine the date part for each compontent at once to prevent multiple invocations of getDatePart().
  • Make more methods constexpr.
Member ChronoUtilities::Period::Period (const DateTime &begin, const DateTime &end)
Pass DateTime objects by value in v5.
Class ChronoUtilities::TimeSpan
  • Add method for parsing custom string formats.
  • Add method for printing to custom string formats.
Member ConversionUtilities::charToDigit (CharType character, CharType base)
Provide an alternative using std::expected (when switching to C++17).
Member ConversionUtilities::stringToNumber (const CharType *string, unsigned char base=10)

Provide an alternative using std::expected (when switching to C++17).

Provide an alternative using std::expected (when switching to C++17).

Member ConversionUtilities::stringToNumber (const StringType &string, typename StringType::value_type base=10)

Provide an alternative using std::expected (when switching to C++17).

Provide an alternative using std::expected (when switching to C++17).

Provide an alternative using std::expected (when switching to C++17).

Member IoUtilities::BinaryReader::readLengthPrefixedString ()
Make inline in v5.
Member IoUtilities::BinaryReader::readMultibyteTerminatedStringBE (uint16 termination=0)
Refactor/remove in v5.
Member IoUtilities::BinaryReader::readMultibyteTerminatedStringBE (std::size_t maxBytesToRead, uint16 termination=0)
Refactor/remove in v5.
Member IoUtilities::BinaryReader::readMultibyteTerminatedStringLE (std::size_t maxBytesToRead, uint16 termination=0)
Refactor/remove in v5.
Member IoUtilities::BinaryReader::readMultibyteTerminatedStringLE (uint16 termination=0)
Refactor/remove in v5.
Member IoUtilities::BinaryReader::readTerminatedString (size_t maxBytesToRead, byte termination=0)
Refactor/remove in v5.
Member IoUtilities::BinaryReader::readTerminatedString (byte termination=0)
Refactor/remove in v5.
Member IoUtilities::BinaryWriter::writeLengthPrefixedCString (const char *value, std::size_t size)
Make inline in v5.
Member IoUtilities::BinaryWriter::writeLengthPrefixedString (const std::string &value)
Make inline in v5.
Namespace MathUtilities
Move math.h and math.cpp to misc in v5.
Member MathUtilities::digitsum (int number, int base)
Make constexpr/template in v5.
Member MathUtilities::factorial (int number)
Make constexpr/template in v5.
Member MathUtilities::inverseModulo (int64 number, int64 module)
Make constexpr/template in v5.
Member MathUtilities::orderModulo (const uint64 number, const uint64 module)
Make constexpr/template in v5.
Member MathUtilities::powerModulo (const uint64 base, const uint64 exponent, const uint64 module)
Make constexpr/template in v5.
Member MathUtilities::random (int lowerbounds, int upperbounds)
Remove in v5 since std::uniform_int_distribution does the same.