1#ifndef SOURCEMETA_CORE_SEMVER_ERROR_H_
2#define SOURCEMETA_CORE_SEMVER_ERROR_H_
4#ifndef SOURCEMETA_CORE_SEMVER_EXPORT
5#include <sourcemeta/core/semver_export.h>
11namespace sourcemeta::core {
14#pragma warning(disable : 4251 4275)
23 [[nodiscard]]
auto what() const noexcept -> const
char *
override {
24 return "The input is not a valid Semantic Version";
28 [[nodiscard]]
auto column() const noexcept -> std::uint64_t {
33 std::uint64_t column_;
38 :
public std::exception {
43 [[nodiscard]]
auto what() const noexcept -> const
char *
override {
44 return "The numeric component of the Semantic Version overflows";
48 [[nodiscard]]
auto column() const noexcept -> std::uint64_t {
53 std::uint64_t column_;
57#pragma warning(default : 4251 4275)