17 #ifndef ABSL_STRINGS_INTERNAL_RESIZE_UNINITIALIZED_H_ 18 #define ABSL_STRINGS_INTERNAL_RESIZE_UNINITIALIZED_H_ 21 #include <type_traits> 28 namespace strings_internal {
32 template <
typename string_type,
typename =
void>
35 static void Resize(string_type* s,
size_t new_size) { s->resize(new_size); }
40 template <
typename string_type>
42 string_type,
absl::
void_t<decltype(std::declval<string_type&>()
43 .__resize_default_init(237))> > {
45 static void Resize(string_type* s,
size_t new_size) {
46 s->__resize_default_init(new_size);
55 template <
typename string_type>
64 template <
typename string_type,
typename =
void>
72 #endif // ABSL_STRINGS_INTERNAL_RESIZE_UNINITIALIZED_H_
static void Resize(string_type *s, size_t new_size)
std::false_type HasMember
void STLStringResizeUninitialized(string_type *s, size_t new_size)
typename type_traits_internal::VoidTImpl< Ts... >::type void_t
constexpr bool STLStringSupportsNontrashingResize(string_type *)
static void Resize(string_type *s, size_t new_size)