This file is indexed.

/usr/include/trilinos/fei_Factory.hpp is in libtrilinos-dev 10.4.0.dfsg-1ubuntu2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/*--------------------------------------------------------------------*/
/*    Copyright 2005 Sandia Corporation.                              */
/*    Under the terms of Contract DE-AC04-94AL85000, there is a       */
/*    non-exclusive license for use of this work by or on behalf      */
/*    of the U.S. Government.  Export of this program may require     */
/*    a license from the United States Government.                    */
/*--------------------------------------------------------------------*/

#ifndef _fei_Factory_hpp_
#define _fei_Factory_hpp_

#include "fei_macros.hpp"
#include "fei_mpi.h"
#include "fei_VectorSpace.hpp"
#include "fei_MatrixGraph.hpp"
#include "fei_Matrix.hpp"
#include "fei_Vector.hpp"
#include "fei_LinearSystem.hpp"
#include "fei_Solver.hpp"
#include "fei_LibraryWrapper.hpp"
#include "FEI.hpp"

namespace fei {
  //first, a forward declaration...
  class ParameterSet;

  /** Interface for creating fei:: instances.
      In all cases, input arguments (arguments required to construct the
      requested class) are followed by the result or output argument.

      This interface inherits the various fei:: factory interfaces as a
      convenience mechanism, so that user code can deal with one factory
      object instead of a different factory for each class. In addition
      to inheriting the fei:: factories, this interface also provides
      methods for creating instances of the 'old' FEI class.
   */
  class Factory : public virtual fei::VectorSpace::Factory,
                  public virtual fei::MatrixGraph::Factory,
                  public virtual fei::Matrix::Factory,
                  public virtual fei::Vector::Factory,
                  public virtual fei::LinearSystem::Factory,
                  public virtual fei::Solver::Factory {
  public:
    /** constructor */
    Factory(MPI_Comm comm);

    /** virtual destructor */
    virtual ~Factory();

    /** Create and return a new Factory of the same type. */
    virtual fei::SharedPtr<Factory> clone() const = 0;

    /** Set parameters.
     */
    virtual void parameters(const fei::ParameterSet& paramset);

    /** Produce an instance of the "old" FEI class (implements the FEI 2.1
	interface specification).

        This function is virtual, but not pure-virtual. An implementation
        is provided by this class, and can be inherited by derived classes
        if desired.
    */
    virtual fei::SharedPtr<FEI> createFEI(fei::SharedPtr<LibraryWrapper> wrapper,
					  MPI_Comm comm);

    /** Produce an instance of the "old" FEI class (implements the FEI 2.1
	interface specification).

        This function is virtual, but not pure-virtual. An implementation
        is provided by this class, and can be inherited by derived classes
        if desired.
    */
    virtual fei::SharedPtr<FEI> createFEI(MPI_Comm comm);

    /** Query screen output-level (set by parameter-string "outputLevel n"
	via parameters())
     */
    virtual int getOutputLevel() const = 0;

   private:
    Factory();
    Factory(const Factory& src);
  };//class Factory
}//namespace fei

#endif // _fei_Factory_hpp_