Lines Matching refs:ASTMultiPtr
303 /// ASTMultiPtr - A moveable smart pointer to multiple AST nodes. Only owns
305 template <typename PtrTy> class ASTMultiPtr;
308 class ASTMultiPtr {
314 ASTMultiPtr() : Nodes(0), Count(0) {}
315 explicit ASTMultiPtr(Sema &) : Nodes(0), Count(0) {}
316 ASTMultiPtr(Sema &, PtrTy *nodes, unsigned count)
319 ASTMultiPtr(PtrTy *nodes, unsigned count) : Nodes(nodes), Count(count) {}
401 ASTMultiPtr<T> move_arg(ASTOwningVector<T, N> &vec) {
402 return ASTMultiPtr<T>(vec.take(), vec.size());
412 ASTMultiPtr<T>& move(ASTMultiPtr<T> &ptr) {
444 typedef ASTMultiPtr<Expr*> MultiExprArg;
445 typedef ASTMultiPtr<Stmt*> MultiStmtArg;
446 typedef ASTMultiPtr<ParsedType> MultiTypeArg;
447 typedef ASTMultiPtr<TemplateParameterList*> MultiTemplateParamsArg;