fei_fwd.hpp

00001 #ifndef _fei_fwd_hpp_
00002 #define _fei_fwd_hpp_
00003 
00004 /*--------------------------------------------------------------------*/
00005 /*    Copyright 2006 Sandia Corporation.                              */
00006 /*    Under the terms of Contract DE-AC04-94AL85000, there is a       */
00007 /*    non-exclusive license for use of this work by or on behalf      */
00008 /*    of the U.S. Government.  Export of this program may require     */
00009 /*    a license from the United States Government.                    */
00010 /*--------------------------------------------------------------------*/
00011 
00012 #include <fei_macros.hpp>
00013 #include <fei_defs.h>
00014 
00015 //
00016 //Forward declarations for fei classes.
00017 //
00018 
00019 //
00020 //First, the "old" classes that aren't in a namespace.
00021 //
00022 
00023 class BlockDescriptor;
00024 class ConnectivityTable;
00025 class Data;
00026 class EqnBuffer;
00027 class EqnCommMgr;
00028 class FEI_Implementation;
00029 class Filter;
00030 class FiniteElementData;
00031 class LibraryWrapper;
00032 class LinearSystemCore;
00033 class NodeCommMgr;
00034 class NodeDatabase;
00035 class NodeDescriptor;
00036 class ProcEqns;
00037 class SNL_FEI_Structure;
00038 class SlaveVariable;
00039 
00040 //
00041 //Now the symbols in the fei namespace.
00042 //
00043 
00044 namespace fei {
00046   enum OutputLevel {
00047     //We want to make sure that BRIEF_LOGS < FULL_LOGS < ALL, so that
00048     //debug-output code can use statements like
00049     //  'if (output_level_ >= BRIEF_LOGS)'.
00050     //So be aware that re-arranging these values can change the behavior
00051     //of debug-output code... Don't do it!
00052     NONE = 0,
00053     STATS = 1,
00054     MATRIX_FILES = 2,
00055     BRIEF_LOGS = 3,
00056     FULL_LOGS = 4,
00057     ALL = 5
00058   };
00059 
00060   class Factory;
00061   class FillableMat;
00062   class Graph;
00063   class CSRMat;
00064   class CSVec;
00065   class LogFile;
00066   class Logger;
00067   class LogManager;
00068   class Reducer;
00069   class VectorSpace;
00070   class MatrixGraph;
00071   class Param;
00072   class ParameterSet;
00073   class SparseRowGraph;
00074   class Vector;
00075   class Matrix;
00076   class LinearSystem;
00077   template<typename T> class ctg_set;
00078   template<typename T> class Matrix_Impl;
00079   template<typename T> class Vector_Impl;
00080 }//namespace fei
00081 
00082 //
00083 //Finally the symbols that are still in the soon-to-be-eliminated
00084 //snl_fei namespace.
00085 //
00086 namespace snl_fei {
00087   template<class RecordType> class Constraint;
00088   class RecordCollection;
00089 
00090   class BlockDescriptor;
00091   class PointBlockMap;
00092 
00093   class Broker;
00094   class Factory;
00095 }
00096 
00097 #undef FEI_OSTREAM
00098 
00099 #ifdef FEI_HAVE_IOSFWD
00100 #include <iosfwd>
00101 #define FEI_OSTREAM std::ostream
00102 #else
00103 #include <iostream.hpp>
00104 #define FEI_OSTREAM ostream
00105 #endif
00106 
00107 #include <exception>
00108 #include <vector>
00109 
00110 #endif
00111 

Generated on Wed May 12 21:30:41 2010 for FEI by  doxygen 1.4.7