diff --git a/conversion/stringbuilder.h b/conversion/stringbuilder.h index a1f4dc2..05347a4 100644 --- a/conversion/stringbuilder.h +++ b/conversion/stringbuilder.h @@ -266,28 +266,30 @@ template inline StringType argsT * \brief Allows construction of string-tuples via %-operator, eg. string1 % "string2" % string3. */ template , Traits::IsSpecializationOf> + Traits::EnableIf, Traits::IsSpecializingAnyOf> * = nullptr> -constexpr auto operator%(const Tuple &lhs, const StringType &rhs) -> decltype(std::tuple_cat(lhs, std::make_tuple(&rhs))) +constexpr auto operator%(const Tuple &lhs, const StringType &rhs) -> decltype(std::tuple_cat(lhs, std::tuple(rhs))) { - return std::tuple_cat(lhs, std::make_tuple(&rhs)); + return std::tuple_cat(lhs, std::tuple(rhs)); } /*! * \brief Allows construction of string-tuples via %-operator, eg. string1 % "string2" % string3. */ -template constexpr auto operator%(const Tuple &lhs, const char *rhs) -> decltype(std::tuple_cat(lhs, std::make_tuple(rhs))) +template > + * = nullptr > constexpr auto operator%(const Tuple &lhs, const char *rhs) -> decltype(std::tuple_cat(lhs, std::tuple(rhs))) { - return std::tuple_cat(lhs, std::make_tuple(rhs)); + return std::tuple_cat(lhs, std::tuple(rhs)); } /*! * \brief Allows construction of string-tuples via %-operator, eg. string1 % "string2" % string3. */ -template > * = nullptr> -constexpr auto operator%(const Tuple &lhs, IntegralType rhs) -> decltype(std::tuple_cat(lhs, std::make_tuple(rhs))) +template , std::is_integral> * = nullptr> +constexpr auto operator%(const Tuple &lhs, IntegralType rhs) -> decltype(std::tuple_cat(lhs, std::tuple(rhs))) { - return std::tuple_cat(lhs, std::make_tuple(rhs)); + return std::tuple_cat(lhs, std::tuple(rhs)); } /*! @@ -296,9 +298,9 @@ constexpr auto operator%(const Tuple &lhs, IntegralType rhs) -> decltype(std::tu template , Traits::IsSpecializationOf> * = nullptr> -constexpr auto operator%(const StringType &lhs, const StringType &rhs) -> decltype(std::make_tuple(&lhs, &rhs)) +constexpr auto operator%(const StringType &lhs, const StringType &rhs) -> decltype(std::tuple(lhs, rhs)) { - return std::make_tuple(&lhs, &rhs); + return std::tuple(lhs, rhs); } /*! @@ -307,9 +309,9 @@ constexpr auto operator%(const StringType &lhs, const StringType &rhs) -> declty template , Traits::IsSpecializationOf> * = nullptr> -constexpr auto operator%(const char *lhs, const StringType &rhs) -> decltype(std::make_tuple(lhs, &rhs)) +constexpr auto operator%(const char *lhs, const StringType &rhs) -> decltype(std::tuple(lhs, rhs)) { - return std::make_tuple(lhs, &rhs); + return std::tuple(lhs, rhs); } /*! @@ -318,9 +320,9 @@ constexpr auto operator%(const char *lhs, const StringType &rhs) -> decltype(std template , Traits::IsSpecializationOf> * = nullptr> -constexpr auto operator%(const StringType &lhs, const char *rhs) -> decltype(std::make_tuple(&lhs, rhs)) +constexpr auto operator%(const StringType &lhs, const char *rhs) -> decltype(std::tuple(lhs, rhs)) { - return std::make_tuple(&lhs, rhs); + return std::tuple(lhs, rhs); } /*! @@ -329,9 +331,9 @@ constexpr auto operator%(const StringType &lhs, const char *rhs) -> decltype(std template , Traits::IsSpecializationOf> * = nullptr> -constexpr auto operator%(const StringType &lhs, char rhs) -> decltype(std::make_tuple(&lhs, rhs)) +constexpr auto operator%(const StringType &lhs, char rhs) -> decltype(std::tuple(lhs, rhs)) { - return std::make_tuple(&lhs, rhs); + return std::tuple(lhs, rhs); } /*! @@ -340,9 +342,9 @@ constexpr auto operator%(const StringType &lhs, char rhs) -> decltype(std::make_ template , Traits::IsSpecializationOf> * = nullptr> -constexpr auto operator%(char lhs, const StringType &rhs) -> decltype(std::make_tuple(lhs, &rhs)) +constexpr auto operator%(char lhs, const StringType &rhs) -> decltype(std::tuple(lhs, rhs)) { - return std::make_tuple(lhs, &rhs); + return std::tuple(lhs, rhs); } /*! @@ -360,7 +362,7 @@ template inline std::string operator+(const Tuple &lhs, const StringType &rhs) { - return tupleToString(std::tuple_cat(lhs, std::make_tuple(&rhs))); + return tupleToString(std::tuple_cat(lhs, std::tuple(rhs))); } /*! @@ -375,7 +377,7 @@ inline std::string operator+(const Tuple &lhs, const StringType &rhs) template > * = nullptr> inline std::string operator+(const Tuple &lhs, const char *rhs) { - return tupleToString(std::tuple_cat(lhs, std::make_tuple(rhs))); + return tupleToString(std::tuple_cat(lhs, std::tuple(rhs))); } /*! @@ -391,7 +393,7 @@ template , std::is_integral> * = nullptr> inline std::string operator+(const Tuple &lhs, IntegralType rhs) { - return tupleToString(std::tuple_cat(lhs, std::make_tuple(rhs))); + return tupleToString(std::tuple_cat(lhs, std::tuple(rhs))); } } // namespace CppUtilities