#include "llvm/ADT/DenseMap.h"
#include "CountCopyAndMove.h"
#include "llvm/ADT/DenseMapInfo.h"
#include "llvm/ADT/DenseMapInfoVariant.h"
#include "llvm/ADT/StringRef.h"
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include <map>
#include <set>
#include <utility>
#include <variant>
usingnamespacellvm;
namespace …
namespace {
struct A { … };
struct B : public A { … };
struct AlwaysEqType { … };
}
namespace llvm {
DenseMapInfo<T, std::enable_if_t<std::is_base_of_v<A, T>>>;
template <> struct DenseMapInfo<AlwaysEqType> { … };
}
namespace {
TEST(DenseMapCustomTest, SFINAEMapInfo) { … }
TEST(DenseMapCustomTest, VariantSupport) { … }
TEST(DenseMapCustomTest, PairPrinting) { … }
}