OpenFOAM logo
Open Source CFD Toolkit

fileNameI.H

Go 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-2005 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 Description
00026 
00027 \*---------------------------------------------------------------------------*/
00028 
00029 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00030 
00031 namespace Foam
00032 {
00033 
00034 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
00035 
00036 inline void fileName::stripInvalid()
00037 {
00038     if (debug && string::stripInvalid<fileName>(*this))
00039     {
00040         std::cerr
00041             << "fileName::stripInvalid() called for string "
00042             << this->c_str() << std::endl;
00043 
00044         if (debug > 1)
00045         {
00046             std::abort();
00047         }
00048     }
00049 }
00050 
00051 
00052 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
00053 
00054 inline fileName::fileName()
00055 :
00056     string()
00057 {}
00058 
00059 inline fileName::fileName(const fileName& fn)
00060 :
00061     string(fn)
00062 {}
00063 
00064 inline fileName::fileName(const word& w)
00065 :
00066     string(w)
00067 {}
00068 
00069 
00070 inline fileName::fileName(const string& str)
00071 :
00072     string(str)
00073 {
00074     stripInvalid();
00075 }
00076 
00077 
00078 inline fileName::fileName(const std::string& stdStr)
00079 :
00080     string(stdStr)
00081 {
00082     stripInvalid();
00083 }
00084 
00085 
00086 inline fileName::fileName(const char* chars)
00087 :
00088     string(chars)
00089 {
00090     stripInvalid();
00091 }
00092 
00093 
00094 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
00095 
00096 inline bool fileName::valid(char c)
00097 {
00098     return(!isspace(c) && c != '"');
00099 }
00100 
00101 
00102 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00103 
00104 } // End namespace Foam
00105 
00106 // ************************************************************************* //
For further information go to www.openfoam.org