FEI Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
fei_fwd.hpp
Go to the documentation of this file.
1/*
2// @HEADER
3// ************************************************************************
4// FEI: Finite Element Interface to Linear Solvers
5// Copyright (2005) Sandia Corporation.
6//
7// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the
8// U.S. Government retains certain rights in this software.
9//
10// Redistribution and use in source and binary forms, with or without
11// modification, are permitted provided that the following conditions are
12// met:
13//
14// 1. Redistributions of source code must retain the above copyright
15// notice, this list of conditions and the following disclaimer.
16//
17// 2. Redistributions in binary form must reproduce the above copyright
18// notice, this list of conditions and the following disclaimer in the
19// documentation and/or other materials provided with the distribution.
20//
21// 3. Neither the name of the Corporation nor the names of the
22// contributors may be used to endorse or promote products derived from
23// this software without specific prior written permission.
24//
25// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
26// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
29// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36//
37// Questions? Contact Alan Williams (william@sandia.gov)
38//
39// ************************************************************************
40// @HEADER
41*/
42
43#ifndef _fei_fwd_hpp_
44#define _fei_fwd_hpp_
45
46
47#include <fei_macros.hpp>
48#include <fei_defs.h>
49
50//
51//Forward declarations for fei classes.
52//
53
54//
55//First, the "old" classes that aren't in a namespace.
56//
57
58class BlockDescriptor;
60class Data;
61class EqnBuffer;
62class EqnCommMgr;
64class Filter;
66class LibraryWrapper;
68class NodeCommMgr;
69class NodeDatabase;
70class NodeDescriptor;
71class ProcEqns;
73class SlaveVariable;
74
75//
76//Now the symbols in the fei namespace.
77//
78
79namespace fei {
82 //We want to make sure that BRIEF_LOGS < FULL_LOGS < ALL, so that
83 //debug-output code can use statements like
84 // 'if (output_level_ >= BRIEF_LOGS)'.
85 //So be aware that re-arranging these values can change the behavior
86 //of debug-output code... Don't do it!
87 NONE = 0,
88 STATS = 1,
92 ALL = 5
93 };
94
95 class Factory;
96 class FillableMat;
97 class Graph;
98 class CSRMat;
99 class CSVec;
100 class LogFile;
101 class Logger;
102 class LogManager;
103 class Reducer;
104 class VectorSpace;
105 class MatrixGraph;
106 class Param;
107 class ParameterSet;
108 template<typename T> class SharedIDs;
109 class SparseRowGraph;
110 class Vector;
111 class Matrix;
112 class LinearSystem;
113 template<typename T> class ctg_set;
114 template<typename T> class Matrix_Impl;
115 template<typename T> class Vector_Impl;
116}//namespace fei
117
118//
119//Finally the symbols that are still in the soon-to-be-eliminated
120//snl_fei namespace.
121//
122namespace snl_fei {
123 template<class RecordType> class Constraint;
124 class RecordCollection;
125
126 class BlockDescriptor;
127 class PointBlockMap;
128
129 class Broker;
130 class Factory;
131}
132
133#undef FEI_OSTREAM
134
135#ifdef FEI_HAVE_IOSFWD
136#include <iosfwd>
137#define FEI_OSTREAM std::ostream
138#else
139#include <iostream.hpp>
140#define FEI_OSTREAM ostream
141#endif
142
143#include <exception>
144#include <vector>
145
146#endif
147
OutputLevel
Definition fei_fwd.hpp:81
@ NONE
Definition fei_fwd.hpp:87
@ ALL
Definition fei_fwd.hpp:92
@ MATRIX_FILES
Definition fei_fwd.hpp:89
@ STATS
Definition fei_fwd.hpp:88
@ BRIEF_LOGS
Definition fei_fwd.hpp:90
@ FULL_LOGS
Definition fei_fwd.hpp:91