diff options
Diffstat (limited to 'clang/include/clang/AST/TemplateBase.h')
| -rw-r--r-- | clang/include/clang/AST/TemplateBase.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/include/clang/AST/TemplateBase.h b/clang/include/clang/AST/TemplateBase.h index 9e4a577c4cb..1026a7807a6 100644 --- a/clang/include/clang/AST/TemplateBase.h +++ b/clang/include/clang/AST/TemplateBase.h @@ -18,6 +18,7 @@ #include "clang/AST/TemplateName.h" #include "clang/AST/Type.h" #include "llvm/ADT/APSInt.h" +#include "llvm/ADT/iterator_range.h" #include "llvm/ADT/SmallVector.h" #include "llvm/Support/Compiler.h" #include "llvm/Support/ErrorHandling.h" @@ -327,6 +328,12 @@ public: return Args.Args + Args.NumArgs; } + /// \brief Iterator range referencing all of the elements of a template + /// argument pack. + llvm::iterator_range<pack_iterator> pack_elements() const { + return llvm::make_range(pack_begin(), pack_end()); + } + /// \brief The number of template arguments in the given template argument /// pack. unsigned pack_size() const { |

