/*---------------------------------------------------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation Copyright (C) 2017-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. OpenFOAM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. OpenFOAM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see . Class Foam::UList Description A 1D vector of objects of type \, where the size of the vector is known and can be used for subscript bounds checking, etc. Storage is not allocated during construction or use but is supplied to the constructor as an argument. This type of list is particularly useful for lists that refer to parts of existing lists such as SubList. SourceFiles UList.C UListI.H UListIO.C \*---------------------------------------------------------------------------*/ #ifndef Foam_UList_H #define Foam_UList_H #include "bool.H" #include "label.H" #include "uLabel.H" #include "zero.H" #include "one.H" #include "contiguous.H" #include "stdFoam.H" #include "nullObject.H" #include "Hash.H" #include "ListPolicy.H" #include #include // i.e, std::vector // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { // Forward Declarations class labelRange; template class List; template class SubList; template class UList; template class IndirectList; template class UIndirectList; template class IndirectListBase; template Istream& operator>>(Istream&, UList&); template Ostream& operator<<(Ostream&, const UList&); // Common list types typedef UList boolUList; //!< A UList of bools typedef UList charUList; //!< A UList of chars typedef UList