| 74 | // Detect if type has insert(value) method |
| 75 | template<typename T> |
| 76 | class has_insert_value { |
| 77 | template<typename C> static auto test(int) -> decltype(fl::declval<C>().insert(fl::declval<fl::shared_ptr<int>>()), fl::true_type()); |
| 78 | template<typename> static fl::false_type test(...); |
| 79 | public: |
| 80 | static constexpr bool value = fl::is_same<decltype(test<T>(0)), fl::true_type>::value; |
| 81 | }; |
| 82 | |
| 83 | // Detect if type has insert(key, value) method (for maps) |
| 84 | template<typename T> |