mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-23 01:58:00 +02:00
WIP
This commit is contained in:
@ -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
|
||||
|
@ -43,4 +43,9 @@ TEST_CASE("sls::is_duration"){
|
||||
|
||||
TEST_CASE("initializer list"){
|
||||
REQUIRE(sls::is_light_container<std::initializer_list<int>>::value == true);
|
||||
}
|
||||
|
||||
TEST_CASE("Check for emplace back"){
|
||||
//we know vector should have this its the type trait that is tested
|
||||
REQUIRE(sls::has_emplace_back<std::vector<int>>::value == true);
|
||||
}
|
Reference in New Issue
Block a user