00001 // -*- Mode: C++ -*- 00002 // FileOutputStream.h 00003 // Copyright © 2003 Laboratoire de Biologie Informatique et Théorique 00004 // Université de Montréal. 00005 // Author : Martin Larose 00006 // Created On : Fri Nov 7 11:18:53 2003 00007 // $Revision: 1.1 $ 00008 // 00009 // This file is part of xmlcpg. 00010 // 00011 // xmlcpg is free software; you can redistribute it and/or modify it under 00012 // the terms of the GNU Lesser General Public License as published by the Free 00013 // Software Foundation; either version 2 of the License, or (at your option) 00014 // any later version. 00015 // 00016 // xmlcpg is distributed in the hope that it will be useful, but WITHOUT ANY 00017 // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00018 // FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for 00019 // more details. 00020 // 00021 // You should have received a copy of the GNU Lesser General Public License 00022 // along with xmlcpg; if not, write to the Free Software Foundation, Inc., 00023 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00024 00025 00026 #ifndef _rnaml_FileOutputStream_h_ 00027 #define _rnaml_FileOutputStream_h_ 00028 00029 #include <cstdio> 00030 00031 #include "OutputStream.h" 00032 00033 00034 00035 namespace rnaml 00036 { 00041 class FileOutputStream : public OutputStream 00042 { 00043 00044 public: 00045 00046 // LIFECYCLE ------------------------------------------------------------ 00047 00052 FileOutputStream (FILE *f); 00053 00058 FileOutputStream (const char *name); 00059 00064 FileOutputStream (int fd); 00065 00066 // OPERATORS ------------------------------------------------------------ 00067 00068 // ACCESS --------------------------------------------------------------- 00069 00074 int getFD () const; 00075 00076 // METHODS -------------------------------------------------------------- 00077 00078 // I/O ----------------------------------------------------------------- 00079 00080 }; 00081 } 00082 00083 #endif