clang-metatool
A framework for reusing code in clang tools
file_graph.h
Go to the documentation of this file.
1 #ifndef INCLUDED_CLANGMETATOOL_TYPES_FILE_GRAPH_H
2 #define INCLUDED_CLANGMETATOOL_TYPES_FILE_GRAPH_H
3 
4 #include <iosfwd>
5 #include <iostream>
6 #include <set>
7 #include <vector>
8 
11 
12 namespace clangmetatool {
13 namespace types {
14 class FileGraph : public std::set<FileGraphEdge> {
15 
20  void print_graph(const char *name, std::ostream &s);
21 
25  bool is_in_graph(const FileGraphEdge &e);
26 
31  std::vector<clangmetatool::types::FileUID>
32  points_to(const clangmetatool::types::FileGraph &g,
34 };
35 }
36 }
37 
38 #endif
39 
40 // ----------------------------------------------------------------------------
41 // Copyright 2018 Bloomberg Finance L.P.
42 //
43 // Licensed under the Apache License, Version 2.0 (the "License");
44 // you may not use this file except in compliance with the License.
45 // You may obtain a copy of the License at
46 //
47 // http://www.apache.org/licenses/LICENSE-2.0
48 //
49 // Unless required by applicable law or agreed to in writing, software
50 // distributed under the License is distributed on an "AS IS" BASIS,
51 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
52 // See the License for the specific language governing permissions and
53 // limitations under the License.
54 // ----------------------------- END-OF-FILE ----------------------------------
unsigned int FileUID
Definition: file_uid.h:6
std::pair< FileUID, FileUID > FileGraphEdge