This file is indexed.

/usr/include/polybori/factories/PolynomialFactory.h is in libpolybori-dev 0.8.3-5build1.

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
// -*- c++ -*-
//*****************************************************************************
/** @file PolynomialFactory.h 
 *
 * @author Alexander Dreyer
 * @date 2011-05-056
 *
 * This file defines the base class PolynomialFactory which is used for
 * @em currying the constructors of @c BoolePolynomial with a BoolePolyRing.
 *
 * @par Copyright:
 *   (c) by The PolyBoRi Team
 *
**/
//*****************************************************************************

#ifndef polybori_factories_PolynomialFactory_h_
#define polybori_factories_PolynomialFactory_h_

// include basic definitions
#include <polybori/pbori_defs.h>
#include <polybori/factories/CFactoryBase.h>
#include <polybori/BoolePolynomial.h>
#include <polybori/BooleMonomial.h>
BEGIN_NAMESPACE_PBORI

/** @class PolynomialFactory
 * @brief This base class PolynomialFactory is used for @em currying
 * polynomial constructors with a BoolePolyRing.
 *
 **/

class PolynomialFactory:
  public CFactoryBase {
  /// Type of *this
  typedef PolynomialFactory self;

  /// We inherit from the following type
  typedef CFactoryBase base;

public:
  /// Type of parent
  typedef base::parent_type parent_type;

  /// We construct element of this type
  typedef BoolePolynomial value_type;

  /// Construct from given ring 
  PolynomialFactory(const parent_type& ring): base(ring) {}

  /// Copy constructor
  PolynomialFactory(const self& rhs): base(rhs)  {}

  /// Destructor
  ~PolynomialFactory() {}

  /// Get zero polynomial of the ring
  value_type operator()() const {
    return value_type(parent());
  }

  /// Indirect copy constructor
  value_type operator()(const value_type& rhs) const {
    return rhs;
  }

  /// Get first variable of explicit ring
  value_type operator()(const value_type::ring_type& ring) const {
    return value_type(ring);
  }

  /// Construct from Boolean variable (does not need ring)
  value_type operator()(const value_type::var_type& var) const {
    return value_type::monom_type(var);
  }

 /// Construct from Boolean monomial (does not need ring)
  value_type operator()(const value_type::monom_type& monom) const {
    return value_type(monom);
  }

  /// Construct from exponent vector
  value_type operator()(const value_type::exp_type& rhs) const {
    return value_type(rhs, parent());
  }

  /// Construct from exponent vector and explicit ring
  value_type operator()(const value_type::exp_type& rhs,
			const value_type::ring_type& ring) const {
    return value_type(rhs, ring);
  }
  /// Construct polynomial from a constant value 0 or 1 and explicit ring
  value_type operator()(value_type::constant_type isOne, 
			const value_type::ring_type& ring) const {
    return value_type(isOne, ring);
  }
 
  /// Construct polynomial from a constant value 0 or 1
  value_type operator()(value_type::constant_type isOne) const {
    return value_type(isOne, parent());
  }

  /// Construct polynomial from decision diagram
  value_type operator()(const value_type::dd_type& rhs) const {
    return value_type(rhs);
  }

  /// Construct polynomial from navigator and explicit ring
  value_type operator()(const value_type::navigator& rhs, 
			const value_type::ring_type& ring) const{
    return value_type(rhs, ring);
  }
  /// Construct polynomial from navigator
  value_type operator()(const value_type::navigator& rhs) const{
    return value_type(rhs, parent());
  }
};

END_NAMESPACE_PBORI

#endif /* polybori_factories_PolynomialFactory_h_ */