xref: /freebsd-src/contrib/llvm-project/lldb/utils/TableGen/LLDBTableGenUtils.h (revision e25152834cdf3b353892835a4f3b157e066a8ed4)
19dba64beSDimitry Andric //===- LLDBTableGenUtils.h --------------------------------------*- C++ -*-===//
29dba64beSDimitry Andric //
39dba64beSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
49dba64beSDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
59dba64beSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
69dba64beSDimitry Andric //
79dba64beSDimitry Andric //===----------------------------------------------------------------------===//
89dba64beSDimitry Andric 
9*5ffd83dbSDimitry Andric #ifndef LLDB_UTILS_TABLEGEN_LLDBTABLEGENUTILS_H
10*5ffd83dbSDimitry Andric #define LLDB_UTILS_TABLEGEN_LLDBTABLEGENUTILS_H
119dba64beSDimitry Andric 
129dba64beSDimitry Andric #include "llvm/ADT/StringRef.h"
139dba64beSDimitry Andric #include <map>
149dba64beSDimitry Andric #include <string>
159dba64beSDimitry Andric #include <vector>
169dba64beSDimitry Andric 
179dba64beSDimitry Andric namespace llvm {
189dba64beSDimitry Andric class RecordKeeper;
199dba64beSDimitry Andric class Record;
209dba64beSDimitry Andric } // namespace llvm
219dba64beSDimitry Andric 
229dba64beSDimitry Andric namespace lldb_private {
239dba64beSDimitry Andric 
249dba64beSDimitry Andric /// Map of names to their associated records. This map also ensures that our
259dba64beSDimitry Andric /// records are sorted in a deterministic way.
269dba64beSDimitry Andric typedef std::map<std::string, std::vector<llvm::Record *>> RecordsByName;
279dba64beSDimitry Andric 
289dba64beSDimitry Andric /// Return records grouped by name.
299dba64beSDimitry Andric RecordsByName getRecordsByName(std::vector<llvm::Record *> Records,
309dba64beSDimitry Andric                                llvm::StringRef);
319dba64beSDimitry Andric 
329dba64beSDimitry Andric } // namespace lldb_private
339dba64beSDimitry Andric 
349dba64beSDimitry Andric #endif
35