XC Open source finite element analysis program
FileStream.h
1 //----------------------------------------------------------------------------
2 // XC program; finite element analysis code
3 // for structural analysis and design.
4 //
5 // Copyright (C) Luis Claudio Pérez Tato
6 //
7 // This program derives from OpenSees <http://opensees.berkeley.edu>
8 // developed by the «Pacific earthquake engineering research center».
9 //
10 // Except for the restrictions that may arise from the copyright
11 // of the original program (see copyright_opensees.txt)
12 // XC is free software: you can redistribute it and/or modify
13 // it under the terms of the GNU General Public License as published by
14 // the Free Software Foundation, either version 3 of the License, or
15 // (at your option) any later version.
16 //
17 // This software is distributed in the hope that it will be useful, but
18 // WITHOUT ANY WARRANTY; without even the implied warranty of
19 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 // GNU General Public License for more details.
21 //
22 //
23 // You should have received a copy of the GNU General Public License
24 // along with this program.
25 // If not, see <http://www.gnu.org/licenses/>.
26 //----------------------------------------------------------------------------
27 /* ****************************************************************** **
28 ** OpenSees - Open System for Earthquake Engineering Simulation **
29 ** Pacific Earthquake Engineering Research Center **
30 ** **
31 ** **
32 ** (C) Copyright 1999, The Regents of the University of California **
33 ** All Rights Reserved. **
34 ** **
35 ** Commercial use of this program without express permission of the **
36 ** University of California, Berkeley, is strictly prohibited. See **
37 ** file 'COPYRIGHT' in main directory for information on usage and **
38 ** redistribution, and for a DISCLAIMER OF ALL WARRANTIES. **
39 ** **
40 ** Developed by: **
41 ** Frank McKenna (fmckenna@ce.berkeley.edu) **
42 ** Gregory L. Fenves (fenves@ce.berkeley.edu) **
43 ** Filip C. Filippou (filippou@ce.berkeley.edu) **
44 ** **
45 ** ****************************************************************** */
46 
47 // $Revision: 1.3 $
48 // $Date: 2004/11/13 00:53:14 $
49 // $Source: /usr/local/cvs/OpenSees/SRC/handler/FileStream.h,v $
50 
51 #ifndef _FileStream
52 #define _FileStream
53 
54 #include <utility/handler/OPS_Stream.h>
55 
56 #include <fstream>
57 #include <string>
58 
59 namespace XC {
60 class FileStream : public OPS_Stream
61  {
62  private:
63  std::ofstream theFile;
64  int fileOpen;
65  std::string fileName;
66  public:
67  FileStream(void);
68  virtual ~FileStream(void);
69 
70 
71  //int setFile(const char *fileName, openMode mode = OVERWRITE);
72  int setFile(const std::string &fileName, openMode mode = OVERWRITE);
73  int open(void);
74  int close(void);
75 
76  int setPrecision(int precision);
77  int setFloatField(floatField);
78  int precision(int precision) {return 0;};
79  int width(int width) {return 0;};
80  inline const std::string &getFileName(void) const
81  {return fileName;}
82  std::ostream &stream(void)
83  { return theFile; }
84 
85  OPS_Stream& write(const char *s, int n);
86  OPS_Stream& write(const unsigned char *s, int n);
87  OPS_Stream& write(const signed char *s, int n);
88  OPS_Stream& write(const void *s, int n);
89  OPS_Stream& operator<<(char c);
90  OPS_Stream& operator<<(unsigned char c);
91  OPS_Stream& operator<<(signed char c);
92  OPS_Stream& operator<<(const char *s);
93  OPS_Stream& operator<<(const std::string &s);
94  OPS_Stream& operator<<(const unsigned char *s);
95  OPS_Stream& operator<<(const signed char *s);
96  OPS_Stream& operator<<(const void *p);
97  OPS_Stream& operator<<(int n);
98  OPS_Stream& operator<<(unsigned int n);
99  OPS_Stream& operator<<(long n);
100  OPS_Stream& operator<<(unsigned long n);
101  OPS_Stream& operator<<(short n);
102  OPS_Stream& operator<<(unsigned short n);
103  OPS_Stream& operator<<(bool b);
104  OPS_Stream& operator<<(double n);
105  OPS_Stream& operator<<(float n);
106  // OPS_Stream& operator<<(__omanip func);
107  // OPS_Stream& operator<<(__manip func);
108  // OPS_Stream& operator<<(streambuf*);
109  // OPS_Stream& ends(OPS_Stream& outs);
110  // OPS_Stream& flush(OPS_Stream& outs);
111  // OPS_Stream& (OPS_Stream& outs);
112  };
113 } // end of XC namespace
114 
115 #endif
Definition: OPS_Stream.h:60
Definition: FileStream.h:60
================================================================================
Definition: ContinuaReprComponent.h:34