|
|
|
@@ -286,7 +286,7 @@ result<DestType, conversion_error> to(const char *source, std::enable_if_t<std::
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template < typename DestType >
|
|
|
|
|
result<DestType, conversion_error> to(const std::string &source, std::enable_if_t<std::is_same_v<DestType, timestamp>>* = nullptr) {
|
|
|
|
|
result<DestType, conversion_error> to(const std::string &source, std::enable_if_t<std::is_same_v<DestType, timestamp_type_t>>* = nullptr) {
|
|
|
|
|
std::tm result{};
|
|
|
|
|
std::istringstream iss(source);
|
|
|
|
|
iss >> std::get_time(&result, "%Y-%m-%d %H:%M:%S");
|
|
|
|
@@ -302,7 +302,7 @@ result<DestType, conversion_error> to(const std::string &source, std::enable_if_
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template < typename DestType >
|
|
|
|
|
result<DestType, conversion_error> to(const char *source, std::enable_if_t<std::is_same_v<DestType, timestamp>>* = nullptr) {
|
|
|
|
|
result<DestType, conversion_error> to(const char *source, std::enable_if_t<std::is_same_v<DestType, timestamp_type_t>>* = nullptr) {
|
|
|
|
|
return to<DestType>(std::string{source});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -318,7 +318,7 @@ result<DestType, conversion_error> to(const SourceType &/*source*/, std::enable_
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template < typename DestType, typename SourceType >
|
|
|
|
|
result<DestType, conversion_error> to(const SourceType &/*source*/, std::enable_if_t<std::is_integral_v<DestType> && !std::is_same_v<bool, DestType> && std::is_same_v<timestamp, SourceType>>* = nullptr) {
|
|
|
|
|
result<DestType, conversion_error> to(const SourceType &/*source*/, std::enable_if_t<std::is_integral_v<DestType> && !std::is_same_v<bool, DestType> && std::is_same_v<timestamp_type_t, SourceType>>* = nullptr) {
|
|
|
|
|
return failure(conversion_error::NotConvertable);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -333,7 +333,7 @@ result<DestType, conversion_error> to(const SourceType &/*source*/, std::enable_
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template < typename DestType, typename SourceType >
|
|
|
|
|
result<DestType, conversion_error> to(const SourceType &/*source*/, std::enable_if_t<std::is_same_v<bool, DestType> && std::is_same_v<timestamp, SourceType>>* = nullptr) {
|
|
|
|
|
result<DestType, conversion_error> to(const SourceType &/*source*/, std::enable_if_t<std::is_same_v<bool, DestType> && std::is_same_v<timestamp_type_t, SourceType>>* = nullptr) {
|
|
|
|
|
return failure(conversion_error::NotConvertable);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -348,7 +348,7 @@ result<DestType, conversion_error> to(const SourceType &/*source*/, std::enable_
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template < typename DestType, typename SourceType >
|
|
|
|
|
result<DestType, conversion_error> to(const SourceType &/*source*/, std::enable_if_t<std::is_floating_point_v<DestType> && std::is_same_v<timestamp, SourceType>>* = nullptr) {
|
|
|
|
|
result<DestType, conversion_error> to(const SourceType &/*source*/, std::enable_if_t<std::is_floating_point_v<DestType> && std::is_same_v<timestamp_type_t, SourceType>>* = nullptr) {
|
|
|
|
|
return failure(conversion_error::NotConvertable);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -363,7 +363,7 @@ result<DestType, conversion_error> to(const SourceType &/*source*/, std::enable_
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template < typename DestType, typename SourceType >
|
|
|
|
|
result<DestType, conversion_error> to(const SourceType &/*source*/, std::enable_if_t<std::is_same_v<blob_type_t, DestType> && std::is_same_v<timestamp, SourceType>>* = nullptr) {
|
|
|
|
|
result<DestType, conversion_error> to(const SourceType &/*source*/, std::enable_if_t<std::is_same_v<blob_type_t, DestType> && std::is_same_v<timestamp_type_t, SourceType>>* = nullptr) {
|
|
|
|
|
return failure(conversion_error::NotConvertable);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -378,7 +378,7 @@ result<DestType, conversion_error> to(const SourceType &/*source*/, std::enable_
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template < typename DestType, typename SourceType >
|
|
|
|
|
result<DestType, conversion_error> to(const SourceType &/*source*/, std::enable_if_t<std::is_same_v<std::string, DestType> && std::is_same_v<timestamp, SourceType>>* = nullptr) {
|
|
|
|
|
result<DestType, conversion_error> to(const SourceType &/*source*/, std::enable_if_t<std::is_same_v<std::string, DestType> && std::is_same_v<timestamp_type_t, SourceType>>* = nullptr) {
|
|
|
|
|
return failure(conversion_error::NotConvertable);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -393,7 +393,7 @@ result<DestType, conversion_error> to(const SourceType &/*source*/, std::enable_
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template < typename DestType, typename SourceType >
|
|
|
|
|
result<DestType, conversion_error> to(const SourceType &/*source*/, std::enable_if_t<std::is_integral_v<SourceType> && !std::is_same_v<bool, SourceType> && std::is_same_v<timestamp, DestType>>* = nullptr) {
|
|
|
|
|
result<DestType, conversion_error> to(const SourceType &/*source*/, std::enable_if_t<std::is_integral_v<SourceType> && !std::is_same_v<bool, SourceType> && std::is_same_v<timestamp_type_t, DestType>>* = nullptr) {
|
|
|
|
|
return failure(conversion_error::NotConvertable);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -408,7 +408,7 @@ result<DestType, conversion_error> to(const SourceType &/*source*/, std::enable_
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template < typename DestType, typename SourceType >
|
|
|
|
|
result<DestType, conversion_error> to(const SourceType &/*source*/, std::enable_if_t<std::is_floating_point_v<SourceType> && std::is_same_v<timestamp, DestType>>* = nullptr) {
|
|
|
|
|
result<DestType, conversion_error> to(const SourceType &/*source*/, std::enable_if_t<std::is_floating_point_v<SourceType> && std::is_same_v<timestamp_type_t, DestType>>* = nullptr) {
|
|
|
|
|
return failure(conversion_error::NotConvertable);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -423,7 +423,7 @@ result<DestType, conversion_error> to(const blob_type_t &/*source*/, std::enable
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template < typename DestType>
|
|
|
|
|
result<DestType, conversion_error> to(const blob_type_t &/*source*/, std::enable_if_t<std::is_same_v<timestamp, DestType>>* = nullptr) {
|
|
|
|
|
result<DestType, conversion_error> to(const blob_type_t &/*source*/, std::enable_if_t<std::is_same_v<timestamp_type_t, DestType>>* = nullptr) {
|
|
|
|
|
return failure(conversion_error::NotConvertable);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -438,7 +438,7 @@ result<DestType, conversion_error> to(const bool &/*source*/, std::enable_if_t<s
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template < typename DestType>
|
|
|
|
|
result<DestType, conversion_error> to(const bool &/*source*/, std::enable_if_t<std::is_same_v<timestamp, DestType>>* = nullptr) {
|
|
|
|
|
result<DestType, conversion_error> to(const bool &/*source*/, std::enable_if_t<std::is_same_v<timestamp_type_t, DestType>>* = nullptr) {
|
|
|
|
|
return failure(conversion_error::NotConvertable);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -463,7 +463,7 @@ result<DestType, conversion_error> to(const date_type_t &source, std::enable_if_
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template < typename DestType>
|
|
|
|
|
result<DestType, conversion_error> to(const timestamp &source, std::enable_if_t<std::is_same_v<time_type_t, DestType>>* = nullptr) {
|
|
|
|
|
result<DestType, conversion_error> to(const timestamp_type_t &source, std::enable_if_t<std::is_same_v<time_type_t, DestType>>* = nullptr) {
|
|
|
|
|
const std::time_t tt = std::chrono::system_clock::to_time_t(source);
|
|
|
|
|
|
|
|
|
|
const std::tm* result = std::localtime(&tt);
|
|
|
|
@@ -472,7 +472,7 @@ result<DestType, conversion_error> to(const timestamp &source, std::enable_if_t<
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
template < typename DestType>
|
|
|
|
|
result<DestType, conversion_error> to(const timestamp &source, std::enable_if_t<std::is_same_v<date_type_t, DestType>>* = nullptr) {
|
|
|
|
|
result<DestType, conversion_error> to(const timestamp_type_t &source, std::enable_if_t<std::is_same_v<date_type_t, DestType>>* = nullptr) {
|
|
|
|
|
const std::time_t tt = std::chrono::system_clock::to_time_t(source);
|
|
|
|
|
|
|
|
|
|
const std::tm* result = std::localtime(&tt);
|
|
|
|
|