/usr/lib/R/site-library/dplyr/include/tools/pointer_vector.h is in r-cran-dplyr 0.7.4-3.
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 | #ifndef dplyr_tools_pointer_vector_H
#define dplyr_tools_pointer_vector_H
namespace dplyr {
template <typename T>
class pointer_vector {
public:
typedef typename std::vector<T*> Vector;
typedef typename Vector::reference reference;
typedef typename Vector::const_reference const_reference;
typedef typename Vector::size_type size_type;
typedef typename Vector::value_type value_type;
typedef typename Vector::iterator iterator;
pointer_vector() : data() {}
pointer_vector(size_type n) : data(n) {}
inline ~pointer_vector() {
typedef typename Vector::size_type size_type;
size_type n = data.size();
iterator it = data.end();
--it;
for (size_type i = 0; i < n; --it, i++) delete *it;
}
inline reference operator[](size_type i) {
return data[i];
}
inline const_reference operator[](size_type i) const {
return data[i];
}
inline void push_back(const value_type& value) {
data.push_back(value);
}
inline size_type size() const {
return data.size();
}
private:
Vector data;
pointer_vector(const pointer_vector&);
};
}
#endif
|