//===-- ArchSpec.h ----------------------------------------------*- C++ -*-===// // // 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 // //===----------------------------------------------------------------------===// #ifndef LLDB_UTILITY_ARCHSPEC_H #define LLDB_UTILITY_ARCHSPEC_H #include "lldb/Utility/CompletionRequest.h" #include "lldb/lldb-enumerations.h" #include "lldb/lldb-forward.h" #include "lldb/lldb-private-enumerations.h" #include "llvm/ADT/StringRef.h" #include "llvm/TargetParser/Triple.h" #include <cstddef> #include <cstdint> #include <string> namespace lldb_private { /// \class ArchSpec ArchSpec.h "lldb/Utility/ArchSpec.h" An architecture /// specification class. /// /// A class designed to be created from a cpu type and subtype, a /// string representation, or an llvm::Triple. Keeping all of the conversions /// of strings to architecture enumeration values confined to this class /// allows new architecture support to be added easily. class ArchSpec { … }; /// \fn bool operator< (const ArchSpec& lhs, const ArchSpec& rhs) Less than /// operator. /// /// Tests two ArchSpec objects to see if \a lhs is less than \a rhs. /// /// \param[in] lhs The Left Hand Side ArchSpec object to compare. \param[in] /// rhs The Left Hand Side ArchSpec object to compare. /// /// \return true if \a lhs is less than \a rhs bool operator<(const ArchSpec &lhs, const ArchSpec &rhs); bool operator==(const ArchSpec &lhs, const ArchSpec &rhs); bool ParseMachCPUDashSubtypeTriple(llvm::StringRef triple_str, ArchSpec &arch); } // namespace lldb_private #endif // LLDB_UTILITY_ARCHSPEC_H