This file is indexed.

/usr/include/opengm/inference/lpcplex2.hxx is in libopengm-dev 2.3.6+20160905-1.

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
122
123
124
125
126
127
128
129
#ifndef OPENGM_LPCPLEX2_HXX_
#define OPENGM_LPCPLEX2_HXX_

#include <opengm/inference/auxiliary/lp_solver/lp_solver_cplex.hxx>
#include <opengm/inference/lp_inference_base.hxx>

namespace opengm {

/********************
 * class definition *
 *******************/
template<class GM_TYPE, class ACC_TYPE>
class LPCplex2 : public LPSolverCplex, public LPInferenceBase<LPCplex2<GM_TYPE, ACC_TYPE> > {
public:
   // typedefs
   typedef ACC_TYPE                                                         AccumulationType;
   typedef GM_TYPE                                                          GraphicalModelType;
   OPENGM_GM_TYPE_TYPEDEFS;
   typedef LPInferenceBase<LPCplex2<GraphicalModelType, AccumulationType> > LPInferenceBaseType;
   typedef typename LPInferenceBaseType::Parameter                          Parameter;

   // construction
   LPCplex2(const GraphicalModelType& gm, const Parameter& parameter = Parameter());
   virtual ~LPCplex2();

   // public member functions
   virtual std::string name() const;

   template<class _GM>
   struct RebindGm{
       typedef LPCplex2<_GM, ACC_TYPE> type;
   };

   template<class _GM,class _ACC>
   struct RebindGmAndAcc{
       typedef LPCplex2<_GM, _ACC > type;
   };
};

template<class GM_TYPE, class ACC_TYPE>
struct LPInferenceTraits<LPCplex2<GM_TYPE, ACC_TYPE> > {
   // typedefs
   typedef ACC_TYPE                                          AccumulationType;
   typedef GM_TYPE                                           GraphicalModelType;
   typedef LPSolverCplex                                     SolverType;
   typedef typename LPSolverCplex::CplexIndexType            SolverIndexType;
   typedef typename LPSolverCplex::CplexValueType            SolverValueType;
   typedef typename LPSolverCplex::CplexSolutionIteratorType SolverSolutionIteratorType;
   typedef typename LPSolverCplex::CplexTimingType           SolverTimingType;
   typedef typename LPSolverCplex::Parameter                 SolverParameterType;
};

/***********************
 * class documentation *
 **********************/
/*! \file lpcplex2.hxx
 *  \brief Provides implementation for LP inference with CPLEX.
 */

/*! \class LPCplex2
 *  \brief LP inference with CPLEX.
 *
 *  This class combines opengm::LPSolverCplex and opengm::LPInferenceBase to
 *  provide inference for graphical models using CPLEX.
 *
 *  \tparam GM_TYPE Graphical Model type.
 *  \tparam ACC_TYPE Accumulation type.
 *
 *  \ingroup inference
 */

/*! \typedef LPCplex2::AccumulationType
 *  \brief Typedef of the Accumulation type.
 */

/*! \typedef LPCplex2::GraphicalModelType
 *  \brief Typedef of the graphical model type.
 */

/*! \typedef LPCplex2::LPInferenceBaseType
 *  \brief Typedef of class opengm::LPInferenceBase with appropriate template
 *         parameter.
 */

/*! \typedef LPCplex2::Parameter
 *  \brief Typedef of the parameter type defined by class
 *         opengm::LPInferenceBase.
 */

/*! \fn LPCplex2::LPCplex2(const GraphicalModelType& gm, const Parameter& parameter = Parameter())
 *  \brief LPCplex2 constructor.
 *
 *  \param[in] gm The graphical model for inference.
 *  \param[in] parameter The parameter defining the settings for inference. See
 *                       opengm::LPSolverInterface::Parameter and
 *                       opengm::LPInferenceBase::Parameter for possible
 *                       settings.
 */

/*! \fn LPCplex2::~LPCplex2()
 *  \brief LPCplex2 destructor.
 */

/*! \fn std::string LPCplex2::name() const
 *  \brief Name of the inference method.
 */

/******************
 * implementation *
 *****************/
template<class GM_TYPE, class ACC_TYPE>
inline LPCplex2<GM_TYPE, ACC_TYPE>::LPCplex2(const GraphicalModelType& gm, const Parameter& parameter)
   : LPSolverCplex(parameter), LPInferenceBaseType(gm, parameter) {

}

template<class GM_TYPE, class ACC_TYPE>
inline LPCplex2<GM_TYPE, ACC_TYPE>::~LPCplex2() {

}

template<class GM_TYPE, class ACC_TYPE>
inline std::string LPCplex2<GM_TYPE, ACC_TYPE>::name() const {
   return "LPCplex2";
}

} // namespace opengm

#endif /* OPENGM_LPCPLEX2_HXX_ */