ESyS-Particle  4.0.1
Mesh2DReaderImpl.h
00001 
00002 //                                                         //
00003 // Copyright (c) 2003-2011 by The University of Queensland //
00004 // Earth Systems Science Computational Centre (ESSCC)      //
00005 // http://www.uq.edu.au/esscc                              //
00006 //                                                         //
00007 // Primary Business: Brisbane, Queensland, Australia       //
00008 // Licensed under the Open Software License version 3.0    //
00009 // http://www.opensource.org/licenses/osl-3.0.php          //
00010 //                                                         //
00012 
00013 #ifndef __MESH2DREADERIMPL_H
00014 #define __MESH2DREADERIMPL_H
00015 
00016 // --- Project includes ---
00017 #include "Mesh2DReader.h"
00018 
00019 // --- STL includes ---
00020 #include <string>
00021 
00022 using std::string;
00023 
00024 // --- IO includes ---
00025 #include <iostream>
00026 
00027 using std::istream;
00028 
00029 namespace esys
00030 {
00031   namespace lsm
00032   {
00042     class Mesh2DReader::Impl
00043     {
00044     public:
00045       // types
00046       typedef std::auto_ptr<Node2DReader> NodeReaderPtr;
00047       typedef std::auto_ptr<Edge2DReader> EdgeReaderPtr;
00048       typedef std::auto_ptr<istream>    IStreamPtr;
00049 
00050       // variables
00051       NodeReaderPtr m_node_reader_ptr;
00052       EdgeReaderPtr m_edge_reader_ptr;
00053       IStreamPtr    m_istream_ptr;
00054       string m_file_name;
00055 
00056       // functions
00057 
00058       Impl(const string&);
00059       void initialise();
00060     };
00061   };
00062 };
00063 #endif // __MESH2DREADERIMPL_H