GTIRB  v2.1.0
GrammaTech Intermediate Representation for Binaries: C++ API
CfgNode.hpp
Go to the documentation of this file.
1 //===- CfgNode.hpp -----------------------------------------------*- C++-*-===//
2 //
3 // Copyright (C) 2020 GrammaTech, Inc.
4 //
5 // This code is licensed under the MIT license. See the LICENSE file in the
6 // project root for license terms.
7 //
8 // This project is sponsored by the Office of Naval Research, One Liberty
9 // Center, 875 N. Randolph Street, Arlington, VA 22203 under contract #
10 // N68335-17-C-0700. The content of the information does not necessarily
11 // reflect the position or policy of the Government and no official
12 // endorsement should be inferred.
13 //
14 //===----------------------------------------------------------------------===//
15 #ifndef GTIRB_CFG_NODE_HPP
16 #define GTIRB_CFG_NODE_HPP
17 
18 #include <gtirb/Node.hpp>
19 
24 
25 namespace gtirb {
26 
30 class GTIRB_EXPORT_API CfgNode : public Node {
31 public:
33  static bool classof(const Node* N) { return classofKind(N->getKind()); }
34  static bool classofKind(Kind K) {
35  return K >= Kind::CfgNode && K <= Kind::LAST_CfgNode;
36  }
38 protected:
39  CfgNode(Context& C, Kind Knd) : Node(C, Knd) {}
40  CfgNode(Context& C, Kind Knd, const UUID& U) : Node(C, Knd, U) {}
41 };
42 
43 } // namespace gtirb
44 #endif // GTIRB_CFG_NODE_HPP
gtirb::CfgNode::CfgNode
CfgNode(Context &C, Kind Knd)
Definition: CfgNode.hpp:39
gtirb::CfgNode::CfgNode
CfgNode(Context &C, Kind Knd, const UUID &U)
Definition: CfgNode.hpp:40
gtirb::Node
Represents the base of the Node class hierarchy.
Definition: Node.hpp:39
gtirb::CfgNode
Represents the base of types that can be inserted into the CFG.
Definition: CfgNode.hpp:30
gtirb::UUID
boost::uuids::uuid UUID
Represents a universally unique identifier used to identify Node objects across serialization boundar...
Definition: Context.hpp:36
gtirb::Context
The context under which GTIRB operations occur.
Definition: Context.hpp:63
Node.hpp
Class gtirb::Node.
GTIRB_EXPORT_API
#define GTIRB_EXPORT_API
This macro controls the visibility of exported symbols (i.e. classes) in shared libraries....
Definition: Export.hpp:52
gtirb
Main namespace for the GTIRB API.
Definition: Addr.hpp:28