Beta Shell
v2.0 ยท web2.us.cloudlogin.co
[FM]
[CMD]
[PHP]
[DB]
[INFO]
[SEC]
File Manager
~
/
usr
/
include
/
clang
/
Tooling
/
ASTDiff
Upload
4 items
Name
Size
Perms
Modified
Actions
[ .. / .. ]
ASTDiff.h
4.01 KB
-rw-r--r--
2025-01-14 09:41:02
Edit
Del
ASTDiffInternal.h
1.17 KB
-rw-r--r--
2025-01-14 09:41:02
Edit
Del
Editing: ASTDiffInternal.h
(1.17 KB)
Path: /usr/include/clang/Tooling/ASTDiff/ASTDiffInternal.h
Back
//===- ASTDiffInternal.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 LLVM_CLANG_TOOLING_ASTDIFF_ASTDIFFINTERNAL_H #define LLVM_CLANG_TOOLING_ASTDIFF_ASTDIFFINTERNAL_H #include "clang/AST/ASTTypeTraits.h" namespace clang { namespace diff { using DynTypedNode = DynTypedNode; /// Within a tree, this identifies a node by its preorder offset. struct NodeId { private: static constexpr int InvalidNodeId = -1; public: int Id; NodeId() : Id(InvalidNodeId) {} NodeId(int Id) : Id(Id) {} operator int() const { return Id; } NodeId &operator++() { return ++Id, *this; } NodeId &operator--() { return --Id, *this; } // Support defining iterators on NodeId. NodeId &operator*() { return *this; } bool isValid() const { return Id != InvalidNodeId; } bool isInvalid() const { return Id == InvalidNodeId; } }; } // end namespace diff } // end namespace clang #endif