BUG: UListIO: byteSize overflowing on really big faceLists
[OpenFOAM-2.0.x.git] / src / OpenFOAM / primitives / strings / fileName / fileNameI.H
bloba015e971bdf69a9f4c94f3df4abab0c5946fcb87
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of OpenFOAM.
11     OpenFOAM is free software: you can redistribute it and/or modify it
12     under the terms of the GNU General Public License as published by
13     the Free Software Foundation, either version 3 of the License, or
14     (at your option) any later version.
16     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
19     for more details.
21     You should have received a copy of the GNU General Public License
22     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
24 \*---------------------------------------------------------------------------*/
26 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
28 inline void Foam::fileName::stripInvalid()
30     if (debug && string::stripInvalid<fileName>(*this))
31     {
32         std::cerr
33             << "fileName::stripInvalid() called for invalid fileName "
34             << this->c_str() << std::endl;
36         if (debug > 1)
37         {
38             std::cerr
39                 << "    For debug level (= " << debug
40                 << ") > 1 this is considered fatal" << std::endl;
41             std::abort();
42         }
44         removeRepeated('/');
45         removeTrailing('/');
46     }
50 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
52 inline Foam::fileName::fileName()
54     string()
57 inline Foam::fileName::fileName(const fileName& fn)
59     string(fn)
62 inline Foam::fileName::fileName(const word& w)
64     string(w)
68 inline Foam::fileName::fileName(const string& str)
70     string(str)
72     stripInvalid();
76 inline Foam::fileName::fileName(const std::string& str)
78     string(str)
80     stripInvalid();
84 inline Foam::fileName::fileName(const char* str)
86     string(str)
88     stripInvalid();
92 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
94 inline bool Foam::fileName::valid(char c)
96     return
97     (
98         !isspace(c)
99      && c != '"'   // string quote
100      && c != '\''  // string quote
101     );
105 // ************************************************************************* //