llvm/clang-tools-extra/clang-tidy/utils/TypeTraits.cpp

//===--- TypeTraits.cpp - clang-tidy---------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#include "TypeTraits.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/DeclCXX.h"
#include "clang/ASTMatchers/ASTMatchFinder.h"
#include <optional>

namespace clang::tidy::utils::type_traits {

namespace {

bool classHasTrivialCopyAndDestroy(QualType Type) {}

bool hasDeletedCopyConstructor(QualType Type) {}

} // namespace

std::optional<bool> isExpensiveToCopy(QualType Type,
                                      const ASTContext &Context) {}

bool recordIsTriviallyDefaultConstructible(const RecordDecl &RecordDecl,
                                           const ASTContext &Context) {}

// Based on QualType::isTrivial.
bool isTriviallyDefaultConstructible(QualType Type, const ASTContext &Context) {}

// Based on QualType::isDestructedType.
bool isTriviallyDestructible(QualType Type) {}

bool hasNonTrivialMoveConstructor(QualType Type) {}

bool hasNonTrivialMoveAssignment(QualType Type) {}

} // namespace clang::tidy::utils::type_traits