/usr/include/qgis/qgsfield_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 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 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | /***************************************************************************
qgsfield_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 QGSFIELD_PRIVATE_H
#define QGSFIELD_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.
//
#include <QString>
#include <QVariant>
#include <QSharedData>
#include "qgsfield.h"
/***************************************************************************
* This class is considered CRITICAL and any change MUST be accompanied with
* full unit tests in testqgsfield.cpp.
* See details in QEP #17
****************************************************************************/
class QgsFieldPrivate : public QSharedData
{
public:
QgsFieldPrivate( const QString& name = QString(),
QVariant::Type type = QVariant::Invalid,
const QString& typeName = QString(),
int len = 0,
int prec = 0,
const QString& comment = QString() )
: name( name )
, type( type )
, typeName( typeName )
, length( len )
, precision( prec )
, comment( comment )
{
}
QgsFieldPrivate( const QgsFieldPrivate& other )
: QSharedData( other )
, name( other.name )
, type( other.type )
, typeName( other.typeName )
, length( other.length )
, precision( other.precision )
, comment( other.comment )
, alias( other.alias )
, defaultValueExpression( other.defaultValueExpression )
{
}
~QgsFieldPrivate() {}
bool operator==( const QgsFieldPrivate& other ) const
{
return (( name == other.name ) && ( type == other.type )
&& ( length == other.length ) && ( precision == other.precision )
&& ( alias == other.alias ) && ( defaultValueExpression == other.defaultValueExpression ) );
}
//! Name
QString name;
//! Variant type
QVariant::Type type;
//! Type name from provider
QString typeName;
//! Length
int length;
//! Precision
int precision;
//! Comment
QString comment;
//! Alias for field name (friendly name shown to users)
QString alias;
//! Default value expression
QString defaultValueExpression;
};
/***************************************************************************
* This class is considered CRITICAL and any change MUST be accompanied with
* full unit tests in testqgsfields.cpp.
* See details in QEP #17
****************************************************************************/
class CORE_EXPORT QgsFieldsPrivate : public QSharedData
{
public:
QgsFieldsPrivate()
{
}
QgsFieldsPrivate( const QgsFieldsPrivate& other )
: QSharedData( other )
, fields( other.fields )
, nameToIndex( other.nameToIndex )
{
}
~QgsFieldsPrivate() {}
//! internal storage of the container
QVector<QgsFields::Field> fields;
//! map for quick resolution of name to index
QHash<QString, int> nameToIndex;
};
/// @endcond
#endif
|