This file is indexed.

/usr/include/vtk-5.8/vtkExodusIIReaderVariableCheck.h is in libvtk5-dev 5.8.0-5.

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
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#ifndef __vtkExodusIIReaderVariableCheck_h
#define __vtkExodusIIReaderVariableCheck_h

#include "vtkExodusIIReaderPrivate.h" // for ArrayInfoType

#include <vtksys/RegularExpression.hxx> // for integration point names
#include <vtksys/String.hxx> // STL Header for Start/StartInternal/Add
#include <vtkstd/vector> // STL Header for glommed array names
#include <vtkstd/set> // STL Header for integration point names

/**\brief Abstract base class for glomming arrays of variable names.
  *
  * Subclasses check whether variable names listed in an array of names
  * are related to each other (and should thus be glommed into a single
  * VTK array).
  */
class vtkExodusIIReaderVariableCheck
{
public:
  /// Initialize a sequence of names. Returns true if any more names are acceptable.
  virtual bool Start( vtksys_stl::string name, const int* truth, int numTruth );
  /// Subclasses implement this and returns true if any more names are acceptable.
  virtual bool StartInternal( vtksys_stl::string name, const int* truth, int numTruth ) = 0;
  /// Add a name to the sequence. Returns true if any more names may be added.
  virtual bool Add( vtksys_stl::string name, const int* truth ) = 0;
  /// Returns the length of the sequence (or 0 if the match is incorrect or incomplete).
  virtual vtkstd::vector<vtksys_stl::string>::size_type Length();
  /// Accept this sequence. (Add an entry to the end of \a arr.) Must return Length().
  virtual int Accept(
    vtkstd::vector<vtkExodusIIReaderPrivate::ArrayInfoType>& arr,
    int startIndex, vtkExodusIIReaderPrivate* priv, int objtyp );

protected:
  vtkExodusIIReaderVariableCheck();
  virtual ~vtkExodusIIReaderVariableCheck();
  /** Utility that subclasses may call from within Add() to verify that
    * the new variable is defined on the same objects as other variables in the sequence.
    */
  bool CheckTruth( const int* truth );
  bool UniquifyName(
    vtkExodusIIReaderPrivate::ArrayInfoType& ainfo,
    vtkstd::vector<vtkExodusIIReaderPrivate::ArrayInfoType>& arrays );

  int GlomType;
  vtkstd::vector<int> SeqTruth;
  vtksys_stl::string Prefix;
  vtkstd::vector<vtksys_stl::string> OriginalNames;
};

/// This always accepts a single array name as a scalar. It is the fallback for all other checkers.
class vtkExodusIIReaderScalarCheck : public vtkExodusIIReaderVariableCheck
{
public:
  vtkExodusIIReaderScalarCheck();
  virtual bool StartInternal( vtksys_stl::string name, const int*, int );
  virtual bool Add( vtksys_stl::string, const int* );
};

/// This looks for n-D vectors whose names are identical except for a single final character.
class vtkExodusIIReaderVectorCheck : public vtkExodusIIReaderVariableCheck
{
public:
  vtkExodusIIReaderVectorCheck( const char* seq, int n );
  virtual bool StartInternal( vtksys_stl::string name, const int*, int );
  virtual bool Add( vtksys_stl::string name, const int* truth );
  virtual vtkstd::vector<vtksys_stl::string>::size_type Length();
protected:
  vtksys_stl::string Endings;
  bool StillAdding;
};

/**\brief This looks for symmetric tensors of a given rank and dimension.
  *
  * All array names must be identical except for the last \a rank characters
  * which must be taken from the \a dim -length character array \a seq, specified
  * as dimension indicators.
  */
class vtkExodusIIReaderTensorCheck : public vtkExodusIIReaderVariableCheck
{
public:
  vtkExodusIIReaderTensorCheck( const char* seq, int n, int rank, int dim );
  virtual bool StartInternal( vtksys_stl::string name, const int*, int );
  virtual bool Add( vtksys_stl::string name, const int* truth );
  virtual vtkstd::vector<vtksys_stl::string>::size_type Length();
protected:
  vtksys_stl::string Endings;
  vtkTypeUInt64 NumEndings;
  int Dimension;
  int Rank;
  bool StillAdding;
};

/// This looks for integration-point variables whose names contain an element shape and digits specifying an integration point.
class vtkExodusIIReaderIntPointCheck : public vtkExodusIIReaderVariableCheck
{
public:
  vtkExodusIIReaderIntPointCheck();
  virtual bool StartInternal( vtksys_stl::string name, const int*, int );
  virtual bool Add( vtksys_stl::string name, const int* );
  virtual vtkstd::vector<vtksys_stl::string>::size_type Length();
  /*
  virtual int Accept(
    vtkstd::vector<vtkExodusIIReaderPrivate::ArrayInfoType>& arr, int startIndex, vtkExodusIIReaderPrivate* priv, int objtyp )
    {
    }
    */
protected:
  bool StartIntegrationPoints( vtksys_stl::string cellType, vtksys_stl::string iptName );
  bool AddIntegrationPoint( vtksys_stl::string iptName );

  vtksys::RegularExpression RegExp;
  vtksys_stl::string VarName;
  vtksys_stl::string CellType;
  vtkstd::vector<int> IntPtMin;
  vtkstd::vector<int> IntPtMax;
  vtkstd::set<vtksys_stl::string> IntPtNames;
  vtkTypeUInt64 Rank;
  bool StillAdding;
};

#endif // __vtkExodusIIReaderVariableCheck_h