1/* Copyright (C) 2017-2020 Free Software Foundation, Inc. 2 3 This file is part of GDB. 4 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 3 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 17 18#ifndef COMMON_DEF_VECTOR_H 19#define COMMON_DEF_VECTOR_H 20 21#include <vector> 22#include "gdbsupport/default-init-alloc.h" 23 24namespace gdb { 25 26/* A vector that uses an allocator that default constructs using 27 default-initialization rather than value-initialization. The idea 28 is to use this when you don't want zero-initialization of elements 29 of vectors of trivial types. E.g., byte buffers. */ 30 31template<typename T> using def_vector 32 = std::vector<T, gdb::default_init_allocator<T>>; 33 34} /* namespace gdb */ 35 36#endif /* COMMON_DEF_VECTOR_H */ 37