/usr/include/qgis/qgsfeature_p.h is in libqgis-dev 2.18.17+dfsg-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 | /***************************************************************************
qgsfeature_p.h
---------------
Date : May-2015
Copyright : (C) 2015 by Nyall Dawson
email : nyall dot dawson at gmail dot com
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef QGSFEATURE_PRIVATE_H
#define QGSFEATURE_PRIVATE_H
/// @cond PRIVATE
//
// W A R N I N G
// -------------
//
// This file is not part of the QGIS API. It exists purely as an
// implementation detail. This header file may change from version to
// version without notice, or even be removed.
//
/***************************************************************************
* This class is considered CRITICAL and any change MUST be accompanied with
* full unit tests in testqgsfeature.cpp.
* See details in QEP #17
****************************************************************************/
#include "qgsfield.h"
#include "qgsgeometry.h"
class QgsFeaturePrivate : public QSharedData
{
public:
explicit QgsFeaturePrivate( QgsFeatureId id )
: fid( id )
, geometry( nullptr )
, ownsGeometry( false )
, valid( false )
{
}
QgsFeaturePrivate( const QgsFeaturePrivate& other )
: QSharedData( other )
, fid( other.fid )
, attributes( other.attributes )
, geometry( other.ownsGeometry && other.geometry ? new QgsGeometry( *other.geometry ) : other.geometry )
, ownsGeometry( other.ownsGeometry )
, valid( other.valid )
, fields( other.fields )
{
}
~QgsFeaturePrivate()
{
if ( ownsGeometry )
delete geometry;
}
//! feature id
QgsFeatureId fid;
/** Attributes accessed by field index */
QgsAttributes attributes;
/** Pointer to geometry in binary WKB format
This is usually set by a call to OGRGeometry::exportToWkb()
*/
QgsGeometry *geometry;
/** Indicator if the mGeometry is owned by this QgsFeature.
If so, this QgsFeature takes responsibility for the mGeometry's destruction.
*/
bool ownsGeometry;
//! Flag to indicate if this feature is valid
bool valid;
//! Optional field map for name-based attribute lookups
QgsFields fields;
};
/// @endcond
#endif //QGSFEATURE_PRIVATE_H
|