|
|
|
fileNameI.HGo to the documentation of this file.00001 /*---------------------------------------------------------------------------*\ 00002 ========= | 00003 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox 00004 \\ / O peration | 00005 \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd. 00006 \\/ M anipulation | 00007 ------------------------------------------------------------------------------- 00008 License 00009 This file is part of OpenFOAM. 00010 00011 OpenFOAM is free software; you can redistribute it and/or modify it 00012 under the terms of the GNU General Public License as published by the 00013 Free Software Foundation; either version 2 of the License, or (at your 00014 option) any later version. 00015 00016 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT 00017 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00018 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00019 for more details. 00020 00021 You should have received a copy of the GNU General Public License 00022 along with OpenFOAM; if not, write to the Free Software Foundation, 00023 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00024 00025 \*---------------------------------------------------------------------------*/ 00026 00027 // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // 00028 00029 inline void Foam::fileName::stripInvalid() 00030 { 00031 if (debug && string::stripInvalid<fileName>(*this)) 00032 { 00033 std::cerr 00034 << "fileName::stripInvalid() called for invalid fileName " 00035 << this->c_str() << std::endl; 00036 00037 if (debug > 1) 00038 { 00039 std::cerr 00040 << " For debug level (= " << debug 00041 << ") > 1 this is considered fatal" << std::endl; 00042 std::abort(); 00043 } 00044 00045 removeRepeated('/'); 00046 removeTrailing('/'); 00047 } 00048 } 00049 00050 00051 // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // 00052 00053 inline Foam::fileName::fileName() 00054 : 00055 string() 00056 {} 00057 00058 inline Foam::fileName::fileName(const fileName& fn) 00059 : 00060 string(fn) 00061 {} 00062 00063 inline Foam::fileName::fileName(const word& w) 00064 : 00065 string(w) 00066 {} 00067 00068 00069 inline Foam::fileName::fileName(const string& str) 00070 : 00071 string(str) 00072 { 00073 stripInvalid(); 00074 } 00075 00076 00077 inline Foam::fileName::fileName(const std::string& str) 00078 : 00079 string(str) 00080 { 00081 stripInvalid(); 00082 } 00083 00084 00085 inline Foam::fileName::fileName(const char* str) 00086 : 00087 string(str) 00088 { 00089 stripInvalid(); 00090 } 00091 00092 00093 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // 00094 00095 inline bool Foam::fileName::valid(char c) 00096 { 00097 return 00098 ( 00099 !isspace(c) 00100 && c != '"' // string quote 00101 && c != '\'' // string quote 00102 ); 00103 } 00104 00105 00106 // ************************************************************************* // |