This file is indexed.

/usr/include/tulip/cxx/Array.cxx is in libtulip-dev 4.4.0dfsg2-2.

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
/*
 *
 * This file is part of Tulip (www.tulip-software.org)
 *
 * Authors: David Auber and the Tulip development Team
 * from LaBRI, University of Bordeaux 1 and Inria Bordeaux - Sud Ouest
 *
 * Tulip is free software; you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License
 * as published by the Free Software Foundation, either version 3
 * of the License, or (at your option) any later version.
 *
 * Tulip is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU General Public License for more details.
 *
 */

//=================================================================
template <typename Obj,unsigned int SIZE>
Obj tlp::Array<Obj,SIZE>::operator[](const unsigned int i) const {
  assert(i<SIZE);
  return array[i];
}
//=================================================================
template <typename Obj,unsigned int SIZE>
Obj& tlp::Array<Obj,SIZE>::operator[](const unsigned int i) {
  assert(i<SIZE);
  return array[i];
}
//=================================================================
template <typename Obj,unsigned int SIZE>
std::ostream& tlp::operator<<(std::ostream &os,const tlp::Array<Obj,SIZE> &a) {
  os << "(" ;

  for ( unsigned int i=0 ; i<SIZE ; ++i ) {
    if( i>0 )
      os << ",";

    os << a[i];
  }

  os << ")" ;
  return os;
}
//#include <sstream>
//=================================================================
//template <typename Obj,unsigned int SIZE>
//QDebug operator<<(QDebug dbg,const tlp::Array<Obj,SIZE>& s) {
//  std::stringstream ss;
//  ss << s;
//  dbg.nospace() << ss.str().c_str();
//  return dbg.space();
//}

template <typename Obj,unsigned int SIZE>
std::istream & tlp::operator>> (std::istream &is, tlp::Array<Obj,SIZE> & outA) {
  char c;
  int pos = is.tellg();
  is.clear();

  // skip spaces
  while(bool(is >> c) && isspace(c)) {}

  if(c!='(') {
    is.seekg(pos);
    is.setstate(std::ios::failbit);
    return is;
  }

  for(unsigned int i=0; i<SIZE; ++i) {
    bool ok;

    if (i>0 ) {
      // skip spaces
      while((ok = bool(is >> c)) && isspace(c)) {}

      if (!ok || c!=',') {
        is.seekg(pos);
        is.setstate(std::ios::failbit);
        return is;
      }
    }

    // skip spaces
    while((ok = bool(is >> c)) && isspace(c)) {}

    is.unget();
    bool done = bool(is >> outA.array[i]);

    if( !done ) {
      is.seekg(pos);
      is.setstate(std::ios::failbit);
      return is;
    }
  }

  // skip spaces
  while(bool(is >> c) && isspace(c)) {}

  if (c!=')' ) {
    is.seekg(pos);
    is.setstate(std::ios::failbit);
    return is;
  }

  return is;
}
//=================================================================