go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
xoutsimple.h
Go to the documentation of this file.
00001 /*======================================================================
00002 
00003   This file is part of the elastix software.
00004 
00005   Copyright (c) University Medical Center Utrecht. All rights reserved.
00006   See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
00007   details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE. See the above copyright notices for more information.
00012 
00013 ======================================================================*/
00014 
00015 #ifndef __xoutsimple_h
00016 #define __xoutsimple_h
00017 
00018 #include "xoutbase.h"
00019 
00020 
00021 namespace xoutlibrary
00022 {
00023   using namespace std;
00024 
00034   template<class charT, class traits = char_traits<charT> >
00035     class xoutsimple : public xoutbase<charT, traits>
00036   {
00037   public:
00038 
00040     typedef xoutsimple                        Self;
00041     typedef xoutbase<charT, traits>           Superclass;
00042 
00043     typedef typename Superclass::traits_type  traits_type;
00044     typedef typename Superclass::char_type    char_type;
00045     typedef typename Superclass::int_type     int_type;
00046     typedef typename Superclass::pos_type     pos_type;
00047     typedef typename Superclass::off_type     off_type;
00048     typedef typename Superclass::ostream_type ostream_type;
00049     typedef typename Superclass::ios_type     ios_type;
00050 
00051     typedef typename Superclass::CStreamMapType         CStreamMapType;
00052     typedef typename Superclass::XStreamMapType         XStreamMapType;
00053     typedef typename Superclass::CStreamMapIteratorType CStreamMapIteratorType;
00054     typedef typename Superclass::XStreamMapIteratorType XStreamMapIteratorType;
00055     typedef typename Superclass::CStreamMapEntryType    CStreamMapEntryType;
00056     typedef typename Superclass::XStreamMapEntryType    XStreamMapEntryType;
00057 
00059     xoutsimple();
00060 
00062     virtual ~xoutsimple();
00063 
00065     virtual int AddOutput( const char * name, ostream_type * output );
00066     virtual int AddOutput( const char * name, Superclass * output );
00067     virtual int RemoveOutput( const char * name );
00068 
00069     virtual void SetOutputs( const CStreamMapType & outputmap );
00070     virtual void SetOutputs( const XStreamMapType & outputmap );
00071 
00073     virtual const CStreamMapType & GetCOutputs(void);
00074     virtual const XStreamMapType & GetXOutputs(void);
00075 
00076   }; // end class xoutsimple
00077 
00078 
00079 } // end namespace xoutlibrary
00080 
00081 
00082 #include "xoutsimple.hxx"
00083 
00084 #endif // end #ifndef __xoutsimple_h
00085 


Generated on 24-10-2011 for elastix by doxygen 1.7.4 elastix logo