This commit is contained in:
Erik Frojdh
2019-08-13 09:16:29 +02:00
parent c2f57f5ab0
commit 6f6ee19906
3 changed files with 25 additions and 3 deletions

View File

@ -35,6 +35,19 @@ struct has_str<T, typename std::conditional<
has_str_helper<decltype(std::declval<T>().str())>,
void>::type> : public std::true_type {};
/**
* Has emplace_back method
*/
template <typename T, typename _ = void> struct has_emplace_back : std::false_type {};
template <typename... Ts> struct has_emplace_back_helper {};
template <typename T>
struct has_emplace_back<T, typename std::conditional<
false,
has_emplace_back_helper<decltype(std::declval<T>().emplace_back())>,
void>::type> : public std::true_type {};
/**
* Type trait to evaluate if template parameter is
* complying with a standard container