Bring in Clara v1.1.4

This fixes #1214
This commit is contained in:
Martin Hořeňovský 2018-03-09 10:37:56 +01:00
parent dc3e7f9cf7
commit 11c89a5f7d
2 changed files with 8 additions and 6 deletions

View File

@ -5,7 +5,7 @@
//
// See https://github.com/philsquared/Clara for more details
// Clara v1.1.3
// Clara v1.1.4
#ifndef CATCH_CLARA_HPP_INCLUDED
#define CATCH_CLARA_HPP_INCLUDED
@ -21,6 +21,7 @@
#ifndef CLARA_CONFIG_OPTIONAL_TYPE
#ifdef __has_include
#if __has_include(<optional>) && __cplusplus >= 201703L
#include <optional>
#define CLARA_CONFIG_OPTIONAL_TYPE std::optional
#endif
#endif
@ -665,11 +666,11 @@ namespace detail {
}
#ifdef CLARA_CONFIG_OPTIONAL_TYPE
template<typename T>
inline auto convertInto( std::string const &source, std::optional<T>& target ) -> ParserResult {
inline auto convertInto( std::string const &source, CLARA_CONFIG_OPTIONAL_TYPE<T>& target ) -> ParserResult {
T temp;
auto result = convertInto( source, temp );
if( result )
target = temp;
target = std::move(temp);
return result;
}
#endif // CLARA_CONFIG_OPTIONAL_TYPE

View File

@ -5,7 +5,7 @@
//
// See https://github.com/philsquared/Clara for more details
// Clara v1.1.3
// Clara v1.1.4
#ifndef CLARA_HPP_INCLUDED
#define CLARA_HPP_INCLUDED
@ -21,6 +21,7 @@
#ifndef CLARA_CONFIG_OPTIONAL_TYPE
#ifdef __has_include
#if __has_include(<optional>) && __cplusplus >= 201703L
#include <optional>
#define CLARA_CONFIG_OPTIONAL_TYPE std::optional
#endif
#endif
@ -665,11 +666,11 @@ namespace detail {
}
#ifdef CLARA_CONFIG_OPTIONAL_TYPE
template<typename T>
inline auto convertInto( std::string const &source, std::optional<T>& target ) -> ParserResult {
inline auto convertInto( std::string const &source, CLARA_CONFIG_OPTIONAL_TYPE<T>& target ) -> ParserResult {
T temp;
auto result = convertInto( source, temp );
if( result )
target = temp;
target = std::move(temp);
return result;
}
#endif // CLARA_CONFIG_OPTIONAL_TYPE