FEI Version of the Day
fei_Logger.hpp
00001 /*--------------------------------------------------------------------*/
00002 /*    Copyright 2005 Sandia Corporation.                              */
00003 /*    Under the terms of Contract DE-AC04-94AL85000, there is a       */
00004 /*    non-exclusive license for use of this work by or on behalf      */
00005 /*    of the U.S. Government.  Export of this program may require     */
00006 /*    a license from the United States Government.                    */
00007 /*--------------------------------------------------------------------*/
00008 
00009 #ifndef _fei_Logger_hpp_
00010 #define _fei_Logger_hpp_
00011 
00012 #include <fei_fwd.hpp>
00013 #include <fei_iosfwd.hpp>
00014 #include <set>
00015 
00016 namespace fei {
00019 class Logger {
00020  public:
00022   Logger();
00024   virtual ~Logger();
00025 
00027   void setOutputLevel(OutputLevel olevel);
00028 
00029   void addLogID(int ID);
00030   void addLogEqn(int eqn);
00031 
00032   bool isLogID(int ID);
00033   bool isLogEqn(int eqn);
00034 
00035   std::set<int>& getLogIDs();
00036   std::set<int>& getLogEqns();
00037 
00038  protected:
00042   OutputLevel output_level_;
00044   FEI_OSTREAM* output_stream_;
00045 
00046   std::set<int> logIDs_;
00047   std::set<int> logEqns_;
00048 
00049  private:
00050   Logger(const Logger& src);
00051   Logger& operator=(const Logger& src);
00052 };//class Logger
00053 }//namespace fei
00054 #endif
00055 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends