/usr/include/tulip/Array.h 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 | /*
*
* 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.
*
*/
#ifndef _TLP_GEO_ARRAY_H
#define _TLP_GEO_ARRAY_H
#include <cassert>
#include <iostream>
#include <tulip/tulipconf.h>
namespace tlp {
/**
* @brief Fixed-size array encapsulation.
* @ingroup Structures
* In debug mode, a bound check is performed at each access.
* Stream operators implementations are provided.
*
* @author : David Auber auber@tulip-software.org
*/
template <typename Obj,unsigned int SIZE>
struct Array {
/**
* @brief array The underlying array of data.
*/
Obj array[SIZE];
/**
* @brief operator [] Read-only accessor.
* @param i The index of the element to read.
* @return The element at index i.
*/
inline Obj operator[](const unsigned int i) const;
/**
* @brief operator [] Write accessor.
* @param i The index at which to write a value.
* @return A reference to the value at index i.
*/
inline Obj& operator[](const unsigned int i);
};
template <typename Obj,unsigned int SIZE>
/**
* @brief operator << stream operator to easily print an array, or save it to a file.
* @param os The stream to output to.
* @param array The array to output.
* @return The stream to output to, to chain calls.
*/
std::ostream& operator<<(std::ostream &os,const Array<Obj,SIZE> &array);
template <typename Obj,unsigned int SIZE>
/**
* @brief operator >> stream operator to easily read an array
* @param is The stream to read from.
* @param array A reference to an array, that will be written to.
* @return The stream to read from, to chain calls.
*/
std::istream& operator>>(std::istream &is, Array<Obj,SIZE> &array);
//template <typename Obj,unsigned int SIZE>
//QDebug operator<<(QDebug dbg,const Array<Obj,SIZE>& s);
}
#include "cxx/Array.cxx"
#endif
|