base_ioc.h

00001 /*
00002   -------------------------------------------------------------------
00003   
00004   Copyright (C) 2006, 2007, Andrew W. Steiner
00005   
00006   This file is part of O2scl.
00007   
00008   O2scl is free software; you can redistribute it and/or modify
00009   it under the terms of the GNU General Public License as published by
00010   the Free Software Foundation; either version 3 of the License, or
00011   (at your option) any later version.
00012   
00013   O2scl is distributed in the hope that it will be useful,
00014   but WITHOUT ANY WARRANTY; without even the implied warranty of
00015   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016   GNU General Public License for more details.
00017   
00018   You should have received a copy of the GNU General Public License
00019   along with O2scl. If not, see <http://www.gnu.org/licenses/>.
00020 
00021   -------------------------------------------------------------------
00022 */
00023 #ifndef O2SCL_BASE_IOC_H
00024 #define O2SCL_BASE_IOC_H
00025 #include <string>
00026 #include <o2scl/collection.h>
00027 #include <o2scl/funct.h>
00028 #include <o2scl/mm_funct.h>
00029 #include <o2scl/multi_funct.h>
00030 #include <o2scl/table.h>
00031 
00032 #ifndef DOXYGENP
00033 namespace o2scl {
00034 #endif
00035 
00036   /** 
00037       \brief Setup I/O objects for base library classes
00038 
00039 
00040    */
00041   class base_ioc {
00042 
00043   public:
00044 
00045     base_ioc() {
00046       bool_io=new bool_io_type("bool");
00047       char_io=new char_io_type("char");
00048       double_io=new double_io_type("double");
00049       int_io=new int_io_type("int");
00050       long_io=new long_io_type("long");
00051       string_io=new string_io_type("string");
00052       word_io=new word_io_type("word");
00053       //ovector_io=new ovector_io_type("ovector");
00054       //omatrix_io=new omatrix_io_type("omatrix");
00055       //ovector_int_io=new ovector_int_io_type("ovector_int");
00056       //omatrix_int_io=new omatrix_int_io_type("omatrix_int");
00057       //ovector_cx_io=new ovector_cx_io_type("ovector_cx");
00058       //omatrix_cx_io=new omatrix_cx_io_type("omatrix_cx");
00059       table_io=new table_io_type("table");
00060     }
00061 
00062     ~base_ioc() {
00063       delete bool_io;
00064       delete char_io;
00065       delete double_io;
00066       delete int_io;
00067       delete long_io;
00068       delete string_io;
00069       delete word_io;
00070       //delete ovector_io;
00071       //delete omatrix_io;
00072       //delete ovector_int_io;
00073       //delete omatrix_int_io;
00074       //delete ovector_cx_io;
00075       //delete omatrix_cx_io;
00076       delete table_io;
00077     }
00078 
00079     bool_io_type *bool_io;
00080     char_io_type *char_io;
00081     double_io_type *double_io;
00082     int_io_type *int_io;
00083     long_io_type *long_io;
00084     string_io_type *string_io;
00085     word_io_type *word_io;
00086     //ovector_io_type *ovector_io;
00087     //omatrix_io_type *omatrix_io;
00088     //ovector_int_io_type *ovector_int_io;
00089     //omatrix_int_io_type *omatrix_int_io;
00090     //ovector_cx_io_type *ovector_cx_io;
00091     //omatrix_cx_io_type *omatrix_cx_io;
00092     table_io_type *table_io;
00093     
00094   protected:
00095 
00096 #ifndef DOXYGENP
00097 
00098 #endif
00099   
00100   };
00101 
00102 #ifndef DOXYGENP
00103 }
00104 #endif
00105 
00106 #endif

Documentation generated with Doxygen and provided under the GNU Free Documentation License. See License Information for details.

Project hosting provided by SourceForge.net Logo, O2scl Sourceforge Project Page