#ifndef FUZZTEST_FUZZTEST_INTERNAL_TYPE_SUPPORT_H_
#define FUZZTEST_FUZZTEST_INTERNAL_TYPE_SUPPORT_H_
#include <cctype>
#include <cstddef>
#include <cstdint>
#include <limits>
#include <string>
#include <string_view>
#include <tuple>
#include <type_traits>
#include <vector>
#include "absl/debugging/symbolize.h"
#include "absl/functional/function_ref.h"
#include "absl/numeric/int128.h"
#include "absl/strings/escaping.h"
#include "absl/strings/has_absl_stringify.h"
#include "absl/strings/match.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h"
#include "absl/strings/string_view.h"
#include "absl/strings/strip.h"
#include "absl/time/time.h"
#include "./fuzztest/internal/domains/absl_helpers.h"
#include "./fuzztest/internal/meta.h"
#include "./fuzztest/internal/printer.h"
#include "google/protobuf/text_format.h"
namespace fuzztest::internal {
template <typename T>
decltype(auto) AutodetectTypePrinter();
template <typename T>
constexpr bool HasKnownPrinter();
inline bool ConsumePrefixUntil(absl::string_view& haystack,
absl::string_view needle) { … }
inline void SkipAnonymous(absl::string_view& in) { … }
template <typename T>
absl::string_view GetTypeName() { … }
has_absl_stringify_v;
struct IntegralPrinter { … };
struct FloatingPrinter { … };
struct StringPrinter { … };
template <typename... Inner>
struct AggregatePrinter { … };
template <typename... Inner>
struct VariantPrinter { … };
template <typename... Inner>
struct OneOfPrinter { … };
struct ProtobufPrinter { … };
template <typename D>
struct ProtobufEnumPrinter { … };
struct MonostatePrinter { … };
template <typename Domain, typename Inner>
struct ContainerPrinter { … };
template <typename F>
constexpr bool HasFunctionName() { … }
template <typename F>
std::string GetFunctionName(const F& f, absl::string_view default_name) { … }
template <typename Mapper, typename... Inner>
struct MappedPrinter { … };
template <typename FlatMapper, typename... Inner>
struct FlatMappedPrinter { … };
struct AutodetectAggregatePrinter { … };
struct DurationPrinter { … };
struct TimePrinter { … };
struct UnknownPrinter { … };
template <typename T>
decltype(auto) AutodetectTypePrinter() { … }
template <typename T>
constexpr bool HasKnownPrinter() { … }
}
#endif