rll/global/semver.h file

Namespaces

namespace rll
Contract-programming related functions and classes.
namespace rll::literals inline
Inline namespace for literal operators.
namespace rll::comparators inline

Classes

struct rll::version
template <>
struct fmt::formatter<rll::version>
Specialization of the fmt::formatter for the rll::version class.

Enums

enum class comparators_option: std::uint8_t { exclude_prerelease, include_prerelease }
enum class prerelease: std::uint8_t { alpha = 0, beta = 1, rc = 2, none = 3 }

Typedefs

using version_range = detail::range
using version_range_option = detail::satisfies_option

Functions

auto compare(version const& lhs, version const& rhs, comparators_option option = comparators_option::include_prerelease) →  int constexpr noexcept
auto equal_to(version const& lhs, version const& rhs, comparators_option option = comparators_option::include_prerelease) →  bool constexpr noexcept
auto from_chars(char const* first, char const* last, version& v) →  from_chars_result constexpr noexcept
auto from_string(std::string_view str) →  version constexpr
auto from_string_noexcept(std::string_view str) →  optional<version> constexpr noexcept
auto greater(version const& lhs, version const& rhs, comparators_option option = comparators_option::include_prerelease) →  bool constexpr noexcept
auto greater_equal(version const& lhs, version const& rhs, comparators_option option = comparators_option::include_prerelease) →  bool constexpr noexcept
auto less(version const& lhs, version const& rhs, comparators_option option = comparators_option::include_prerelease) →  bool constexpr noexcept
auto less_equal(version const& lhs, version const& rhs, comparators_option option = comparators_option::include_prerelease) →  bool constexpr noexcept
auto not_equal_to(version const& lhs, version const& rhs, comparators_option option = comparators_option::include_prerelease) →  bool constexpr noexcept
auto operator!=(version const& lhs, version const& rhs) →  bool constexpr noexcept
auto operator""_version(char const* str, std::size_t length) →  version constexpr
Version literal operator.
auto operator<(version const& lhs, version const& rhs) →  bool constexpr noexcept
template <typename Char, typename Traits>
auto operator<<(std::basic_ostream<Char, Traits>& os, version const& v) →  std::basic_ostream<Char, Traits>&
auto operator<=(version const& lhs, version const& rhs) →  bool constexpr noexcept
auto operator<=>(version const& lhs, version const& rhs) →  std::strong_ordering constexpr
auto operator==(version const& lhs, version const& rhs) →  bool constexpr noexcept
auto operator>(version const& lhs, version const& rhs) →  bool constexpr noexcept
auto operator>=(version const& lhs, version const& rhs) →  bool constexpr noexcept
auto to_chars(char* first, char* last, version const& v) →  to_chars_result constexpr noexcept
auto to_string(version const& v) →  std::string
auto valid(std::string_view str) →  bool constexpr noexcept

Defines

#define RLL_SEMVER_CONSTEXPR