Coverage Report

Created: 2025-12-31 08:30

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/gdal/port/cpl_port.h
Line
Count
Source
1
/******************************************************************************
2
 *
3
 * Project:  CPL - Common Portability Library
4
 * Author:   Frank Warmerdam, warmerdam@pobox.com
5
 * Purpose:  Include file providing low level portability services for CPL.
6
 *           This should be the first include file for any CPL based code.
7
 *
8
 ******************************************************************************
9
 * Copyright (c) 1998, 2005, Frank Warmerdam <warmerdam@pobox.com>
10
 * Copyright (c) 2008-2013, Even Rouault <even dot rouault at spatialys.com>
11
 *
12
 * SPDX-License-Identifier: MIT
13
 ****************************************************************************/
14
15
#ifndef CPL_BASE_H_INCLUDED
16
#define CPL_BASE_H_INCLUDED
17
18
/**
19
 * \file cpl_port.h
20
 *
21
 * Core portability definitions for CPL.
22
 *
23
 */
24
25
/* -------------------------------------------------------------------- */
26
/*      The following apparently allow you to use strcpy() and other    */
27
/*      functions judged "unsafe" by microsoft in VS 8 (2005).          */
28
/* -------------------------------------------------------------------- */
29
#ifdef _MSC_VER
30
#ifndef _CRT_SECURE_NO_DEPRECATE
31
#define _CRT_SECURE_NO_DEPRECATE
32
#endif
33
#ifndef _CRT_NONSTDC_NO_DEPRECATE
34
#define _CRT_NONSTDC_NO_DEPRECATE
35
#endif
36
#endif
37
38
#include "cpl_config.h"
39
40
/* ==================================================================== */
41
/*      A few sanity checks, mainly to detect problems that sometimes   */
42
/*      arise with bad configured cross-compilation.                    */
43
/* ==================================================================== */
44
45
#if !defined(SIZEOF_INT) || SIZEOF_INT != 4
46
#error "Unexpected value for SIZEOF_INT"
47
#endif
48
49
#if !defined(SIZEOF_UNSIGNED_LONG) ||                                          \
50
    (SIZEOF_UNSIGNED_LONG != 4 && SIZEOF_UNSIGNED_LONG != 8)
51
#error "Unexpected value for SIZEOF_UNSIGNED_LONG"
52
#endif
53
54
#if !defined(SIZEOF_VOIDP)
55
#error "Unexpected value for SIZEOF_VOIDP"
56
#endif
57
58
/* ==================================================================== */
59
/*      This will disable most WIN32 stuff in a Cygnus build which      */
60
/*      defines unix to 1.                                              */
61
/* ==================================================================== */
62
63
#ifdef unix
64
#undef WIN32
65
#endif
66
67
/*! @cond Doxygen_Suppress */
68
#if defined(VSI_NEED_LARGEFILE64_SOURCE) && !defined(_LARGEFILE64_SOURCE)
69
#define _LARGEFILE64_SOURCE 1
70
#endif
71
72
/* ==================================================================== */
73
/*      If iconv() is available use extended recoding module.           */
74
/*      Stub implementation is always compiled in, because it works     */
75
/*      faster than iconv() for encodings it supports.                  */
76
/* ==================================================================== */
77
78
#if defined(HAVE_ICONV)
79
#define CPL_RECODE_ICONV
80
#endif
81
82
#define CPL_RECODE_STUB
83
/*! @endcond */
84
85
/* ==================================================================== */
86
/*      MinGW stuff                                                     */
87
/* ==================================================================== */
88
89
/* Needed for std=c11 on Solaris to have strcasecmp() */
90
#if defined(GDAL_COMPILATION) && defined(__sun__) &&                           \
91
    (__STDC_VERSION__ + 0) >= 201112L && (_XOPEN_SOURCE + 0) < 600
92
#ifdef _XOPEN_SOURCE
93
#undef _XOPEN_SOURCE
94
#endif
95
#define _XOPEN_SOURCE 600
96
#endif
97
98
/* ==================================================================== */
99
/*      Standard include files.                                         */
100
/* ==================================================================== */
101
102
#include <stdio.h>
103
#include <stdlib.h>
104
#include <math.h>
105
#include <stdarg.h>
106
#include <string.h>
107
#include <ctype.h>
108
#include <limits.h>
109
110
#include <time.h>
111
112
#include <errno.h>
113
114
#ifdef HAVE_LOCALE_H
115
#include <locale.h>
116
#endif
117
118
#ifdef HAVE_DIRECT_H
119
#include <direct.h>
120
#endif
121
122
#if !defined(_WIN32)
123
#include <strings.h>
124
#endif
125
126
#ifdef __cplusplus
127
extern "C++"
128
{
129
#include <cmath>
130
}
131
#endif
132
133
/* ==================================================================== */
134
/*      Base portability stuff ... this stuff may need to be            */
135
/*      modified for new platforms.                                     */
136
/* ==================================================================== */
137
138
/* -------------------------------------------------------------------- */
139
/*      Which versions of C++ are available.                            */
140
/* -------------------------------------------------------------------- */
141
142
/* MSVC fails to define a decent value of __cplusplus. Try to target VS2015*/
143
/* as a minimum */
144
145
#if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS)
146
#if !(__cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1900))
147
#error Must have C++11 or newer.
148
#endif
149
#if __cplusplus >= 201402L || (defined(_MSVC_LANG) && _MSVC_LANG >= 201402L)
150
#define HAVE_CXX14 1
151
#endif
152
#if __cplusplus >= 201703L || (defined(_MSVC_LANG) && _MSVC_LANG >= 201703L)
153
#define HAVE_CXX17 1
154
#endif
155
#endif /* __cplusplus */
156
157
/*---------------------------------------------------------------------
158
 *        types for 16 and 32 bits integers, etc...
159
 *--------------------------------------------------------------------*/
160
#if UINT_MAX == 65535
161
typedef long GInt32;
162
typedef unsigned long GUInt32;
163
#else
164
/** Int32 type */
165
typedef int GInt32;
166
/** Unsigned int32 type */
167
typedef unsigned int GUInt32;
168
#endif
169
170
/** Int16 type */
171
typedef short GInt16;
172
/** Unsigned int16 type */
173
typedef unsigned short GUInt16;
174
/** Unsigned byte type */
175
typedef unsigned char GByte;
176
/** Signed int8 type */
177
typedef signed char GInt8;
178
/* hack for PDF driver and poppler >= 0.15.0 that defines incompatible "typedef
179
 * bool GBool" */
180
/* in include/poppler/goo/gtypes.h */
181
#ifndef CPL_GBOOL_DEFINED
182
/*! @cond Doxygen_Suppress */
183
#define CPL_GBOOL_DEFINED
184
/*! @endcond */
185
/** Type for boolean values (alias to int) */
186
typedef int GBool;
187
#endif
188
189
/*! @cond Doxygen_Suppress */
190
#ifdef __cplusplus
191
84.4M
#define CPL_STATIC_CAST(type, expr) static_cast<type>(expr)
192
224k
#define CPL_REINTERPRET_CAST(type, expr) reinterpret_cast<type>(expr)
193
#else
194
380k
#define CPL_STATIC_CAST(type, expr) ((type)(expr))
195
#define CPL_REINTERPRET_CAST(type, expr) ((type)(expr))
196
#endif
197
/*! @endcond */
198
199
/* -------------------------------------------------------------------- */
200
/*      64bit support                                                   */
201
/* -------------------------------------------------------------------- */
202
203
/** Large signed integer type (generally 64-bit integer type).
204
 *  Use GInt64 when exactly 64 bit is needed */
205
typedef long long GIntBig;
206
/** Large unsigned integer type (generally 64-bit unsigned integer type).
207
 *  Use GUInt64 when exactly 64 bit is needed */
208
typedef unsigned long long GUIntBig;
209
210
/** Minimum GIntBig value */
211
3.26k
#define GINTBIG_MIN (CPL_STATIC_CAST(GIntBig, 0x80000000) << 32)
212
/** Maximum GIntBig value */
213
2.77M
#define GINTBIG_MAX ((CPL_STATIC_CAST(GIntBig, 0x7FFFFFFF) << 32) | 0xFFFFFFFFU)
214
/** Maximum GUIntBig value */
215
#define GUINTBIG_MAX                                                           \
216
28.1M
    ((CPL_STATIC_CAST(GUIntBig, 0xFFFFFFFFU) << 32) | 0xFFFFFFFFU)
217
218
/*! @cond Doxygen_Suppress */
219
#define CPL_HAS_GINT64 1
220
/*! @endcond */
221
222
/* Note: we might want to use instead int64_t / uint64_t if they are available
223
 */
224
225
/** Signed 64 bit integer type */
226
typedef GIntBig GInt64;
227
/** Unsigned 64 bit integer type */
228
typedef GUIntBig GUInt64;
229
230
/** Minimum GInt64 value */
231
#define GINT64_MIN GINTBIG_MIN
232
/** Maximum GInt64 value */
233
#define GINT64_MAX GINTBIG_MAX
234
/** Minimum GUInt64 value */
235
0
#define GUINT64_MAX GUINTBIG_MAX
236
237
#if SIZEOF_VOIDP > 8
238
#include <stddef.h>  // ptrdiff_t
239
/** Integer type large enough to hold the difference between 2 addresses */
240
typedef ptrdiff_t GPtrDiff_t;
241
#elif SIZEOF_VOIDP == 8
242
/** Integer type large enough to hold the difference between 2 addresses */
243
typedef GIntBig GPtrDiff_t;
244
#else
245
/** Integer type large enough to hold the difference between 2 addresses */
246
typedef int GPtrDiff_t;
247
#endif
248
249
#ifdef GDAL_COMPILATION
250
#include <stdint.h>
251
typedef uintptr_t GUIntptr_t;
252
#define CPL_IS_ALIGNED(ptr, quant)                                             \
253
449k
    ((CPL_REINTERPRET_CAST(GUIntptr_t, CPL_STATIC_CAST(const void *, ptr)) %   \
254
449k
      (quant)) == 0)
255
256
#endif
257
258
#if (defined(__MSVCRT__) && !(defined(__MINGW64__) && __GNUC__ >= 10)) ||      \
259
    (defined(_WIN32) && defined(_MSC_VER))
260
#define CPL_FRMT_GB_WITHOUT_PREFIX "I64"
261
#else
262
/** Printf formatting suffix for GIntBig */
263
#define CPL_FRMT_GB_WITHOUT_PREFIX "ll"
264
#endif
265
266
/** Printf formatting for GIntBig */
267
3.00M
#define CPL_FRMT_GIB "%" CPL_FRMT_GB_WITHOUT_PREFIX "d"
268
/** Printf formatting for GUIntBig */
269
9.32M
#define CPL_FRMT_GUIB "%" CPL_FRMT_GB_WITHOUT_PREFIX "u"
270
271
/*! @cond Doxygen_Suppress */
272
#ifdef COMPAT_WITH_ICC_CONVERSION_CHECK
273
#define CPL_INT64_FITS_ON_INT32(x) ((x) >= INT_MIN && (x) <= INT_MAX)
274
#else
275
#define CPL_INT64_FITS_ON_INT32(x)                                             \
276
1.61M
    (CPL_STATIC_CAST(GIntBig, CPL_STATIC_CAST(int, x)) == (x))
277
#endif
278
/*! @endcond */
279
280
/* ==================================================================== */
281
/*      Other standard services.                                        */
282
/* ==================================================================== */
283
#ifdef __cplusplus
284
/** Macro to start a block of C symbols */
285
#define CPL_C_START                                                            \
286
    extern "C"                                                                 \
287
    {
288
/** Macro to end a block of C symbols */
289
#define CPL_C_END }
290
#else
291
#define CPL_C_START
292
#define CPL_C_END
293
#endif
294
295
#ifndef CPL_DLL
296
#if defined(_MSC_VER) && !defined(CPL_DISABLE_DLL)
297
#ifdef GDAL_COMPILATION
298
#define CPL_DLL __declspec(dllexport)
299
#else
300
#define CPL_DLL
301
#endif
302
#define CPL_INTERNAL
303
#else
304
#if defined(USE_GCC_VISIBILITY_FLAG)
305
#define CPL_DLL __attribute__((visibility("default")))
306
#if !defined(__MINGW32__)
307
#define CPL_INTERNAL __attribute__((visibility("hidden")))
308
#else
309
#define CPL_INTERNAL
310
#endif
311
#else
312
#define CPL_DLL
313
#define CPL_INTERNAL
314
#endif
315
#endif
316
317
// Marker for unstable API
318
#define CPL_UNSTABLE_API CPL_DLL
319
320
#endif
321
322
/*! @cond Doxygen_Suppress */
323
/* Should optional (normally private) interfaces be exported? */
324
#ifdef CPL_OPTIONAL_APIS
325
#define CPL_ODLL CPL_DLL
326
#else
327
#define CPL_ODLL
328
#endif
329
/*! @endcond */
330
331
#ifndef CPL_STDCALL
332
#if defined(_MSC_VER) && !defined(CPL_DISABLE_STDCALL)
333
#define CPL_STDCALL __stdcall
334
#else
335
#define CPL_STDCALL
336
#endif
337
#endif
338
339
/*! @cond Doxygen_Suppress */
340
#ifdef _MSC_VER
341
#define FORCE_CDECL __cdecl
342
#else
343
#define FORCE_CDECL
344
#endif
345
/*! @endcond */
346
347
/*! @cond Doxygen_Suppress */
348
/* TODO : support for other compilers needed */
349
#if (defined(__GNUC__) && !defined(__NO_INLINE__)) || defined(_MSC_VER)
350
#define HAS_CPL_INLINE 1
351
#define CPL_INLINE __inline
352
#elif defined(__SUNPRO_CC)
353
#define HAS_CPL_INLINE 1
354
#define CPL_INLINE inline
355
#else
356
#define CPL_INLINE
357
#endif
358
/*! @endcond*/
359
360
#ifndef MAX
361
/** Macro to compute the minimum of 2 values */
362
34.1M
#define MIN(a, b) (((a) < (b)) ? (a) : (b))
363
/** Macro to compute the maximum of 2 values */
364
36.3M
#define MAX(a, b) (((a) > (b)) ? (a) : (b))
365
#endif
366
367
#ifndef ABS
368
/** Macro to compute the absolute value */
369
312k
#define ABS(x) (((x) < 0) ? (-1 * (x)) : (x))
370
#endif
371
372
#ifndef M_PI
373
/** PI definition */
374
#define M_PI 3.14159265358979323846
375
/* 3.1415926535897932384626433832795 */
376
#endif
377
378
/* -------------------------------------------------------------------- */
379
/*      Macro to test equality of two floating point values.            */
380
/*      We use fabs() function instead of ABS() macro to avoid side     */
381
/*      effects.                                                        */
382
/* -------------------------------------------------------------------- */
383
/*! @cond Doxygen_Suppress */
384
#ifndef CPLIsEqual
385
30.9k
#define CPLIsEqual(x, y) (fabs((x) - (y)) < 0.0000000000001)
386
#endif
387
/*! @endcond */
388
389
/* -------------------------------------------------------------------- */
390
/*      Provide macros for case insensitive string comparisons.         */
391
/* -------------------------------------------------------------------- */
392
#ifndef EQUAL
393
394
#if defined(AFL_FRIENDLY) && defined(__GNUC__)
395
396
static inline int CPL_afl_friendly_memcmp(const void *ptr1, const void *ptr2,
397
                                          size_t len)
398
    __attribute__((always_inline));
399
400
static inline int CPL_afl_friendly_memcmp(const void *ptr1, const void *ptr2,
401
                                          size_t len)
402
{
403
    const unsigned char *bptr1 = (const unsigned char *)ptr1;
404
    const unsigned char *bptr2 = (const unsigned char *)ptr2;
405
    while (len--)
406
    {
407
        unsigned char b1 = *(bptr1++);
408
        unsigned char b2 = *(bptr2++);
409
        if (b1 != b2)
410
            return b1 - b2;
411
    }
412
    return 0;
413
}
414
415
static inline int CPL_afl_friendly_strcmp(const char *ptr1, const char *ptr2)
416
    __attribute__((always_inline));
417
418
static inline int CPL_afl_friendly_strcmp(const char *ptr1, const char *ptr2)
419
{
420
    const unsigned char *usptr1 = (const unsigned char *)ptr1;
421
    const unsigned char *usptr2 = (const unsigned char *)ptr2;
422
    while (1)
423
    {
424
        unsigned char ch1 = *(usptr1++);
425
        unsigned char ch2 = *(usptr2++);
426
        if (ch1 == 0 || ch1 != ch2)
427
            return ch1 - ch2;
428
    }
429
}
430
431
static inline int CPL_afl_friendly_strncmp(const char *ptr1, const char *ptr2,
432
                                           size_t len)
433
    __attribute__((always_inline));
434
435
static inline int CPL_afl_friendly_strncmp(const char *ptr1, const char *ptr2,
436
                                           size_t len)
437
{
438
    const unsigned char *usptr1 = (const unsigned char *)ptr1;
439
    const unsigned char *usptr2 = (const unsigned char *)ptr2;
440
    while (len--)
441
    {
442
        unsigned char ch1 = *(usptr1++);
443
        unsigned char ch2 = *(usptr2++);
444
        if (ch1 == 0 || ch1 != ch2)
445
            return ch1 - ch2;
446
    }
447
    return 0;
448
}
449
450
static inline int CPL_afl_friendly_strcasecmp(const char *ptr1,
451
                                              const char *ptr2)
452
    __attribute__((always_inline));
453
454
static inline int CPL_afl_friendly_strcasecmp(const char *ptr1,
455
                                              const char *ptr2)
456
{
457
    const unsigned char *usptr1 = (const unsigned char *)ptr1;
458
    const unsigned char *usptr2 = (const unsigned char *)ptr2;
459
    while (1)
460
    {
461
        unsigned char ch1 = *(usptr1++);
462
        unsigned char ch2 = *(usptr2++);
463
        ch1 = (unsigned char)toupper(ch1);
464
        ch2 = (unsigned char)toupper(ch2);
465
        if (ch1 == 0 || ch1 != ch2)
466
            return ch1 - ch2;
467
    }
468
}
469
470
static inline int CPL_afl_friendly_strncasecmp(const char *ptr1,
471
                                               const char *ptr2, size_t len)
472
    __attribute__((always_inline));
473
474
static inline int CPL_afl_friendly_strncasecmp(const char *ptr1,
475
                                               const char *ptr2, size_t len)
476
{
477
    const unsigned char *usptr1 = (const unsigned char *)ptr1;
478
    const unsigned char *usptr2 = (const unsigned char *)ptr2;
479
    while (len--)
480
    {
481
        unsigned char ch1 = *(usptr1++);
482
        unsigned char ch2 = *(usptr2++);
483
        ch1 = (unsigned char)toupper(ch1);
484
        ch2 = (unsigned char)toupper(ch2);
485
        if (ch1 == 0 || ch1 != ch2)
486
            return ch1 - ch2;
487
    }
488
    return 0;
489
}
490
491
static inline char *CPL_afl_friendly_strstr(const char *haystack,
492
                                            const char *needle)
493
    __attribute__((always_inline));
494
495
static inline char *CPL_afl_friendly_strstr(const char *haystack,
496
                                            const char *needle)
497
{
498
    const char *ptr_haystack = haystack;
499
    while (1)
500
    {
501
        const char *ptr_haystack2 = ptr_haystack;
502
        const char *ptr_needle = needle;
503
        while (1)
504
        {
505
            char ch1 = *(ptr_haystack2++);
506
            char ch2 = *(ptr_needle++);
507
            if (ch2 == 0)
508
                return (char *)ptr_haystack;
509
            if (ch1 != ch2)
510
                break;
511
        }
512
        if (*ptr_haystack == 0)
513
            return NULL;
514
        ptr_haystack++;
515
    }
516
}
517
518
#undef strcmp
519
#undef strncmp
520
#define memcmp CPL_afl_friendly_memcmp
521
#define strcmp CPL_afl_friendly_strcmp
522
#define strncmp CPL_afl_friendly_strncmp
523
#define strcasecmp CPL_afl_friendly_strcasecmp
524
#define strncasecmp CPL_afl_friendly_strncasecmp
525
#define strstr CPL_afl_friendly_strstr
526
527
#endif /* defined(AFL_FRIENDLY) && defined(__GNUC__) */
528
529
#if defined(_WIN32)
530
#define STRCASECMP(a, b) (_stricmp(a, b))
531
#define STRNCASECMP(a, b, n) (_strnicmp(a, b, n))
532
#else
533
/** Alias for strcasecmp() */
534
3.08G
#define STRCASECMP(a, b) (strcasecmp(a, b))
535
/** Alias for strncasecmp() */
536
8.87G
#define STRNCASECMP(a, b, n) (strncasecmp(a, b, n))
537
#endif
538
/** Alias for strncasecmp() == 0 */
539
14.8G
#define EQUALN(a, b, n) (STRNCASECMP(a, b, n) == 0)
540
/** Alias for strcasecmp() == 0 */
541
3.56G
#define EQUAL(a, b) (STRCASECMP(a, b) == 0)
542
#endif
543
544
/*---------------------------------------------------------------------
545
 * Does a string "a" start with string "b".  Search is case-sensitive or,
546
 * with CI, it is a case-insensitive comparison.
547
 *--------------------------------------------------------------------- */
548
#ifndef STARTS_WITH_CI
549
/** Returns whether a starts with b */
550
428M
#define STARTS_WITH(a, b) (strncmp(a, b, strlen(b)) == 0)
551
/** Returns whether a starts with b (case insensitive comparison) */
552
1.77G
#define STARTS_WITH_CI(a, b) EQUALN(a, b, strlen(b))
553
#endif
554
555
/*! @cond Doxygen_Suppress */
556
#ifndef CPL_THREADLOCAL
557
#define CPL_THREADLOCAL
558
#endif
559
/*! @endcond */
560
561
/*! @cond Doxygen_Suppress */
562
#ifndef __cplusplus
563
/* -------------------------------------------------------------------- */
564
/*      Handle isnan() and isinf().  Note that isinf() and isnan()      */
565
/*      are supposed to be macros according to C99, defined in math.h   */
566
/*      Some systems (i.e. Tru64) don't have isinf() at all, so if      */
567
/*      the macro is not defined we just assume nothing is infinite.    */
568
/*      This may mean we have no real CPLIsInf() on systems with isinf()*/
569
/*      function but no corresponding macro, but I can live with        */
570
/*      that since it isn't that important a test.                      */
571
/* -------------------------------------------------------------------- */
572
#ifdef _MSC_VER
573
#include <float.h>
574
#define CPLIsNan(x) _isnan(x)
575
#define CPLIsInf(x) (!_isnan(x) && !_finite(x))
576
#define CPLIsFinite(x) _finite(x)
577
#elif defined(__GNUC__) &&                                                     \
578
    (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
579
/* When including <cmath> in C++11 the isnan() macro is undefined, so that */
580
/* std::isnan() can work (#6489). This is a GCC specific workaround for now. */
581
#define CPLIsNan(x) __builtin_isnan(x)
582
#define CPLIsInf(x) __builtin_isinf(x)
583
#define CPLIsFinite(x) __builtin_isfinite(x)
584
#elif defined(isinf) || defined(__FreeBSD__)
585
/** Return whether a floating-pointer number is nan */
586
#define CPLIsNan(x) isnan(x)
587
/** Return whether a floating-pointer number is +/- infinity */
588
#define CPLIsInf(x) isinf(x)
589
/** Return whether a floating-pointer number is finite */
590
#define CPLIsFinite(x) (!isnan(x) && !isinf(x))
591
#elif defined(__sun__)
592
#include <ieeefp.h>
593
#define CPLIsNan(x) isnan(x)
594
#define CPLIsInf(x) (!finite(x) && !isnan(x))
595
#define CPLIsFinite(x) finite(x)
596
#else
597
#define CPLIsNan(x) ((x) != (x))
598
#define CPLIsInf(x) (0)
599
#define CPLIsFinite(x) (!isnan(x))
600
#endif
601
#endif
602
/*! @endcond */
603
604
/*! @cond Doxygen_Suppress */
605
/*---------------------------------------------------------------------
606
 *                         CPL_LSB and CPL_MSB
607
 * Only one of these 2 macros should be defined and specifies the byte
608
 * ordering for the current platform.
609
 * This should be defined in the Makefile, but if it is not then
610
 * the default is CPL_LSB (Intel ordering, LSB first).
611
 *--------------------------------------------------------------------*/
612
#if defined(WORDS_BIGENDIAN) && !defined(CPL_MSB) && !defined(CPL_LSB)
613
#define CPL_MSB
614
#endif
615
616
#if !(defined(CPL_LSB) || defined(CPL_MSB))
617
#define CPL_LSB
618
#endif
619
620
#if defined(CPL_LSB)
621
20.9k
#define CPL_IS_LSB 1
622
#else
623
#define CPL_IS_LSB 0
624
#endif
625
/*! @endcond */
626
627
#if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS)
628
629
/*! @cond Doxygen_Suppress */
630
extern "C++"
631
{
632
633
    template <bool b> struct CPLStaticAssert
634
    {
635
    };
636
637
    template <> struct CPLStaticAssert<true>
638
    {
639
        static void my_function()
640
113M
        {
641
113M
        }
642
    };
643
644
} /* extern "C++" */
645
646
113M
#define CPL_STATIC_ASSERT(x) CPLStaticAssert<x>::my_function()
647
112M
#define CPL_STATIC_ASSERT_IF_AVAILABLE(x) CPL_STATIC_ASSERT(x)
648
649
#else /* __cplusplus */
650
651
#define CPL_STATIC_ASSERT_IF_AVAILABLE(x)
652
653
#endif /* __cplusplus */
654
/*! @endcond */
655
656
/*---------------------------------------------------------------------
657
 *        Little endian <==> big endian byte swap macros.
658
 *--------------------------------------------------------------------*/
659
660
/** Byte-swap a 16bit unsigned integer */
661
#define CPL_SWAP16(x)                                                          \
662
16.4M
    CPL_STATIC_CAST(GUInt16, (CPL_STATIC_CAST(GUInt16, x) << 8) |              \
663
16.4M
                                 (CPL_STATIC_CAST(GUInt16, x) >> 8))
664
665
#ifdef __GNUC__
666
/** Byte-swap a 32bit unsigned integer */
667
#define CPL_SWAP32(x)                                                          \
668
19.9M
    CPL_STATIC_CAST(GUInt32, __builtin_bswap32(CPL_STATIC_CAST(GUInt32, x)))
669
/** Byte-swap a 64bit unsigned integer */
670
#define CPL_SWAP64(x)                                                          \
671
6.20M
    CPL_STATIC_CAST(GUInt64, __builtin_bswap64(CPL_STATIC_CAST(GUInt64, x)))
672
#elif defined(_MSC_VER)
673
#define CPL_SWAP32(x)                                                          \
674
    CPL_STATIC_CAST(GUInt32, _byteswap_ulong(CPL_STATIC_CAST(GUInt32, x)))
675
#define CPL_SWAP64(x)                                                          \
676
    CPL_STATIC_CAST(GUInt64, _byteswap_uint64(CPL_STATIC_CAST(GUInt64, x)))
677
#else
678
/** Byte-swap a 32bit unsigned integer */
679
#define CPL_SWAP32(x)                                                          \
680
    CPL_STATIC_CAST(GUInt32,                                                   \
681
                    ((CPL_STATIC_CAST(GUInt32, x) & 0x000000ffU) << 24) |      \
682
                        ((CPL_STATIC_CAST(GUInt32, x) & 0x0000ff00U) << 8) |   \
683
                        ((CPL_STATIC_CAST(GUInt32, x) & 0x00ff0000U) >> 8) |   \
684
                        ((CPL_STATIC_CAST(GUInt32, x) & 0xff000000U) >> 24))
685
686
/** Byte-swap a 64bit unsigned integer */
687
#define CPL_SWAP64(x)                                                          \
688
    ((CPL_STATIC_CAST(GUInt64, CPL_SWAP32(CPL_STATIC_CAST(GUInt32, x)))        \
689
      << 32) |                                                                 \
690
     (CPL_STATIC_CAST(GUInt64,                                                 \
691
                      CPL_SWAP32(CPL_STATIC_CAST(                              \
692
                          GUInt32, CPL_STATIC_CAST(GUInt64, x) >> 32)))))
693
694
#endif
695
696
/** Byte-swap a 16 bit pointer */
697
#define CPL_SWAP16PTR(x)                                                       \
698
14.2M
    do                                                                         \
699
14.2M
    {                                                                          \
700
14.2M
        GUInt16 _n16;                                                          \
701
14.2M
        void *_lx = x;                                                         \
702
14.2M
        memcpy(&_n16, _lx, 2);                                                 \
703
14.2M
        CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 ||                    \
704
14.2M
                                       sizeof(*(x)) == 2);                     \
705
14.2M
        _n16 = CPL_SWAP16(_n16);                                               \
706
14.2M
        memcpy(_lx, &_n16, 2);                                                 \
707
14.2M
    } while (0)
708
709
/** Byte-swap a 32 bit pointer */
710
#define CPL_SWAP32PTR(x)                                                       \
711
7.27M
    do                                                                         \
712
7.27M
    {                                                                          \
713
7.27M
        GUInt32 _n32;                                                          \
714
7.27M
        void *_lx = x;                                                         \
715
7.27M
        memcpy(&_n32, _lx, 4);                                                 \
716
7.27M
        CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 ||                    \
717
7.27M
                                       sizeof(*(x)) == 4);                     \
718
7.27M
        _n32 = CPL_SWAP32(_n32);                                               \
719
7.27M
        memcpy(_lx, &_n32, 4);                                                 \
720
7.27M
    } while (0)
721
722
/** Byte-swap a 64 bit pointer */
723
#define CPL_SWAP64PTR(x)                                                       \
724
3.98M
    do                                                                         \
725
3.98M
    {                                                                          \
726
3.98M
        GUInt64 _n64;                                                          \
727
3.98M
        void *_lx = x;                                                         \
728
3.98M
        memcpy(&_n64, _lx, 8);                                                 \
729
3.98M
        CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 ||                    \
730
3.98M
                                       sizeof(*(x)) == 8);                     \
731
3.98M
        _n64 = CPL_SWAP64(_n64);                                               \
732
3.98M
        memcpy(_lx, &_n64, 8);                                                 \
733
3.98M
    } while (0)
734
735
/** Byte-swap a 64 bit pointer */
736
3.57M
#define CPL_SWAPDOUBLE(p) CPL_SWAP64PTR(p)
737
738
#ifdef CPL_MSB
739
#define CPL_MSBWORD16(x) (x)
740
#define CPL_LSBWORD16(x) CPL_SWAP16(x)
741
#define CPL_MSBWORD32(x) (x)
742
#define CPL_LSBWORD32(x) CPL_SWAP32(x)
743
#define CPL_MSBPTR16(x)                                                        \
744
    CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 || sizeof(*(x)) == 2)
745
#define CPL_LSBPTR16(x) CPL_SWAP16PTR(x)
746
#define CPL_MSBPTR32(x)                                                        \
747
    CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 || sizeof(*(x)) == 4)
748
#define CPL_LSBPTR32(x) CPL_SWAP32PTR(x)
749
#define CPL_MSBPTR64(x)                                                        \
750
    CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 || sizeof(*(x)) == 8)
751
#define CPL_LSBPTR64(x) CPL_SWAP64PTR(x)
752
#else
753
/** Return a 16bit word from a originally LSB ordered word */
754
97
#define CPL_LSBWORD16(x) (x)
755
/** Return a 16bit word from a originally MSB ordered word */
756
12
#define CPL_MSBWORD16(x) CPL_SWAP16(x)
757
/** Return a 32bit word from a originally LSB ordered word */
758
555k
#define CPL_LSBWORD32(x) (x)
759
/** Return a 32bit word from a originally MSB ordered word */
760
280k
#define CPL_MSBWORD32(x) CPL_SWAP32(x)
761
/** Byte-swap if necessary a 16bit word at the location pointed from a
762
 * originally LSB ordered pointer */
763
#define CPL_LSBPTR16(x)                                                        \
764
765k
    CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 || sizeof(*(x)) == 2)
765
/** Byte-swap if necessary a 16bit word at the location pointed from a
766
 * originally MSB ordered pointer */
767
2.45M
#define CPL_MSBPTR16(x) CPL_SWAP16PTR(x)
768
/** Byte-swap if necessary a 32bit word at the location pointed from a
769
 * originally LSB ordered pointer */
770
#define CPL_LSBPTR32(x)                                                        \
771
78.1M
    CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 || sizeof(*(x)) == 4)
772
/** Byte-swap if necessary a 32bit word at the location pointed from a
773
 * originally MSB ordered pointer */
774
1.26M
#define CPL_MSBPTR32(x) CPL_SWAP32PTR(x)
775
/** Byte-swap if necessary a 64bit word at the location pointed from a
776
 * originally LSB ordered pointer */
777
#define CPL_LSBPTR64(x)                                                        \
778
8.55M
    CPL_STATIC_ASSERT_IF_AVAILABLE(sizeof(*(x)) == 1 || sizeof(*(x)) == 8)
779
/** Byte-swap if necessary a 64bit word at the location pointed from a
780
 * originally MSB ordered pointer */
781
332k
#define CPL_MSBPTR64(x) CPL_SWAP64PTR(x)
782
#endif
783
784
/** Return a Int16 from the 2 bytes ordered in LSB order at address x.
785
 * @deprecated Use rather CPL_LSBSINT16PTR or CPL_LSBUINT16PTR for explicit
786
 * signedness. */
787
#define CPL_LSBINT16PTR(x)                                                     \
788
    ((*CPL_REINTERPRET_CAST(const GByte *, x)) |                               \
789
     (*((CPL_REINTERPRET_CAST(const GByte *, x)) + 1) << 8))
790
791
/** Return a Int32 from the 4 bytes ordered in LSB order at address x.
792
 * @deprecated Use rather CPL_LSBSINT32PTR or CPL_LSBUINT32PTR for explicit
793
 * signedness. */
794
#define CPL_LSBINT32PTR(x)                                                     \
795
    ((*CPL_REINTERPRET_CAST(const GByte *, x)) |                               \
796
     (*((CPL_REINTERPRET_CAST(const GByte *, x)) + 1) << 8) |                  \
797
     (*((CPL_REINTERPRET_CAST(const GByte *, x)) + 2) << 16) |                 \
798
     (*((CPL_REINTERPRET_CAST(const GByte *, x)) + 3) << 24))
799
800
/** Return a signed Int16 from the 2 bytes ordered in LSB order at address x */
801
7.74M
#define CPL_LSBSINT16PTR(x) CPL_STATIC_CAST(GInt16, CPL_LSBINT16PTR(x))
802
803
/** Return a unsigned Int16 from the 2 bytes ordered in LSB order at address x
804
 */
805
127k
#define CPL_LSBUINT16PTR(x) CPL_STATIC_CAST(GUInt16, CPL_LSBINT16PTR(x))
806
807
/** Return a signed Int32 from the 4 bytes ordered in LSB order at address x */
808
538k
#define CPL_LSBSINT32PTR(x) CPL_STATIC_CAST(GInt32, CPL_LSBINT32PTR(x))
809
810
/** Return a unsigned Int32 from the 4 bytes ordered in LSB order at address x
811
 */
812
7.48k
#define CPL_LSBUINT32PTR(x) CPL_STATIC_CAST(GUInt32, CPL_LSBINT32PTR(x))
813
814
/*! @cond Doxygen_Suppress */
815
/* Utility macro to explicitly mark intentionally unreferenced parameters. */
816
#ifndef UNREFERENCED_PARAM
817
#ifdef UNREFERENCED_PARAMETER /* May be defined by Windows API */
818
#define UNREFERENCED_PARAM(param) UNREFERENCED_PARAMETER(param)
819
#else
820
#define UNREFERENCED_PARAM(param) ((void)param)
821
#endif /* UNREFERENCED_PARAMETER */
822
#endif /* UNREFERENCED_PARAM */
823
/*! @endcond */
824
825
/* We exclude mingw64 4.6 which seems to be broken regarding this */
826
#if defined(__GNUC__) && __GNUC__ >= 4 && !defined(DOXYGEN_SKIP) &&            \
827
    !(defined(__MINGW64__) && __GNUC__ == 4 && __GNUC_MINOR__ == 6)
828
/** Null terminated variadic */
829
#define CPL_NULL_TERMINATED __attribute__((__sentinel__))
830
#else
831
/** Null terminated variadic */
832
#define CPL_NULL_TERMINATED
833
#endif
834
835
#if defined(__GNUC__) && __GNUC__ >= 3 && !defined(DOXYGEN_SKIP)
836
/** Tag a function to have printf() formatting */
837
#define CPL_PRINT_FUNC_FORMAT(format_idx, arg_idx)                             \
838
    __attribute__((__format__(__printf__, format_idx, arg_idx)))
839
/** Tag a function to have scanf() formatting */
840
#define CPL_SCAN_FUNC_FORMAT(format_idx, arg_idx)                              \
841
    __attribute__((__format__(__scanf__, format_idx, arg_idx)))
842
#else
843
/** Tag a function to have printf() formatting */
844
#define CPL_PRINT_FUNC_FORMAT(format_idx, arg_idx)
845
/** Tag a function to have scanf() formatting */
846
#define CPL_SCAN_FUNC_FORMAT(format_idx, arg_idx)
847
#endif
848
849
#if defined(_MSC_VER) &&                                                       \
850
    (defined(GDAL_COMPILATION) || defined(CPL_ENABLE_MSVC_ANNOTATIONS))
851
#include <sal.h>
852
/** Macro into which to wrap the format argument of a printf-like function.
853
 * Only used if ANALYZE=1 is specified to nmake */
854
#define CPL_FORMAT_STRING(arg) _Printf_format_string_ arg
855
/** Macro into which to wrap the format argument of a sscanf-like function.
856
 * Only used if ANALYZE=1 is specified to nmake */
857
#define CPL_SCANF_FORMAT_STRING(arg) _Scanf_format_string_ arg
858
#else
859
/** Macro into which to wrap the format argument of a printf-like function */
860
#define CPL_FORMAT_STRING(arg) arg
861
/** Macro into which to wrap the format argument of a sscanf-like function. */
862
#define CPL_SCANF_FORMAT_STRING(arg) arg
863
#endif /* defined(_MSC_VER) && defined(GDAL_COMPILATION) */
864
865
#if defined(__GNUC__) && __GNUC__ >= 4 && !defined(DOXYGEN_SKIP)
866
/** Qualifier to warn when the return value of a function is not used */
867
#define CPL_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
868
#else
869
/** Qualifier to warn when the return value of a function is not used */
870
#define CPL_WARN_UNUSED_RESULT
871
#endif
872
873
#if defined(__GNUC__) && __GNUC__ >= 4
874
/** Qualifier for an argument that is unused */
875
#define CPL_UNUSED __attribute((__unused__))
876
#else
877
/* TODO: add cases for other compilers */
878
/** Qualifier for an argument that is unused */
879
#define CPL_UNUSED
880
#endif
881
882
#if defined(__GNUC__) && __GNUC__ >= 3 && !defined(DOXYGEN_SKIP)
883
/** Qualifier for a function that does not return at all (terminates the
884
 * process) */
885
#define CPL_NO_RETURN __attribute__((noreturn))
886
#else
887
/** Qualifier for a function that does not return at all (terminates the
888
 * process) */
889
#define CPL_NO_RETURN
890
#endif
891
892
/*! @cond Doxygen_Suppress */
893
/* Clang __has_attribute */
894
#ifndef __has_attribute
895
#define __has_attribute(x) 0  // Compatibility with non-clang compilers.
896
#endif
897
898
/*! @endcond */
899
900
#if ((defined(__GNUC__) &&                                                     \
901
      (__GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 9))) ||            \
902
     __has_attribute(returns_nonnull)) &&                                      \
903
    !defined(DOXYGEN_SKIP) && !defined(__INTEL_COMPILER)
904
/** Qualifier for a function that does not return NULL */
905
#define CPL_RETURNS_NONNULL __attribute__((returns_nonnull))
906
#else
907
/** Qualifier for a function that does not return NULL */
908
#define CPL_RETURNS_NONNULL
909
#endif
910
911
#if defined(__GNUC__) && __GNUC__ >= 4 && !defined(DOXYGEN_SKIP)
912
/** restrict keyword to declare that pointers do not alias */
913
#define CPL_RESTRICT __restrict__
914
#else
915
/** restrict keyword to declare that pointers do not alias */
916
#define CPL_RESTRICT
917
#endif
918
919
#if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS)
920
921
/** To be used in public headers only. For non-public headers or .cpp files,
922
 * use override directly. */
923
#define CPL_OVERRIDE override
924
925
/** C++11 final qualifier */
926
#define CPL_FINAL final
927
928
/** Mark that a class is explicitly recognized as non-final */
929
#define CPL_NON_FINAL
930
931
/** Helper to remove the copy and assignment constructors so that the compiler
932
   will not generate the default versions.
933
934
   Must be placed in the private section of a class and should be at the end.
935
*/
936
#define CPL_DISALLOW_COPY_ASSIGN(ClassName)                                    \
937
    ClassName(const ClassName &) = delete;                                     \
938
    ClassName &operator=(const ClassName &) = delete;
939
940
#endif /* __cplusplus */
941
942
#ifdef CPL_DISABLE_WARN_DEPRECATED
943
#define CPL_WARN_DEPRECATED(x)
944
#elif !defined(DOXYGEN_SKIP) && !defined(CPL_WARN_DEPRECATED)
945
#if defined(__has_extension)
946
#if __has_extension(attribute_deprecated_with_message)
947
/* Clang extension */
948
#define CPL_WARN_DEPRECATED(x) __attribute__((deprecated(x)))
949
#else
950
#define CPL_WARN_DEPRECATED(x)
951
#endif
952
#elif defined(__GNUC__)
953
#define CPL_WARN_DEPRECATED(x) __attribute__((deprecated))
954
#else
955
#define CPL_WARN_DEPRECATED(x)
956
#endif
957
#endif
958
959
#if !defined(_MSC_VER) && !defined(__APPLE__) && !defined(_FORTIFY_SOURCE)
960
CPL_C_START
961
#if defined(GDAL_COMPILATION) && defined(WARN_STANDARD_PRINTF)
962
int vsnprintf(char *str, size_t size, const char *fmt, va_list args)
963
    CPL_WARN_DEPRECATED("Use CPLvsnprintf() instead");
964
int snprintf(char *str, size_t size, const char *fmt, ...)
965
    CPL_PRINT_FUNC_FORMAT(3, 4)
966
        CPL_WARN_DEPRECATED("Use CPLsnprintf() instead");
967
int sprintf(char *str, const char *fmt, ...) CPL_PRINT_FUNC_FORMAT(2, 3)
968
    CPL_WARN_DEPRECATED("Use CPLsnprintf() instead");
969
#elif defined(GDAL_COMPILATION) && !defined(DONT_DEPRECATE_SPRINTF)
970
int sprintf(char *str, const char *fmt, ...) CPL_PRINT_FUNC_FORMAT(2, 3)
971
    CPL_WARN_DEPRECATED("Use snprintf() or CPLsnprintf() instead");
972
#endif /* defined(GDAL_COMPILATION) && defined(WARN_STANDARD_PRINTF) */
973
CPL_C_END
974
#endif /* !defined(_MSC_VER) && !defined(__APPLE__) */
975
976
#if defined(__cplusplus)
977
#ifndef CPPCHECK
978
/** Returns the size of C style arrays. */
979
#define CPL_ARRAYSIZE(array)                                                   \
980
750k
    ((sizeof(array) / sizeof(*(array))) /                                      \
981
750k
     static_cast<size_t>(!(sizeof(array) % sizeof(*(array)))))
982
#else
983
/* simplified version for cppcheck */
984
#define CPL_ARRAYSIZE(array) (sizeof(array) / sizeof(array[0]))
985
#endif
986
987
extern "C++"
988
{
989
    template <class T> static void CPL_IGNORE_RET_VAL(const T &)
990
79.2M
    {
991
79.2M
    }
Unexecuted instantiation: cpl_error.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
cpl_string.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
49.4k
    {
991
49.4k
    }
Unexecuted instantiation: cpl_vsil.cpp:void CPL_IGNORE_RET_VAL<char const* const*>(char const* const* const&)
cpl_vsil.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
2.44M
    {
991
2.44M
    }
cpl_vsi_mem.cpp:void CPL_IGNORE_RET_VAL<std::__1::shared_ptr<VSIMemFile> >(std::__1::shared_ptr<VSIMemFile> const&)
Line
Count
Source
990
111k
    {
991
111k
    }
cpl_vsil_sparsefile.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
302
    {
991
302
    }
cpl_vsil_tar.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
8.68M
    {
991
8.68M
    }
cpl_vsil_curl.cpp:void CPL_IGNORE_RET_VAL<CURLcode>(CURLcode const&)
Line
Count
Source
990
2.15M
    {
991
2.15M
    }
cpl_vsil_curl.cpp:void CPL_IGNORE_RET_VAL<double>(double const&)
Line
Count
Source
990
147k
    {
991
147k
    }
cpl_vsil_curl.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Line
Count
Source
990
3.17k
    {
991
3.17k
    }
cpl_vsil_curl.cpp:void CPL_IGNORE_RET_VAL<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Line
Count
Source
990
117k
    {
991
117k
    }
cpl_vsil_curl_streaming.cpp:void CPL_IGNORE_RET_VAL<CURLcode>(CURLcode const&)
Line
Count
Source
990
31.8k
    {
991
31.8k
    }
cpl_vsil_curl_streaming.cpp:void CPL_IGNORE_RET_VAL<double>(double const&)
Line
Count
Source
990
379
    {
991
379
    }
Unexecuted instantiation: cpl_json.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Unexecuted instantiation: cpl_vsil_adls.cpp:void CPL_IGNORE_RET_VAL<CURLcode>(CURLcode const&)
Unexecuted instantiation: cpl_vsil_az.cpp:void CPL_IGNORE_RET_VAL<CURLcode>(CURLcode const&)
Unexecuted instantiation: cpl_vsil_az.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Unexecuted instantiation: cpl_vsil_gs.cpp:void CPL_IGNORE_RET_VAL<CURLcode>(CURLcode const&)
cpl_vsil_webhdfs.cpp:void CPL_IGNORE_RET_VAL<CURLcode>(CURLcode const&)
Line
Count
Source
990
8.58k
    {
991
8.58k
    }
Unexecuted instantiation: cpl_vsil_s3.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
cpl_vsil_s3.cpp:void CPL_IGNORE_RET_VAL<CURLcode>(CURLcode const&)
Line
Count
Source
990
6.66k
    {
991
6.66k
    }
Unexecuted instantiation: cpl_vsil_swift.cpp:void CPL_IGNORE_RET_VAL<CURLcode>(CURLcode const&)
cpl_vsil_gzip.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
896k
    {
991
896k
    }
cpl_vsil_gzip.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
Line
Count
Source
990
12.8k
    {
991
12.8k
    }
cpl_vsil_gzip.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Line
Count
Source
990
921k
    {
991
921k
    }
cpl_vsil_gzip.cpp:void CPL_IGNORE_RET_VAL<char const*>(char const* const&)
Line
Count
Source
990
118k
    {
991
118k
    }
cpl_minizip_unzip.cpp:void CPL_IGNORE_RET_VAL<long>(long const&)
Line
Count
Source
990
84.5k
    {
991
84.5k
    }
Unexecuted instantiation: ogrfeaturestyle.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
ogrlibjsonutils.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
1.79M
    {
991
1.79M
    }
ogrgeojsonseqdriver.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Line
Count
Source
990
4.75M
    {
991
4.75M
    }
Unexecuted instantiation: ogrgmldatasource.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
ogropenfilegdblayer_write.cpp:void CPL_IGNORE_RET_VAL<char const*>(char const* const&)
Line
Count
Source
990
169k
    {
991
169k
    }
Unexecuted instantiation: filegdbtable_write.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
ogrvdvdatasource.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
150k
    {
991
150k
    }
Unexecuted instantiation: ogrflatgeobuflayer.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
Unexecuted instantiation: ogradbcdataset.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Unexecuted instantiation: ogradbcdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: ogradbcbigquerylayer.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Unexecuted instantiation: ogrgmlaswriter.cpp:void CPL_IGNORE_RET_VAL<CPLString>(CPLString const&)
Unexecuted instantiation: ogrgmlaswriter.cpp:void CPL_IGNORE_RET_VAL<std::__1::vector<std::__1::pair<CPLString, CPLString>, std::__1::allocator<std::__1::pair<CPLString, CPLString> > > >(std::__1::vector<std::__1::pair<CPLString, CPLString>, std::__1::allocator<std::__1::pair<CPLString, CPLString> > > const&)
ogrgmlasconf.cpp:void CPL_IGNORE_RET_VAL<CPLXMLTreeCloser>(CPLXMLTreeCloser const&)
Line
Count
Source
990
2.42k
    {
991
2.42k
    }
Unexecuted instantiation: ogrcswdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
ogrnasdriver.cpp:void CPL_IGNORE_RET_VAL<char const*>(char const* const&)
Line
Count
Source
990
8.51k
    {
991
8.51k
    }
Unexecuted instantiation: ogroapifdriver.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Unexecuted instantiation: ogroapifdriver.cpp:void CPL_IGNORE_RET_VAL<CPLXMLTreeCloser>(CPLXMLTreeCloser const&)
Unexecuted instantiation: ogrgeopackagedriver.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
ogrgeopackagetablelayer.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
189
    {
991
189
    }
ogrgeopackagetablelayer.cpp:void CPL_IGNORE_RET_VAL<char const*>(char const* const&)
Line
Count
Source
990
1.08M
    {
991
1.08M
    }
Unexecuted instantiation: ogrgeopackagetablelayer.cpp:void CPL_IGNORE_RET_VAL<std::__1::unique_ptr<OGRGeoPackageTableLayer::Truncate()::ReenableTriggers, std::__1::default_delete<OGRGeoPackageTableLayer::Truncate()::ReenableTriggers> > >(std::__1::unique_ptr<OGRGeoPackageTableLayer::Truncate()::ReenableTriggers, std::__1::default_delete<OGRGeoPackageTableLayer::Truncate()::ReenableTriggers> > const&)
Unexecuted instantiation: gdalgeopackagerasterband.cpp:void CPL_IGNORE_RET_VAL<char const*>(char const* const&)
Unexecuted instantiation: gdalgeopackagerasterband.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: ogrgtfsdriver.cpp:void CPL_IGNORE_RET_VAL<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: ogrlayer.cpp:void CPL_IGNORE_RET_VAL<OGRFeature*>(OGRFeature* const&)
Unexecuted instantiation: ogrlayerarrow.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Unexecuted instantiation: ogrlayerarrow.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
Unexecuted instantiation: ogrlayerpool.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
ogreditablelayer.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
7.28k
    {
991
7.28k
    }
gdal_misc.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
136k
    {
991
136k
    }
Unexecuted instantiation: gdal_misc.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
Unexecuted instantiation: gdalalgorithm.cpp:void CPL_IGNORE_RET_VAL<GDALAlgorithmArg*>(GDALAlgorithmArg* const&)
Unexecuted instantiation: gdalalgorithm.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
gdalopeninfo.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
657k
    {
991
657k
    }
Unexecuted instantiation: gdaldriver.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
gdaldriver.cpp:void CPL_IGNORE_RET_VAL<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Line
Count
Source
990
90
    {
991
90
    }
gdaldrivermanager.cpp:void CPL_IGNORE_RET_VAL<char const*>(char const* const&)
Line
Count
Source
990
44
    {
991
44
    }
Unexecuted instantiation: gdaldataset.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Unexecuted instantiation: gdaldataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: gdaldataset.cpp:void CPL_IGNORE_RET_VAL<GDALDataset::RawBinaryLayout>(GDALDataset::RawBinaryLayout const&)
gdalrasterband.cpp:void CPL_IGNORE_RET_VAL<long>(long const&)
Line
Count
Source
990
1.19k
    {
991
1.19k
    }
gdalrasterband.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
Line
Count
Source
990
1.82k
    {
991
1.82k
    }
Unexecuted instantiation: gdalrasterband.cpp:void CPL_IGNORE_RET_VAL<signed char>(signed char const&)
Unexecuted instantiation: gdalrasterband.cpp:void CPL_IGNORE_RET_VAL<unsigned char>(unsigned char const&)
gdalrasterband.cpp:void CPL_IGNORE_RET_VAL<short>(short const&)
Line
Count
Source
990
888
    {
991
888
    }
Unexecuted instantiation: gdalrasterband.cpp:void CPL_IGNORE_RET_VAL<unsigned short>(unsigned short const&)
gdalrasterband.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
210
    {
991
210
    }
gdalrasterband.cpp:void CPL_IGNORE_RET_VAL<unsigned int>(unsigned int const&)
Line
Count
Source
990
23.5k
    {
991
23.5k
    }
Unexecuted instantiation: gdalrasterband.cpp:void CPL_IGNORE_RET_VAL<cpl::Float16>(cpl::Float16 const&)
gdalrasterband.cpp:void CPL_IGNORE_RET_VAL<float>(float const&)
Line
Count
Source
990
18
    {
991
18
    }
gdalrasterband.cpp:void CPL_IGNORE_RET_VAL<double>(double const&)
Line
Count
Source
990
7.68M
    {
991
7.68M
    }
gdaldefaultoverviews.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
6
    {
991
6
    }
gdalpamdataset.cpp:void CPL_IGNORE_RET_VAL<CPLErr>(CPLErr const&)
Line
Count
Source
990
708k
    {
991
708k
    }
Unexecuted instantiation: gdalpamproxydb.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: gdalvirtualmem.cpp:void CPL_IGNORE_RET_VAL<CPLErr>(CPLErr const&)
Unexecuted instantiation: gdalthreadsafedataset.cpp:void CPL_IGNORE_RET_VAL<lru11::Cache<GDALThreadSafeDataset const*, std::__1::shared_ptr<GDALDataset>, lru11::NullLock, std::__1::unordered_map<GDALThreadSafeDataset const*, std::__1::__list_iterator<lru11::KeyValuePair<GDALThreadSafeDataset const*, std::__1::shared_ptr<GDALDataset> >, void*>, std::__1::hash<GDALThreadSafeDataset const*>, std::__1::equal_to<GDALThreadSafeDataset const*>, std::__1::allocator<std::__1::pair<GDALThreadSafeDataset const* const, std::__1::__list_iterator<lru11::KeyValuePair<GDALThreadSafeDataset const*, std::__1::shared_ptr<GDALDataset> >, void*> > > > >*>(lru11::Cache<GDALThreadSafeDataset const*, std::__1::shared_ptr<GDALDataset>, lru11::NullLock, std::__1::unordered_map<GDALThreadSafeDataset const*, std::__1::__list_iterator<lru11::KeyValuePair<GDALThreadSafeDataset const*, std::__1::shared_ptr<GDALDataset> >, void*>, std::__1::hash<GDALThreadSafeDataset const*>, std::__1::equal_to<GDALThreadSafeDataset const*>, std::__1::allocator<std::__1::pair<GDALThreadSafeDataset const* const, std::__1::__list_iterator<lru11::KeyValuePair<GDALThreadSafeDataset const*, std::__1::shared_ptr<GDALDataset> >, void*> > > > >* const&)
Unexecuted instantiation: gdalthreadsafedataset.cpp:void CPL_IGNORE_RET_VAL<char const* const*>(char const* const* const&)
Unexecuted instantiation: overview.cpp:void CPL_IGNORE_RET_VAL<char const* const*>(char const* const* const&)
rasterio.cpp:void CPL_IGNORE_RET_VAL<CPLErr>(CPLErr const&)
Line
Count
Source
990
17.3k
    {
991
17.3k
    }
rasterio.cpp:void CPL_IGNORE_RET_VAL<int (*)(double, char const*, void*)>(int (* const&)(double, char const*, void*))
Line
Count
Source
990
765
    {
991
765
    }
Unexecuted instantiation: gdalmultidim.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Unexecuted instantiation: gdalmultidim.cpp:void CPL_IGNORE_RET_VAL<CPLErr>(CPLErr const&)
gdalmultidim.cpp:void CPL_IGNORE_RET_VAL<CPLErrorAccumulator::Context>(CPLErrorAccumulator::Context const&)
Line
Count
Source
990
41
    {
991
41
    }
Unexecuted instantiation: gdalmultidim_gridded.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: gdalmultidim_gltorthorectification.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Unexecuted instantiation: gdalpythondriverloader.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
gdal_translate_lib.cpp:void CPL_IGNORE_RET_VAL<double>(double const&)
Line
Count
Source
990
82.6k
    {
991
82.6k
    }
Unexecuted instantiation: cpl_minixml.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
cpl_http.cpp:void CPL_IGNORE_RET_VAL<CURLcode>(CURLcode const&)
Line
Count
Source
990
5.12M
    {
991
5.12M
    }
Unexecuted instantiation: cpl_spawn.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: cpl_google_oauth2.cpp:void CPL_IGNORE_RET_VAL<char const* const*>(char const* const* const&)
Unexecuted instantiation: cpl_virtualmem.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: cpl_sha256.cpp:void CPL_IGNORE_RET_VAL<char const*>(char const* const&)
Unexecuted instantiation: cpl_sha256.cpp:void CPL_IGNORE_RET_VAL<void const*>(void const* const&)
Unexecuted instantiation: cpl_sha256.cpp:void CPL_IGNORE_RET_VAL<unsigned int>(unsigned int const&)
cpl_cpu_features.cpp:void CPL_IGNORE_RET_VAL<unsigned int>(unsigned int const&)
Line
Count
Source
990
94
    {
991
94
    }
Unexecuted instantiation: cpl_vsil_chunked_write_handle.cpp:void CPL_IGNORE_RET_VAL<CURLcode>(CURLcode const&)
Unexecuted instantiation: cpl_compressor.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
Unexecuted instantiation: gdalgrid.cpp:void CPL_IGNORE_RET_VAL<unsigned int>(unsigned int const&)
Unexecuted instantiation: gdalgrid.cpp:void CPL_IGNORE_RET_VAL<char const*>(char const* const&)
Unexecuted instantiation: gdalwarpkernel.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Unexecuted instantiation: gdalwarpoperation.cpp:void CPL_IGNORE_RET_VAL<CPLErrorAccumulator::Context>(CPLErrorAccumulator::Context const&)
Unexecuted instantiation: ogrlinestring.cpp:void CPL_IGNORE_RET_VAL<OGRPoint const*>(OGRPoint const* const&)
ogrspatialreference.cpp:void CPL_IGNORE_RET_VAL<OGRSpatialReference::Private::OptionalLockGuard>(OGRSpatialReference::Private::OptionalLockGuard const&)
Line
Count
Source
990
9.01M
    {
991
9.01M
    }
ogrspatialreference.cpp:void CPL_IGNORE_RET_VAL<CPLErrorAccumulator::Context>(CPLErrorAccumulator::Context const&)
Line
Count
Source
990
127k
    {
991
127k
    }
Unexecuted instantiation: ogrspatialreference.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
ogrspatialreference.cpp:void CPL_IGNORE_RET_VAL<char const* const*>(char const* const* const&)
Line
Count
Source
990
34.9k
    {
991
34.9k
    }
ogrspatialreference.cpp:void CPL_IGNORE_RET_VAL<char**>(char** const&)
Line
Count
Source
990
25.5k
    {
991
25.5k
    }
ogr2gmlgeometry.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Line
Count
Source
990
2.84M
    {
991
2.84M
    }
Unexecuted instantiation: gml2ogrgeometry.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: ogr_wkb.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
ogr2kmlgeometry.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
Line
Count
Source
990
158k
    {
991
158k
    }
ddfmodule.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
33.3k
    {
991
33.3k
    }
Unexecuted instantiation: ddffielddefn.cpp:void CPL_IGNORE_RET_VAL<char const*>(char const* const&)
Unexecuted instantiation: cogdriver.cpp:void CPL_IGNORE_RET_VAL<CPLString>(CPLString const&)
gtiffdataset_write.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
270k
    {
991
270k
    }
gtiffjpegoverviewds.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
291
    {
991
291
    }
Unexecuted instantiation: gtiffrasterband_write.cpp:void CPL_IGNORE_RET_VAL<double>(double const&)
Unexecuted instantiation: gtiffrasterband_write.cpp:void CPL_IGNORE_RET_VAL<long>(long const&)
Unexecuted instantiation: gtiffrasterband_write.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
geotiff.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
269k
    {
991
269k
    }
Unexecuted instantiation: gt_jpeg_copy.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: gt_jpeg_copy.cpp:void CPL_IGNORE_RET_VAL<bool volatile>(bool volatile const&)
Unexecuted instantiation: gt_overview.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
gt_wkt_srs.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
760
    {
991
760
    }
tifvsi.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
1.28M
    {
991
1.28M
    }
Unexecuted instantiation: vrtderivedrasterband.cpp:void CPL_IGNORE_RET_VAL<CPLErr>(CPLErr const&)
Unexecuted instantiation: vrtsourcedrasterband.cpp:void CPL_IGNORE_RET_VAL<CPLErrorAccumulator::Context>(CPLErrorAccumulator::Context const&)
vrtsourcedrasterband.cpp:void CPL_IGNORE_RET_VAL<double>(double const&)
Line
Count
Source
990
7.73k
    {
991
7.73k
    }
Unexecuted instantiation: vrtwarped.cpp:void CPL_IGNORE_RET_VAL<double>(double const&)
vrtdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
10.1k
    {
991
10.1k
    }
Unexecuted instantiation: vrtdataset.cpp:void CPL_IGNORE_RET_VAL<CPLErrorAccumulator::Context>(CPLErrorAccumulator::Context const&)
vrtdataset.cpp:void CPL_IGNORE_RET_VAL<std::__1::unique_ptr<std::__1::lock_guard<std::__1::mutex>, std::__1::default_delete<std::__1::lock_guard<std::__1::mutex> > > >(std::__1::unique_ptr<std::__1::lock_guard<std::__1::mutex>, std::__1::default_delete<std::__1::lock_guard<std::__1::mutex> > > const&)
Line
Count
Source
990
29.8k
    {
991
29.8k
    }
Unexecuted instantiation: vrtprocesseddataset.cpp:void CPL_IGNORE_RET_VAL<CPLErr>(CPLErr const&)
Unexecuted instantiation: ogrgeojsondatasource.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
ogrgeojsonlayer.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
4.40k
    {
991
4.40k
    }
Unexecuted instantiation: mitab_indfile.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: ogrshapedatasource.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Unexecuted instantiation: ogrshapelayer.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
gmlfeatureclass.cpp:void CPL_IGNORE_RET_VAL<char const*>(char const* const&)
Line
Count
Source
990
5
    {
991
5
    }
Unexecuted instantiation: ogrcsvdatasource.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
filegdbindex_write.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
Line
Count
Source
990
1.32k
    {
991
1.32k
    }
filegdbtable.cpp:void CPL_IGNORE_RET_VAL<unsigned int>(unsigned int const&)
Line
Count
Source
990
1.14M
    {
991
1.14M
    }
Unexecuted instantiation: filegdbtable_write_fields.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
filegdbtable_write_fields.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
Line
Count
Source
990
234
    {
991
234
    }
Unexecuted instantiation: filegdbtable_freelist.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
Unexecuted instantiation: ogropenfilegdbdatasource.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
ogropenfilegdbdatasource_write.cpp:void CPL_IGNORE_RET_VAL<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Line
Count
Source
990
102
    {
991
102
    }
Unexecuted instantiation: ogropenfilegdbdatasource_write.cpp:void CPL_IGNORE_RET_VAL<char const*>(char const* const&)
Unexecuted instantiation: ogropenfilegdblayer.cpp:void CPL_IGNORE_RET_VAL<OpenFileGDB::FileGDBSQLOp>(OpenFileGDB::FileGDBSQLOp const&)
Unexecuted instantiation: ogrjsonfgwritelayer.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
ogrgmlasdatasource.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
78.9k
    {
991
78.9k
    }
ogrgmlaslayer.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
639k
    {
991
639k
    }
ogrgmlaslayer.cpp:void CPL_IGNORE_RET_VAL<CPLString>(CPLString const&)
Line
Count
Source
990
224k
    {
991
224k
    }
ogrgmlasreader.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
9.84k
    {
991
9.84k
    }
ogrgmlasschemaanalyzer.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Line
Count
Source
990
4.10k
    {
991
4.10k
    }
ogrgmlasschemaanalyzer.cpp:void CPL_IGNORE_RET_VAL<OGRwkbGeometryType>(OGRwkbGeometryType const&)
Line
Count
Source
990
277k
    {
991
277k
    }
Unexecuted instantiation: ogrplscenesdatav1dataset.cpp:void CPL_IGNORE_RET_VAL<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: ogrwfsdatasource.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: ogrwfslayer.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: ogrelasticdatasource.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: ogrelasticlayer.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: ogrsqlitedatasource.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
ogrsqlitedatasource.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
3.54k
    {
991
3.54k
    }
ogrsqlitelayer.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
16.7k
    {
991
16.7k
    }
Unexecuted instantiation: ogrsqlitetablelayer.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
ogrsqlitevirtualogr.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Line
Count
Source
990
5.32k
    {
991
5.32k
    }
Unexecuted instantiation: ogrsqliteutility.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
ogrgeopackagedatasource.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
47
    {
991
47
    }
ogrgeopackagelayer.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Line
Count
Source
990
30
    {
991
30
    }
Unexecuted instantiation: ogrgeopackagelayer.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: ogrgeopackageselectlayer.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
ogrosmdatasource.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
2
    {
991
2
    }
vfkreadersqlite.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
7.96k
    {
991
7.96k
    }
Unexecuted instantiation: ogrcartodatasource.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: ogrcartotablelayer.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
ogrxlsxdatasource.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
543k
    {
991
543k
    }
ogrodsdatasource.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
21.2M
    {
991
21.2M
    }
gdal_mdreader.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
885
    {
991
885
    }
rawdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
9.00k
    {
991
9.00k
    }
ogr2ogr_lib.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
196k
    {
991
196k
    }
Unexecuted instantiation: gdalapplyverticalshiftgrid.cpp:void CPL_IGNORE_RET_VAL<CPLErr>(CPLErr const&)
Unexecuted instantiation: gdalpansharpen.cpp:void CPL_IGNORE_RET_VAL<CPLErr>(CPLErr const&)
Unexecuted instantiation: ogr_geocoding.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: gnmgenericnetwork.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: gnmresultlayer.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
gtiffdataset.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Line
Count
Source
990
104k
    {
991
104k
    }
Unexecuted instantiation: gtiffdataset_read.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: gtiffdataset_read.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
gtiffdataset_read.cpp:void CPL_IGNORE_RET_VAL<CPLErrorAccumulator::Context>(CPLErrorAccumulator::Context const&)
Line
Count
Source
990
148k
    {
991
148k
    }
gt_citation.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
3.30k
    {
991
3.30k
    }
Unexecuted instantiation: vrtprocesseddatasetfunctions.cpp:void CPL_IGNORE_RET_VAL<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: vrtprocesseddatasetfunctions.cpp:void CPL_IGNORE_RET_VAL<GDALDataType>(GDALDataType const&)
Unexecuted instantiation: vrtprocesseddatasetfunctions.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
Unexecuted instantiation: vrtprocesseddatasetfunctions.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: vrtprocesseddatasetfunctions.cpp:void CPL_IGNORE_RET_VAL<CPLErr>(CPLErr const&)
Unexecuted instantiation: vrtprocesseddatasetfunctions.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Unexecuted instantiation: vrtprocesseddatasetfunctions.cpp:void CPL_IGNORE_RET_VAL<GDALRIOResampleAlg>(GDALRIOResampleAlg const&)
Unexecuted instantiation: gdaltileindexdataset.cpp:void CPL_IGNORE_RET_VAL<OGRSpatialReference const*>(OGRSpatialReference const* const&)
Unexecuted instantiation: gdaltileindexdataset.cpp:void CPL_IGNORE_RET_VAL<CPLErr>(CPLErr const&)
Unexecuted instantiation: gdaltileindexdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: gdaltileindexdataset.cpp:void CPL_IGNORE_RET_VAL<GDALRIOResampleAlg>(GDALRIOResampleAlg const&)
Unexecuted instantiation: gdaltileindexdataset.cpp:void CPL_IGNORE_RET_VAL<CPLErrorAccumulator::Context>(CPLErrorAccumulator::Context const&)
Unexecuted instantiation: hfadataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: hfadataset.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
hfaopen.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
15.6k
    {
991
15.6k
    }
Unexecuted instantiation: hfatype.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: nitfdataset.cpp:void CPL_IGNORE_RET_VAL<char const*>(char const* const&)
Unexecuted instantiation: nitfdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
nitfdataset.cpp:void CPL_IGNORE_RET_VAL<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Line
Count
Source
990
609
    {
991
609
    }
Unexecuted instantiation: nitfdataset.cpp:void CPL_IGNORE_RET_VAL<char*>(char* const&)
Unexecuted instantiation: rpftocdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
nitffile.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
231
    {
991
231
    }
Unexecuted instantiation: nitfaridpcm.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: nitfaridpcm.cpp:void CPL_IGNORE_RET_VAL<unsigned char>(unsigned char const&)
Unexecuted instantiation: nitfdrivercore.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
nitfbilevel.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
15
    {
991
15
    }
gxfdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
5.77k
    {
991
5.77k
    }
Unexecuted instantiation: aaigriddataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: aaigriddataset.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
sar_ceosdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
171
    {
991
171
    }
Unexecuted instantiation: sar_ceosdataset.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
jdemdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
4
    {
991
4
    }
Unexecuted instantiation: envisatdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
l1bdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
39.8k
    {
991
39.8k
    }
l1bdataset.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
Line
Count
Source
990
37.2k
    {
991
37.2k
    }
Unexecuted instantiation: l1bdataset.cpp:void CPL_IGNORE_RET_VAL<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: ilwisdataset.cpp:void CPL_IGNORE_RET_VAL<char const*>(char const* const&)
ilwisdataset.cpp:void CPL_IGNORE_RET_VAL<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Line
Count
Source
990
61
    {
991
61
    }
Unexecuted instantiation: ersdataset.cpp:void CPL_IGNORE_RET_VAL<char const*>(char const* const&)
pds4dataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
144
    {
991
144
    }
pds4vector.cpp:void CPL_IGNORE_RET_VAL<CPLXMLNode*>(CPLXMLNode* const&)
Line
Count
Source
990
655
    {
991
655
    }
Unexecuted instantiation: vicardataset.cpp:void CPL_IGNORE_RET_VAL<char const*>(char const* const&)
vicardataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
17
    {
991
17
    }
msgndataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
3
    {
991
3
    }
Unexecuted instantiation: grddataset.cpp:void CPL_IGNORE_RET_VAL<CPLErr>(CPLErr const&)
Unexecuted instantiation: kmlsuperoverlaydataset.cpp:void CPL_IGNORE_RET_VAL<CPLErr>(CPLErr const&)
Unexecuted instantiation: kmlsuperoverlaydataset.cpp:void CPL_IGNORE_RET_VAL<CPLString>(CPLString const&)
sentinel2dataset.cpp:void CPL_IGNORE_RET_VAL<CPLString>(CPLString const&)
Line
Count
Source
990
58
    {
991
58
    }
Unexecuted instantiation: sentinel2dataset.cpp:void CPL_IGNORE_RET_VAL<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
wmtsdataset.cpp:void CPL_IGNORE_RET_VAL<CPLString>(CPLString const&)
Line
Count
Source
990
45
    {
991
45
    }
metaname.cpp:void CPL_IGNORE_RET_VAL<char const*>(char const* const&)
Line
Count
Source
990
10.7k
    {
991
10.7k
    }
usgsdemdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
12.3k
    {
991
12.3k
    }
usgsdemdataset.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
Line
Count
Source
990
6.49k
    {
991
6.49k
    }
Unexecuted instantiation: cpcidskvectorsegment_consistencycheck.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Unexecuted instantiation: sigdemdataset.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
Unexecuted instantiation: sigdemdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: pdfdataset.cpp:void CPL_IGNORE_RET_VAL<char const*>(char const* const&)
pdfreadvectors.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
33.3k
    {
991
33.3k
    }
Unexecuted instantiation: pdfcreatefromcomposition.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Unexecuted instantiation: rcmdataset.cpp:void CPL_IGNORE_RET_VAL<CPLString>(CPLString const&)
Unexecuted instantiation: wcsdataset110.cpp:void CPL_IGNORE_RET_VAL<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: wcsutils.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
httpdriver.cpp:void CPL_IGNORE_RET_VAL<CPLErrorAccumulator::Context>(CPLErrorAccumulator::Context const&)
Line
Count
Source
990
66
    {
991
66
    }
netcdfdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
61.1k
    {
991
61.1k
    }
netcdfdataset.cpp:void CPL_IGNORE_RET_VAL<NetCDFFormatEnum>(NetCDFFormatEnum const&)
Line
Count
Source
990
16.8k
    {
991
16.8k
    }
netcdflayer.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
14.2k
    {
991
14.2k
    }
Unexecuted instantiation: netcdfmultidim.cpp:void CPL_IGNORE_RET_VAL<char const*>(char const* const&)
zarrdriver.cpp:void CPL_IGNORE_RET_VAL<std::__1::shared_ptr<GDALDimension> >(std::__1::shared_ptr<GDALDimension> const&)
Line
Count
Source
990
104
    {
991
104
    }
Unexecuted instantiation: vsikerchunk_json_ref.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Unexecuted instantiation: daasdataset.cpp:void CPL_IGNORE_RET_VAL<CPLJSONObject>(CPLJSONObject const&)
Unexecuted instantiation: daasdataset.cpp:void CPL_IGNORE_RET_VAL<unsigned int>(unsigned int const&)
Unexecuted instantiation: eedaidataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: eedaidataset.cpp:void CPL_IGNORE_RET_VAL<unsigned int>(unsigned int const&)
Unexecuted instantiation: plmosaicdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: webpdataset.cpp:void CPL_IGNORE_RET_VAL<CPLErr>(CPLErr const&)
mbtilesdataset.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Line
Count
Source
990
711
    {
991
711
    }
mitab_mapfile.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
2
    {
991
2
    }
mitab_datfile.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
1.99k
    {
991
1.99k
    }
Unexecuted instantiation: shape2ogr.cpp:void CPL_IGNORE_RET_VAL<DBFFieldType>(DBFFieldType const&)
Unexecuted instantiation: filegdbindex.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
ogrjsonfgmemlayer.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
6
    {
991
6
    }
ods_formula_node.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
159k
    {
991
159k
    }
ods_formula_node.cpp:void CPL_IGNORE_RET_VAL<double>(double const&)
Line
Count
Source
990
96.8k
    {
991
96.8k
    }
gdalexif.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
312
    {
991
312
    }
gdalexif.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
Line
Count
Source
990
312
    {
991
312
    }
Unexecuted instantiation: gdalalg_raster_index.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
ogr_srs_pci.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
162
    {
991
162
    }
Unexecuted instantiation: btdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
doq2dataset.cpp:void CPL_IGNORE_RET_VAL<char const*>(char const* const&)
Line
Count
Source
990
752
    {
991
752
    }
Unexecuted instantiation: ehdrdataset.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
ehdrdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
108k
    {
991
108k
    }
eirdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
66
    {
991
66
    }
Unexecuted instantiation: envidataset.cpp:void CPL_IGNORE_RET_VAL<double>(double const&)
envidataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
13.1k
    {
991
13.1k
    }
fastdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
22.5k
    {
991
22.5k
    }
genbindataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
148k
    {
991
148k
    }
gtxdataset.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
Line
Count
Source
990
372
    {
991
372
    }
gtxdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
51
    {
991
51
    }
krodataset.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
Line
Count
Source
990
7
    {
991
7
    }
Unexecuted instantiation: krodataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: iscedataset.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
Unexecuted instantiation: iscedataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: landataset.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
Unexecuted instantiation: landataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: lcpdataset.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
Unexecuted instantiation: lcpdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
loslasdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
11
    {
991
11
    }
loslasdataset.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
Line
Count
Source
990
24
    {
991
24
    }
Unexecuted instantiation: mffdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
ndfdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
15
    {
991
15
    }
pauxdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
12.0k
    {
991
12.0k
    }
roipacdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
210
    {
991
210
    }
Unexecuted instantiation: roipacdataset.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
snodasdataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
141
    {
991
141
    }
nsidcbindataset.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
3
    {
991
3
    }
nsidcbindataset.cpp:void CPL_IGNORE_RET_VAL<char [6]>(char const (&) [6])
Line
Count
Source
990
45
    {
991
45
    }
hfaband.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
20
    {
991
20
    }
Unexecuted instantiation: hfadictionary.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: hfafield.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
msg_reader_core.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
Line
Count
Source
990
12
    {
991
12
    }
msg_reader_core.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
12
    {
991
12
    }
zarr_group.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Line
Count
Source
990
505
    {
991
505
    }
gdalhttp.cpp:void CPL_IGNORE_RET_VAL<CURLcode>(CURLcode const&)
Line
Count
Source
990
8.27k
    {
991
8.27k
    }
miramon_band.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
4.21k
    {
991
4.21k
    }
Unexecuted instantiation: gdaltindex_lib.cpp:void CPL_IGNORE_RET_VAL<std::__1::unique_ptr<CPLTurnFailureIntoWarningBackuper, std::__1::default_delete<CPLTurnFailureIntoWarningBackuper> > >(std::__1::unique_ptr<CPLTurnFailureIntoWarningBackuper, std::__1::default_delete<CPLTurnFailureIntoWarningBackuper> > const&)
Unexecuted instantiation: gdaltindex_lib.cpp:void CPL_IGNORE_RET_VAL<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: ogr_srs_usgs.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
zarr_array.cpp:void CPL_IGNORE_RET_VAL<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Line
Count
Source
990
461k
    {
991
461k
    }
Unexecuted instantiation: zarr_array.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: zarr_v2_array.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Unexecuted instantiation: zarr_v3_codec.cpp:void CPL_IGNORE_RET_VAL<ZarrV3CodecSequence*>(ZarrV3CodecSequence* const&)
gdaljp2structure.cpp:void CPL_IGNORE_RET_VAL<bool>(bool const&)
Line
Count
Source
990
884k
    {
991
884k
    }
gdaljp2structure.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Line
Count
Source
990
90.6k
    {
991
90.6k
    }
Unexecuted instantiation: gdaljp2metadata.cpp:void CPL_IGNORE_RET_VAL<int>(int const&)
Unexecuted instantiation: gdaljp2metadata.cpp:void CPL_IGNORE_RET_VAL<unsigned long>(unsigned long const&)
992
993
    inline static bool CPL_TO_BOOL(int x)
994
868M
    {
995
868M
        return x != 0;
996
868M
    }
Unexecuted instantiation: ogr_fuzzer.cpp:CPL_TO_BOOL(int)
cpl_conv.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
312
    {
995
312
        return x != 0;
996
312
    }
cpl_error.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
148k
    {
995
148k
        return x != 0;
996
148k
    }
cpl_string.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
65
    {
995
65
        return x != 0;
996
65
    }
cplstringlist.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
50.1M
    {
995
50.1M
        return x != 0;
996
50.1M
    }
Unexecuted instantiation: cpl_strtod.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_path.cpp:CPL_TO_BOOL(int)
cpl_multiproc.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
737M
    {
995
737M
        return x != 0;
996
737M
    }
Unexecuted instantiation: cplstring.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsisimple.cpp:CPL_TO_BOOL(int)
cpl_vsil.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
13.5M
    {
995
13.5M
        return x != 0;
996
13.5M
    }
cpl_vsi_mem.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
749k
    {
995
749k
        return x != 0;
996
749k
    }
Unexecuted instantiation: cpl_recode.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_recode_stub.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_atomic_ops.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsil_subfile.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsil_stdout.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsil_sparsefile.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsil_tar.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsil_stdin.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsil_curl.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsil_curl_streaming.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsil_cache.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_progress.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsil_crypt.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_aws.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsi_error.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_google_cloud.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_json.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsil_hdfs.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_swift.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsil_adls.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsil_az.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsil_gs.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsil_webhdfs.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsil_s3.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsil_oss.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsil_swift.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsil_unix_stdio_64.cpp:CPL_TO_BOOL(int)
cpl_vsil_gzip.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
24.0k
    {
995
24.0k
        return x != 0;
996
24.0k
    }
Unexecuted instantiation: cpl_minizip_unzip.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_minizip_zip.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_recode_iconv.cpp:CPL_TO_BOOL(int)
ogrfeature.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
3.32M
    {
995
3.32M
        return x != 0;
996
3.32M
    }
Unexecuted instantiation: ogrfeaturedefn.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrfeaturestyle.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrfielddefn.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgeomfielddefn.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrlibjsonutils.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrregisterall.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgeojsondriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgeojsonseqdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogresrijsondriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrtopojsondriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_ogr_driver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_ogr_datasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrshapedriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrkmldriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrkmldatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrkmllayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: kml.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: kmlnode.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: kmlvector.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrvrtdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogravcbindriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogravce00driver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgmldriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgmldatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrcsvdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrdgndriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrdgndatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgmtdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrs57driver.cpp:CPL_TO_BOOL(int)
ogrs57datasource.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
215
    {
995
215
        return x != 0;
996
215
    }
Unexecuted instantiation: ogrs57layer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: s57classregistrar.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: s57reader.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ddfrecordindex.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: s57featuredefns.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: s57writer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgeorssdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrdxfdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrpgdumpdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrpgdumpdatasource.cpp:CPL_TO_BOOL(int)
ogrpgdumplayer.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
5.08k
    {
995
5.08k
        return x != 0;
996
5.08k
    }
Unexecuted instantiation: ogrgpsbabeldriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgpsbabelwritedatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogredigeodriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrsxfdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogropenfilegdbdriver.cpp:CPL_TO_BOOL(int)
ogropenfilegdblayer_write.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
38.6k
    {
995
38.6k
        return x != 0;
996
38.6k
    }
Unexecuted instantiation: ogropenfilegdbdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: filegdbtable_write.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrwaspdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrselafindriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrjmldataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrjmllayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrjmlwriterlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrvdvdatasource.cpp:CPL_TO_BOOL(int)
ogrflatgeobufdataset.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
15.9k
    {
995
15.9k
        return x != 0;
996
15.9k
    }
ogrflatgeobuflayer.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
14.3k
    {
995
14.3k
        return x != 0;
996
14.3k
    }
Unexecuted instantiation: packedrtree.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: geometryreader.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: geometrywriter.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrflatgeobufeditablelayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrmapmldataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogradbcdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogradbcdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogradbclayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogradbcbigquerylayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogradbcdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrmiramondriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ograivectordriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrjsonfgdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgpxdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgmlasdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgmlaswriter.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgmlasconf.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgmlasfeatureclass.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgmlasdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrcswdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrnasdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrplscenesdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrplscenesdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrwfsdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogroapifdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrngwdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ngw_api.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalngwdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrngwfielddomain.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrelasticdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrelasticdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogridrisidriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrpdsdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrsqlitedriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgeopackagedriver.cpp:CPL_TO_BOOL(int)
ogrgeopackagetablelayer.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
4.96k
    {
995
4.96k
        return x != 0;
996
4.96k
    }
Unexecuted instantiation: ogrgeopackageutility.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalgeopackagerasterband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrosmdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrvfkdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrvfkdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrmvtdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrpmtilesdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrpmtilesdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrpmtilesvectorlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrpmtilestileiterator.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrpmtilesfrommbtiles.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vsipmtiles.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogramigoclouddriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrcartodriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrcartodrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrili1driver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrili1datasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrili2driver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrili2datasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: imdreader.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrxlsxdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrcaddriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vsilfileio.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrcaddrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgtfsdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrodsdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrlvbagdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrsfdriverregistrar.cpp:CPL_TO_BOOL(int)
ogrlayer.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
362k
    {
995
362k
        return x != 0;
996
362k
    }
Unexecuted instantiation: ogrlayerarrow.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrdatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogr_miattrind.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrlayerpool.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrlayerdecorator.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogreditablelayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ograrrowarrayhelper.cpp:CPL_TO_BOOL(int)
gdal_misc.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
181k
    {
995
181k
        return x != 0;
996
181k
    }
Unexecuted instantiation: gdal_adbc.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalalgorithm.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalalgorithmregistry.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalopeninfo.cpp:CPL_TO_BOOL(int)
gdaldriver.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
59.1k
    {
995
59.1k
        return x != 0;
996
59.1k
    }
Unexecuted instantiation: gdaldrivermanager.cpp:CPL_TO_BOOL(int)
gdaldataset.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
1.35M
    {
995
1.35M
        return x != 0;
996
1.35M
    }
gdalrasterband.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
30.7M
    {
995
30.7M
        return x != 0;
996
30.7M
    }
Unexecuted instantiation: gdalrasterblock.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalcolortable.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalmajorobject.cpp:CPL_TO_BOOL(int)
gdaldefaultoverviews.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
738k
    {
995
738k
        return x != 0;
996
738k
    }
Unexecuted instantiation: gdalpamdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalpamrasterband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalmultidomainmetadata.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdal_rat.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalpamproxydb.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalallvalidmaskband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalnodatamaskband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalnodatavaluesmaskband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalproxydataset.cpp:CPL_TO_BOOL(int)
gdalproxypool.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
25.2k
    {
995
25.2k
        return x != 0;
996
25.2k
    }
Unexecuted instantiation: gdaldefaultasync.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalvirtualmem.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdaloverviewdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalrescaledalphaband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalabstractbandblockcache.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalarraybandblockcache.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalhashsetbandblockcache.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalsubdatasetinfo.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalthreadsafedataset.cpp:CPL_TO_BOOL(int)
overview.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
12.9k
    {
995
12.9k
        return x != 0;
996
12.9k
    }
rasterio.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
30.5k
    {
995
30.5k
        return x != 0;
996
30.5k
    }
Unexecuted instantiation: gdalmultidim.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalmultidim_gridded.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalmultidim_gltorthorectification.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalmultidim_meshgrid.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalmultidim_subsetdimension.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalpythondriverloader.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: tilematrixset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdal_thread_pool.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdal_matrix_avx2_fma.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalalg_main.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdal_translate_lib.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalwarp_lib.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: commonutils.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_alibaba_oss.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_azure.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cplgetsymbol.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_findfile.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_minixml.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_levenshtein.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_getexecpath.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_http.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_hash_set.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_quad_tree.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_time.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsil_abstract_archive.cpp:CPL_TO_BOOL(int)
cpl_vsil_buffered_reader.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
409k
    {
995
409k
        return x != 0;
996
409k
    }
Unexecuted instantiation: cpl_base64.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_xml_validate.cpp:CPL_TO_BOOL(int)
cpl_spawn.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
21
    {
995
21
        return x != 0;
996
21
    }
Unexecuted instantiation: cpl_google_oauth2.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_virtualmem.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_worker_thread_pool.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_sha1.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_sha256.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_cpu_features.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_md5.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsil_chunked_write_handle.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vsil_uploadonclose.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_compressor.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_float.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_minizip_ioapi.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdaldither.cpp:CPL_TO_BOOL(int)
gdalgeoloc.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
22
    {
995
22
        return x != 0;
996
22
    }
Unexecuted instantiation: gdalgeolocquadtree.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalgrid.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalmediancut.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdaltransformer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalwarper.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalwarpkernel.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalwarpoperation.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: rasterfill.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdal_interpolateatpoint.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalgridsse.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalgridavx.cpp:CPL_TO_BOOL(int)
ogrgeometryfactory.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
3.80M
    {
995
3.80M
        return x != 0;
996
3.80M
    }
Unexecuted instantiation: ogrpoint.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrcurve.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrlinestring.cpp:CPL_TO_BOOL(int)
ogrlinearring.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
19.9M
    {
995
19.9M
        return x != 0;
996
19.9M
    }
Unexecuted instantiation: ogrpolygon.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrtriangle.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrutils.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgeomcoordinateprecision.cpp:CPL_TO_BOOL(int)
ogrgeometry.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
6
    {
995
6
        return x != 0;
996
6
    }
Unexecuted instantiation: ogrgeometrycollection.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrmultipolygon.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrsurface.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrpolyhedralsurface.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrtriangulatedsurface.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrmultipoint.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrmultilinestring.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrcircularstring.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrcompoundcurve.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrcurvepolygon.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrcurvecollection.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrmulticurve.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrmultisurface.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogr_api.cpp:CPL_TO_BOOL(int)
ogrfeaturequery.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
37.5k
    {
995
37.5k
        return x != 0;
996
37.5k
    }
ogrspatialreference.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
3
    {
995
3
        return x != 0;
996
3
    }
Unexecuted instantiation: ogr_srsnode.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogr_fromepsg.cpp:CPL_TO_BOOL(int)
ogrct.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
125k
    {
995
125k
        return x != 0;
996
125k
    }
Unexecuted instantiation: ogr_srs_dict.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogr_srs_ozi.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: swq.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: swq_expr_node.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: swq_parser.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: swq_select.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: swq_op_registrar.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: swq_op_general.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogr_srs_xml.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ograssemblepolygon.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogr2gmlgeometry.cpp:CPL_TO_BOOL(int)
gml2ogrgeometry.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
118k
    {
995
118k
        return x != 0;
996
118k
    }
Unexecuted instantiation: ogr_expat.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrpgeogeometry.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogr_schema_override.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogr_xerces.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogr_geo_utils.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogr_proj_p.cpp:CPL_TO_BOOL(int)
ogr_wkb.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
17.8k
    {
995
17.8k
        return x != 0;
996
17.8k
    }
ogr2kmlgeometry.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
1.17M
    {
995
1.17M
        return x != 0;
996
1.17M
    }
Unexecuted instantiation: ogrgeojsongeometry.cpp:CPL_TO_BOOL(int)
ogrgeojsonwriter.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
65
    {
995
65
        return x != 0;
996
65
    }
Unexecuted instantiation: ogrmitabspatialref.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_bounds.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ddfmodule.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ddfutils.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ddffielddefn.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ddfrecord.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ddffield.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ddfsubfielddefn.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cogdriver.cpp:CPL_TO_BOOL(int)
gtiffdataset_write.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
2.83k
    {
995
2.83k
        return x != 0;
996
2.83k
    }
Unexecuted instantiation: gtiffjpegoverviewds.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gtiffoddbitsband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gtiffrasterband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gtiffrasterband_read.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gtiffrasterband_write.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: geotiff.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gt_jpeg_copy.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gt_overview.cpp:CPL_TO_BOOL(int)
gt_wkt_srs.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
8
    {
995
8
        return x != 0;
996
8
    }
Unexecuted instantiation: tifvsi.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: memdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrmemlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vrtderivedrasterband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vrtrasterband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vrtsourcedrasterband.cpp:CPL_TO_BOOL(int)
vrtsources.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
777k
    {
995
777k
        return x != 0;
996
777k
    }
vrtwarped.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
536
    {
995
536
        return x != 0;
996
536
    }
vrtdataset.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
40.4k
    {
995
40.4k
        return x != 0;
996
40.4k
    }
Unexecuted instantiation: vrtpansharpened.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vrtprocesseddataset.cpp:CPL_TO_BOOL(int)
vrtmultidim.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
4
    {
995
4
        return x != 0;
996
4
    }
Unexecuted instantiation: vrtrawrasterband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: hfa_overviews.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalallregister.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgeojsondatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgeojsonlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgeojsonreader.cpp:CPL_TO_BOOL(int)
ogrgeojsonutils.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
35.6k
    {
995
35.6k
        return x != 0;
996
35.6k
    }
Unexecuted instantiation: ogrgeojsonwritelayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogresrijsonreader.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrtopojsonreader.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrjsoncollectionstreamingparser.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_tabfile.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_miffile.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_utils.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_imapinfofile.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_middatafile.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_indfile.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_tabview.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_tabseamless.cpp:CPL_TO_BOOL(int)
ogrshapedatasource.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
11.8k
    {
995
11.8k
        return x != 0;
996
11.8k
    }
ogrshapelayer.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
2.06k
    {
995
2.06k
        return x != 0;
996
2.06k
    }
Unexecuted instantiation: sbnsearch_wrapper.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: shpopen_wrapper.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: shptree_wrapper.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: dbfopen_wrapper.cpp:CPL_TO_BOOL(int)
ogrvrtdatasource.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
8.02k
    {
995
8.02k
        return x != 0;
996
8.02k
    }
ogrvrtlayer.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
103k
    {
995
103k
        return x != 0;
996
103k
    }
Unexecuted instantiation: ogravcbindatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogravcbinlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogravce00datasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogravcdatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogravce00layer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogravclayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gmlfeature.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gmlfeatureclass.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gmlpropertydefn.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gmlutils.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: parsexsd.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrwfsfilter.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gmlreader.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gmlregistry.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: hugefileresolver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgmllayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gmlhandler.cpp:CPL_TO_BOOL(int)
ogrcsvdatasource.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
34.0k
    {
995
34.0k
        return x != 0;
996
34.0k
    }
ogrcsvlayer.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
124k
    {
995
124k
        return x != 0;
996
124k
    }
Unexecuted instantiation: dgnopen.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: dgnread.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: dgnwrite.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrdgnlayer.cpp:CPL_TO_BOOL(int)
ogrgmtdatasource.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
9.35k
    {
995
9.35k
        return x != 0;
996
9.35k
    }
ogrgmtlayer.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
18.7k
    {
995
18.7k
        return x != 0;
996
18.7k
    }
Unexecuted instantiation: ogrgeorssdatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgeorsslayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrdxfdatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrdxfreader.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrdxf_blockmap.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrdxflayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrdxfwriterds.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrdxfblockslayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrdxf_leader.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrdxfwriterlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrdxf_ocstransformer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgpsbabeldatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogredigeodatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogredigeolayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrsxfdatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrsxflayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: filegdbindex_write.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: filegdbtable.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: filegdbtable_write_fields.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: filegdbtable_freelist.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogropenfilegdbdatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogropenfilegdbdatasource_write.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogropenfilegdb_generate_uuid.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogropenfilegdblayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalopenfilegdbrasterband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrwaspdatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrwasplayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: io_selafin.cpp:CPL_TO_BOOL(int)
ogrselafindatasource.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
23.2k
    {
995
23.2k
        return x != 0;
996
23.2k
    }
ogrselafinlayer.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
242k
    {
995
242k
        return x != 0;
996
242k
    }
Unexecuted instantiation: ogrmiramondatasource.cpp:CPL_TO_BOOL(int)
ogrmiramonlayer.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
4.28k
    {
995
4.28k
        return x != 0;
996
4.28k
    }
Unexecuted instantiation: ogrjsonfgdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrjsonfgreader.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrjsonfgstreamedlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrjsonfgstreamingparser.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrjsonfgwritelayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgpxdatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgpxlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgmlasdatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgmlaslayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgmlasutils.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgmlasxpatchmatcher.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgmlasreader.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgmlasxsdcache.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgmlasschemaanalyzer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgmlasxlinkresolver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrnasdatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrnaslayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrplscenesdatav1dataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrplscenesdatav1layer.cpp:CPL_TO_BOOL(int)
ogrwfsdatasource.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
1.99k
    {
995
1.99k
        return x != 0;
996
1.99k
    }
Unexecuted instantiation: ogrwfsjoinlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrwfslayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrngwlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrelasticdatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrelasticlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrelasticaggregationlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogridrisidatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogridrisilayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrpdsdatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrpdslayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrsqlitedatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrsqlitelayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrsqliteselectlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrsqlitesinglefeaturelayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrsqlitetablelayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrsqlitevfs.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrsqliteviewlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrsqliteexecutesql.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrsqlitevirtualogr.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrsqliteutility.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: rasterlite2.cpp:CPL_TO_BOOL(int)
ogrgeopackagedatasource.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
266k
    {
995
266k
        return x != 0;
996
266k
    }
Unexecuted instantiation: ogrgeopackagelayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrgeopackageselectlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrosmdatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrosmlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: osm_parser.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrvfkdatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrvfklayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vfkdatablock.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vfkproperty.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vfkpropertydefn.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vfkreader.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vfkreadersqlite.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vfkfeature.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vfkfeaturesqlite.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mvtutils.cpp:CPL_TO_BOOL(int)
ogramigoclouddatasource.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
322
    {
995
322
        return x != 0;
996
322
    }
Unexecuted instantiation: ogramigocloudresultlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogramigocloudtablelayer.cpp:CPL_TO_BOOL(int)
ogrcartodatasource.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
326
    {
995
326
        return x != 0;
996
326
    }
Unexecuted instantiation: ogrcartolayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrcartoresultlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrcartotablelayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ili1reader.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrili1layer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ili2reader.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrili2layer.cpp:CPL_TO_BOOL(int)
ogrxlsxdatasource.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
26.5k
    {
995
26.5k
        return x != 0;
996
26.5k
    }
Unexecuted instantiation: gdalcaddataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrcadlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cadheader.cpp:CPL_TO_BOOL(int)
ogrodsdatasource.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
31.4k
    {
995
31.4k
        return x != 0;
996
31.4k
    }
Unexecuted instantiation: ogrlvbagdatasource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrlvbaglayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogr_gensql.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogr_attrind.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrwarpedlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrunionlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrlayerwithtranslatefeature.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: rasterio_ssse3.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalcomputedrasterband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdal_rat_vat_dbf.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdal_mdreader.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: rawdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalpython.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: nasakeywordhandler.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: tiff_common.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: reader_alos.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: reader_digital_globe.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: reader_eros.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: reader_geo_eye.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: reader_kompsat.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: reader_landsat.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: reader_orb_view.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: reader_pleiades.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: reader_rapid_eye.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: reader_rdk1.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: reader_spot.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalargumentparser.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalbuildvrt_lib.cpp:CPL_TO_BOOL(int)
ogr2ogr_lib.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
46.1k
    {
995
46.1k
        return x != 0;
996
46.1k
    }
Unexecuted instantiation: cpl_csv.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_list.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cplkeywordparser.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_json_streaming_parser.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_vax.cpp:CPL_TO_BOOL(int)
gdal_crs.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
31
    {
995
31
        return x != 0;
996
31
    }
Unexecuted instantiation: gdal_homography.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdal_rpc.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdal_tps.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalapplyverticalshiftgrid.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalcutline.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdallinearsystem.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalpansharpen.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalrasterize.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: hilbert.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: llrasterize.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: thinplatespline.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogr_srs_esri.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogr_srs_panorama.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogr_geocoding.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrvrtgeometrytypes.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogresrijsongeometry.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gnmregisterall.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gnmdbdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gnmdbnetwork.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gnmfiledriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gnmfilenetwork.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gnmlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gnmgenericnetwork.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gnmgraph.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gnmnetwork.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gnmresultlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gnmrule.cpp:CPL_TO_BOOL(int)
jpgdataset.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
83
    {
995
83
        return x != 0;
996
83
    }
Unexecuted instantiation: jpegdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: jpgdataset_12.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vsidataio_12.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: rawdrivers.cpp:CPL_TO_BOOL(int)
gtiffdataset.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
3.72k
    {
995
3.72k
        return x != 0;
996
3.72k
    }
gtiffdataset_read.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
301k
    {
995
301k
        return x != 0;
996
301k
    }
Unexecuted instantiation: gtiffrgbaband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gtiffsplitband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gtiffsplitbitmapband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gt_citation.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vrtdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vrtfilters.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pixelfunctions.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vrtprocesseddatasetfunctions.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vrtreclassifier.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vrtexpression_muparser.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: deriveddataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdaltileindexdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: libertiffdataset.cpp:CPL_TO_BOOL(int)
hfadataset.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
33
    {
995
33
        return x != 0;
996
33
    }
Unexecuted instantiation: hfaentry.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: hfaopen.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: hfatype.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: nitfdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: rpftocdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: nitfrasterband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ecrgtocdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: nitffile.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: nitfaridpcm.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: rpftocfile.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: nitfwritejpeg.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: nitfwritejpeg_12.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: nitfdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: nitfbilevel.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gxfdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: aaigriddataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ceosdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: sar_ceosdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: dteddataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: jdemdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: envisatdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: l1bdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: rs2dataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ilwisdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ilwiscoordinatesystem.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: rmfdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: rmfdem.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: rmflzw.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: rmfjpeg.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: levellerdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: srtmhgtdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: IdrisiDataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gs7bgdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gsagdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gsbgdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ersdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ershdrnode.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: jaxapalsardataset.cpp:CPL_TO_BOOL(int)
dimapdataset.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
65
    {
995
65
        return x != 0;
996
65
    }
Unexecuted instantiation: gff_dataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cosar_dataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: isis2dataset.cpp:CPL_TO_BOOL(int)
isis3dataset.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
18
    {
995
18
        return x != 0;
996
18
    }
Unexecuted instantiation: pdsdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pds4dataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pds4vector.cpp:CPL_TO_BOOL(int)
vicardataset.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
14
    {
995
14
        return x != 0;
996
14
    }
Unexecuted instantiation: vicarkeywordhandler.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pdsdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: adrgdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: srpdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: coasp_dataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: tsxdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: terragendataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: msgndataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: tildataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: grddataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: grcdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: northwood.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: sagadataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: xyzdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: esric_dataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: hf2dataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: kmlsuperoverlaydataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ctgdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: zmapdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ngsgeoiddataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: irisdataset.cpp:CPL_TO_BOOL(int)
mapdataset.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
287
    {
995
287
        return x != 0;
996
287
    }
Unexecuted instantiation: calsdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: safedataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: sentinel2dataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: phprfdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mrf_util.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: Tif_band.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mrfdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: JPEG_band.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: PNG_band.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: JPNG_band.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: JPEG12_band.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: LERC_band.cpp:CPL_TO_BOOL(int)
wmtsdataset.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
116
    {
995
116
        return x != 0;
996
116
    }
Unexecuted instantiation: wmtsdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gribdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gribcreatecopy.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: degrib2.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: inventory.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: metaname.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: metaparse.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: tendian.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gribdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: bmpdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: tgadataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: stactadataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: snaptiffdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: bsbdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: aigdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: usgsdemdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: airsardataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pcidskdataset2.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vsi_pcidsk_io.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrpcidsklayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pcidskdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpcidskchannel.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ctiledchannel.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpcidskblockfile.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpcidskfile.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: metadataset_p.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pcidsk_pubutils.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pcidsk_utils.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pcidskbuffer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pcidskcreate.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pcidskexception.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pcidskinterfaces.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pcidskopen.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pcidsk_mutex.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpcidsk_array.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpcidsk_tex.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpcidskbinarysegment.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpcidskbitmap.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpcidskblut.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpcidskpct.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpcidskephemerissegment.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpcidskgcp2segment.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpcidskgeoref.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpcidsklut.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpcidskbpct.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpcidskrpcmodel.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpcidsksegment.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpcidsktoutinmodel.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpcidskvectorsegment.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpcidskvectorsegment_consistencycheck.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: metadatasegment_p.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: systiledir.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vecsegdataindex.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vecsegheader.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: sigdemdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: rikdataset.cpp:CPL_TO_BOOL(int)
stacitdataset.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
33
    {
995
33
        return x != 0;
996
33
    }
Unexecuted instantiation: pdfdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pdfio.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pdfobject.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pdfreadvectors.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pdfwritabledataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pdfcreatefromcomposition.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pdfdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: rcmdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: rcmdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalgdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pngdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pngdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: biggifdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gifdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gifdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: wcsdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: wcsdataset100.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: wcsdataset110.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: wcsdataset201.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: wcsrasterband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: wcsutils.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: wcsdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: httpdriver.cpp:CPL_TO_BOOL(int)
netcdfdataset.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
835k
    {
995
835k
        return x != 0;
996
835k
    }
Unexecuted instantiation: netcdflayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: netcdfwriterconfig.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: netcdfsg.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: netcdflayersg.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: netcdfsgwriterutil.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: netcdfmultidim.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: netcdfvirtual.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: netcdf_sentinel3_sral_mwr.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: netcdfdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: zarrdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vsikerchunk.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vsikerchunk_json_ref.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vsikerchunk_parquet_ref.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: zarrdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: daasdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: eedaidataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: eedadataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: eedacommon.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: plmosaicdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: wmsdriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: wmsutils.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: minidriver.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: minidriver_arcgis_server.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: minidriver_mrf.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: minidriver_ogcapicoverage.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: minidriver_ogcapimaps.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: minidriver_tileservice.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: minidriver_virtualearth.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: minidriver_worldwind.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: wmsmetadataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalwmsdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: wmsdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalogcapidataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: webpdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: webpdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mbtilesdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pcrastermisc.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pcrasterdrivercore.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: miramon_dataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_rawbinblock.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_mapheaderblock.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_mapindexblock.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_mapobjectblock.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_mapcoordblock.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_feature.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_feature_mif.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_mapfile.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_idfile.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_datfile.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_maptoolblock.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_tooldef.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mitab_geometry.cpp:CPL_TO_BOOL(int)
shape2ogr.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
1.12k
    {
995
1.12k
        return x != 0;
996
1.12k
    }
Unexecuted instantiation: shp_vsi.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: avc_bin.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: avc_rawbin.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: avc_e00read.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: avc_mbyte.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: avc_misc.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gfstemplate.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gmlreadstate.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: resolvexlinks.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: dgnhelp.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: dgnstroke.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: intronurbs.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrdxfblockswriterlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrdxf_feature.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrdxf_polyline_smooth.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogr_autocad_services.cpp:CPL_TO_BOOL(int)
ogrdxf_hatch.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
44.2k
    {
995
44.2k
        return x != 0;
996
44.2k
    }
Unexecuted instantiation: ogrdxf_dimension.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: filegdbindex.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrjsonfgmemlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: nasreader.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vfkdatablocksqlite.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogramigocloudlayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ili2handler.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ods_formula_node.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ods_formula.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdaljp2box.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdaldllmain.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalexif.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalorienteddataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: enviutils.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalalg_raster_index.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalalg_vector_output_abstract.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_json_streaming_writer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpl_userfaultfd.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogr_srs_cf1.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogr_srs_pci.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogr_srs_erm.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: vsidataio.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ace2dataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: btdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpgdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: doq1dataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: doq2dataset.cpp:CPL_TO_BOOL(int)
ehdrdataset.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
106k
    {
995
106k
        return x != 0;
996
106k
    }
Unexecuted instantiation: eirdataset.cpp:CPL_TO_BOOL(int)
envidataset.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
25.7k
    {
995
25.7k
        return x != 0;
996
25.7k
    }
Unexecuted instantiation: fastdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: genbindataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gscdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gtxdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: hkvdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: krodataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: iscedataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: landataset.cpp:CPL_TO_BOOL(int)
lcpdataset.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
340
    {
995
340
        return x != 0;
996
340
    }
Unexecuted instantiation: loslasdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mffdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ndfdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: noaabdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ntv2dataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pauxdataset.cpp:CPL_TO_BOOL(int)
pnmdataset.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
94
    {
995
94
        return x != 0;
996
94
    }
Unexecuted instantiation: roipacdataset.cpp:CPL_TO_BOOL(int)
rrasterdataset.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
247
    {
995
247
        return x != 0;
996
247
    }
Unexecuted instantiation: snodasdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: byndataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: nsidcbindataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gtiffbitmapband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: hfaband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: hfacompress.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: hfadictionary.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: hfafield.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: adsrange.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: unwrapgcps.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: msg_basic_types.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: msg_reader_core.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: marfa_dataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mrf_band.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: mrf_overview.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: Packer_RLE.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: degrib1.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: grib1tab.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdal_edb.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: asciitiledir.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: asciitilelayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: binarytiledir.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: binarytilelayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: blockdir.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: blockfile.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: blocklayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: blocktiledir.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: blocktilelayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cbandinterleavedchannel.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cexternalchannel.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: cpixelinterleavedchannel.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: clinksegment.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: edb_pcidsk.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: libjpeg_io.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pcidsk_scanint.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogrpdflayer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pdfcreatecopy.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gifabstractdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gmlcoverage.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: zarr_group.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: zarr_v2_group.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: zarr_v3_group.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: zarr_sharedresource.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalhttp.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalwmsrasterband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: minidriver_iiifimage.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: minidriver_iip.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: minidriver_tiled_wms.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: minidriver_tms.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: minidriver_wms.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdalwmscache.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pcrasterdataset.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pcrasterrasterband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: pcrasterutil.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: miramon_band.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: miramon_rasterband.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: miramon_rel.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: miramon_palettes.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: avc_e00gen.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: avc_e00parse.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: nashandler.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdaltindex_lib.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: ogr_srs_usgs.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: atlsci_spheroid.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: dec_jpeg2000.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: zarr_array.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: zarr_v2_array.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: zarr_v3_array.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: zarr_compressors.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: zarr_filters.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: zarr_attribute.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: zarr_v3_codec.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: zarr_dimension.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdal_fuzzer.cpp:CPL_TO_BOOL(int)
gdalchecksum.cpp:CPL_TO_BOOL(int)
Line
Count
Source
994
446k
    {
995
446k
        return x != 0;
996
446k
    }
Unexecuted instantiation: gdal_translate_fuzzer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: osr_set_from_user_input_fuzzer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdal_vector_translate_fuzzer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: filename_fuzzer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: wkt_import_fuzzer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: spatialite_geom_import_fuzzer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: get_jpeg2000_structure_fuzzer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdaljp2structure.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdaljp2metadata.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdaljp2metadatagenerator.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gml_geom_import_fuzzer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: wkb_import_fuzzer.cpp:CPL_TO_BOOL(int)
Unexecuted instantiation: gdal_algorithm_fuzzer.cpp:CPL_TO_BOOL(int)
997
} /* extern "C++" */
998
999
#endif /* __cplusplus */
1000
1001
#if (((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) ||              \
1002
      (defined(__clang__) && __clang_major__ >= 3)) &&                         \
1003
     !defined(_MSC_VER))
1004
#define HAVE_GCC_DIAGNOSTIC_PUSH
1005
#endif
1006
1007
#if ((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) &&               \
1008
     !defined(_MSC_VER))
1009
#define HAVE_GCC_SYSTEM_HEADER
1010
#endif
1011
1012
/*! @cond Doxygen_Suppress */
1013
1014
#ifndef FALSE
1015
5.11G
#define FALSE 0
1016
#endif
1017
1018
#ifndef TRUE
1019
6.03G
#define TRUE 1
1020
#endif
1021
1022
#if __clang_major__ >= 4 || (__clang_major__ == 3 && __clang_minor__ >= 8)
1023
#define CPL_NOSANITIZE_UNSIGNED_INT_OVERFLOW                                   \
1024
    __attribute__((no_sanitize("unsigned-integer-overflow")))
1025
#else
1026
#define CPL_NOSANITIZE_UNSIGNED_INT_OVERFLOW
1027
#endif
1028
1029
#if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS) &&                 \
1030
    defined(GDAL_COMPILATION)
1031
extern "C++"
1032
{
1033
    template <class C, class A, class B>
1034
    CPL_NOSANITIZE_UNSIGNED_INT_OVERFLOW inline C CPLUnsanitizedAdd(A a, B b)
1035
15.8M
    {
1036
15.8M
        return a + b;
1037
15.8M
    }
long long CPLUnsanitizedAdd<long long, long long, unsigned long>(long long, unsigned long)
Line
Count
Source
1035
1.84M
    {
1036
1.84M
        return a + b;
1037
1.84M
    }
unsigned long long CPLUnsanitizedAdd<unsigned long long, unsigned long long, int>(unsigned long long, int)
Line
Count
Source
1035
21.1k
    {
1036
21.1k
        return a + b;
1037
21.1k
    }
unsigned long long CPLUnsanitizedAdd<unsigned long long, unsigned long long, unsigned long long>(unsigned long long, unsigned long long)
Line
Count
Source
1035
199k
    {
1036
199k
        return a + b;
1037
199k
    }
unsigned int CPLUnsanitizedAdd<unsigned int, unsigned int, int>(unsigned int, int)
Line
Count
Source
1035
1.85M
    {
1036
1.85M
        return a + b;
1037
1.85M
    }
Unexecuted instantiation: unsigned long CPLUnsanitizedAdd<unsigned long, unsigned long, long long>(unsigned long, long long)
int CPLUnsanitizedAdd<int, int, unsigned int>(int, unsigned int)
Line
Count
Source
1035
11.9M
    {
1036
11.9M
        return a + b;
1037
11.9M
    }
1038
}
1039
#endif
1040
1041
#if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS)
1042
204M
#define CPL_NULLPTR nullptr
1043
#else
1044
#define CPL_NULLPTR NULL
1045
#endif
1046
1047
#if defined(__cplusplus) && defined(GDAL_COMPILATION)
1048
extern "C++"
1049
{
1050
    namespace cpl
1051
    {
1052
    /** Function to indicate that the result of an arithmetic operation
1053
         * does fit on the specified type. Typically used to avoid warnings
1054
         * about potentially overflowing multiplications by static analyzers.
1055
         */
1056
    template <typename T> inline T fits_on(T t)
1057
785k
    {
1058
785k
        return t;
1059
785k
    }
1060
1061
    /** Emulates the C++20 .contains() method */
1062
    template <typename C, typename V>
1063
    inline bool contains(const C &container, const V &value)
1064
4.75M
    {
1065
4.75M
        return container.find(value) != container.end();
1066
4.75M
    }
Unexecuted instantiation: bool cpl::contains<std::__1::set<CPLString, std::__1::less<CPLString>, std::__1::allocator<CPLString> >, CPLString>(std::__1::set<CPLString, std::__1::less<CPLString>, std::__1::allocator<CPLString> > const&, CPLString const&)
bool cpl::contains<std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, char*>(std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, char* const&)
Line
Count
Source
1064
21.7k
    {
1065
21.7k
        return container.find(value) != container.end();
1066
21.7k
    }
bool cpl::contains<std::__1::map<int, std::__1::set<int, std::__1::less<int>, std::__1::allocator<int> >, std::__1::less<int>, std::__1::allocator<std::__1::pair<int const, std::__1::set<int, std::__1::less<int>, std::__1::allocator<int> > > > >, int>(std::__1::map<int, std::__1::set<int, std::__1::less<int>, std::__1::allocator<int> >, std::__1::less<int>, std::__1::allocator<std::__1::pair<int const, std::__1::set<int, std::__1::less<int>, std::__1::allocator<int> > > > > const&, int const&)
Line
Count
Source
1064
107k
    {
1065
107k
        return container.find(value) != container.end();
1066
107k
    }
bool cpl::contains<std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, char const*>(std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, char const* const&)
Line
Count
Source
1064
66.5k
    {
1065
66.5k
        return container.find(value) != container.end();
1066
66.5k
    }
bool cpl::contains<std::__1::map<CPLString, CPLString, std::__1::less<CPLString>, std::__1::allocator<std::__1::pair<CPLString const, CPLString> > >, CPLString>(std::__1::map<CPLString, CPLString, std::__1::less<CPLString>, std::__1::allocator<std::__1::pair<CPLString const, CPLString> > > const&, CPLString const&)
Line
Count
Source
1064
1.14k
    {
1065
1.14k
        return container.find(value) != container.end();
1066
1.14k
    }
bool cpl::contains<std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, CPLString>(std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, CPLString const&)
Line
Count
Source
1064
3.19k
    {
1065
3.19k
        return container.find(value) != container.end();
1066
3.19k
    }
bool cpl::contains<std::__1::set<OGRwkbGeometryType, std::__1::less<OGRwkbGeometryType>, std::__1::allocator<OGRwkbGeometryType> >, OGRwkbGeometryType>(std::__1::set<OGRwkbGeometryType, std::__1::less<OGRwkbGeometryType>, std::__1::allocator<OGRwkbGeometryType> > const&, OGRwkbGeometryType const&)
Line
Count
Source
1064
41
    {
1065
41
        return container.find(value) != container.end();
1066
41
    }
Unexecuted instantiation: bool cpl::contains<std::__1::map<GDALAlgorithmArg*, std::__1::variant<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::vector<int, std::__1::allocator<int> >, std::__1::vector<double, std::__1::allocator<double> >, std::__1::vector<GDALArgDatasetValue, std::__1::allocator<GDALArgDatasetValue> > >, std::__1::less<GDALAlgorithmArg*>, std::__1::allocator<std::__1::pair<GDALAlgorithmArg* const, std::__1::variant<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::vector<int, std::__1::allocator<int> >, std::__1::vector<double, std::__1::allocator<double> >, std::__1::vector<GDALArgDatasetValue, std::__1::allocator<GDALArgDatasetValue> > > > > >, GDALAlgorithmArg*>(std::__1::map<GDALAlgorithmArg*, std::__1::variant<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::vector<int, std::__1::allocator<int> >, std::__1::vector<double, std::__1::allocator<double> >, std::__1::vector<GDALArgDatasetValue, std::__1::allocator<GDALArgDatasetValue> > >, std::__1::less<GDALAlgorithmArg*>, std::__1::allocator<std::__1::pair<GDALAlgorithmArg* const, std::__1::variant<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::vector<int, std::__1::allocator<int> >, std::__1::vector<double, std::__1::allocator<double> >, std::__1::vector<GDALArgDatasetValue, std::__1::allocator<GDALArgDatasetValue> > > > > > const&, GDALAlgorithmArg* const&)
Unexecuted instantiation: bool cpl::contains<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, GDALAlgorithmArg*, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, GDALAlgorithmArg*> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, GDALAlgorithmArg*, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, GDALAlgorithmArg*> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: bool cpl::contains<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, GDALAlgorithmRegistry::AlgInfo, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, GDALAlgorithmRegistry::AlgInfo> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, GDALAlgorithmRegistry::AlgInfo, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, GDALAlgorithmRegistry::AlgInfo> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
bool cpl::contains<std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Line
Count
Source
1064
173k
    {
1065
173k
        return container.find(value) != container.end();
1066
173k
    }
Unexecuted instantiation: bool cpl::contains<std::__1::map<CPLString, GDALDriver*, std::__1::less<CPLString>, std::__1::allocator<std::__1::pair<CPLString const, GDALDriver*> > >, CPLString>(std::__1::map<CPLString, GDALDriver*, std::__1::less<CPLString>, std::__1::allocator<std::__1::pair<CPLString const, GDALDriver*> > > const&, CPLString const&)
Unexecuted instantiation: bool cpl::contains<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<GDALDriver, std::__1::default_delete<GDALDriver> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::unique_ptr<GDALDriver, std::__1::default_delete<GDALDriver> > > > >, char const*>(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::unique_ptr<GDALDriver, std::__1::default_delete<GDALDriver> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::unique_ptr<GDALDriver, std::__1::default_delete<GDALDriver> > > > > const&, char const* const&)
bool cpl::contains<std::__1::set<GDALAntiRecursionStruct::DatasetContext, GDALAntiRecursionStruct::DatasetContextCompare, std::__1::allocator<GDALAntiRecursionStruct::DatasetContext> >, GDALAntiRecursionStruct::DatasetContext>(std::__1::set<GDALAntiRecursionStruct::DatasetContext, GDALAntiRecursionStruct::DatasetContextCompare, std::__1::allocator<GDALAntiRecursionStruct::DatasetContext> > const&, GDALAntiRecursionStruct::DatasetContext const&)
Line
Count
Source
1064
2.22M
    {
1065
2.22M
        return container.find(value) != container.end();
1066
2.22M
    }
Unexecuted instantiation: bool cpl::contains<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<GDALDimension>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<GDALDimension> > > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<GDALDimension>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::shared_ptr<GDALDimension> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: bool cpl::contains<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: bool cpl::contains<std::__1::set<CPLString, swq_summary::Comparator, std::__1::allocator<CPLString> >, char const*>(std::__1::set<CPLString, swq_summary::Comparator, std::__1::allocator<CPLString> > const&, char const* const&)
bool cpl::contains<std::__1::set<long long, std::__1::less<long long>, std::__1::allocator<long long> >, long long>(std::__1::set<long long, std::__1::less<long long>, std::__1::allocator<long long> > const&, long long const&)
Line
Count
Source
1064
14.3k
    {
1065
14.3k
        return container.find(value) != container.end();
1066
14.3k
    }
Unexecuted instantiation: bool cpl::contains<std::__1::map<long long, std::__1::pair<unsigned long long, unsigned long long>, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, std::__1::pair<unsigned long long, unsigned long long> > > >, long long>(std::__1::map<long long, std::__1::pair<unsigned long long, unsigned long long>, std::__1::less<long long>, std::__1::allocator<std::__1::pair<long long const, std::__1::pair<unsigned long long, unsigned long long> > > > const&, long long const&)
bool cpl::contains<std::__1::set<int, std::__1::less<int>, std::__1::allocator<int> >, int>(std::__1::set<int, std::__1::less<int>, std::__1::allocator<int> > const&, int const&)
Line
Count
Source
1064
1.40M
    {
1065
1.40M
        return container.find(value) != container.end();
1066
1.40M
    }
bool cpl::contains<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, int> > >, char*>(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, int> > > const&, char* const&)
Line
Count
Source
1064
736k
    {
1065
736k
        return container.find(value) != container.end();
1066
736k
    }
Unexecuted instantiation: bool cpl::contains<std::__1::set<unsigned int, std::__1::less<unsigned int>, std::__1::allocator<unsigned int> >, unsigned int>(std::__1::set<unsigned int, std::__1::less<unsigned int>, std::__1::allocator<unsigned int> > const&, unsigned int const&)
Unexecuted instantiation: bool cpl::contains<std::__1::set<unsigned long, std::__1::less<unsigned long>, std::__1::allocator<unsigned long> >, unsigned long>(std::__1::set<unsigned long, std::__1::less<unsigned long>, std::__1::allocator<unsigned long> > const&, unsigned long const&)
bool cpl::contains<std::__1::set<CPLString, std::__1::less<CPLString>, std::__1::allocator<CPLString> >, char const*>(std::__1::set<CPLString, std::__1::less<CPLString>, std::__1::allocator<CPLString> > const&, char const* const&)
Line
Count
Source
1064
3.48k
    {
1065
3.48k
        return container.find(value) != container.end();
1066
3.48k
    }
Unexecuted instantiation: bool cpl::contains<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, VSIKerchunkKeyInfo, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, VSIKerchunkKeyInfo> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, VSIKerchunkKeyInfo, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, VSIKerchunkKeyInfo> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: bool cpl::contains<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: bool cpl::contains<std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, double> > >, char [20]>(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, double> > > const&, char const (&) [20])
Unexecuted instantiation: bool cpl::contains<std::__1::map<CPLString, std::__1::shared_ptr<ZarrDimension>, std::__1::less<CPLString>, std::__1::allocator<std::__1::pair<CPLString const, std::__1::shared_ptr<ZarrDimension> > > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::map<CPLString, std::__1::shared_ptr<ZarrDimension>, std::__1::less<CPLString>, std::__1::allocator<std::__1::pair<CPLString const, std::__1::shared_ptr<ZarrDimension> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
bool cpl::contains<std::__1::set<unsigned long long, std::__1::less<unsigned long long>, std::__1::allocator<unsigned long long> >, unsigned long long>(std::__1::set<unsigned long long, std::__1::less<unsigned long long>, std::__1::allocator<unsigned long long> > const&, unsigned long long const&)
Line
Count
Source
1064
204
    {
1065
204
        return container.find(value) != container.end();
1066
204
    }
1067
1068
    }  // namespace cpl
1069
}
1070
#endif
1071
1072
/*! @endcond */
1073
1074
/* This typedef is for C functions that take char** as argument, but */
1075
/* with the semantics of a const list. In C, char** is not implicitly cast to */
1076
/* const char* const*, contrary to C++. So when seen for C++, it is OK */
1077
/* to expose the prototypes as const char* const*, but for C we keep the */
1078
/* historical definition to avoid warnings. */
1079
#if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS) &&                 \
1080
    !defined(DOXYGEN_SKIP)
1081
/** Type of a constant null-terminated list of nul terminated strings.
1082
 * Seen as char** from C and const char* const* from C++ */
1083
typedef const char *const *CSLConstList;
1084
#else
1085
/** Type of a constant null-terminated list of nul terminated strings.
1086
 * Seen as char** from C and const char* const* from C++ */
1087
typedef char **CSLConstList;
1088
#endif
1089
1090
#if defined(__cplusplus) && defined(GDAL_COMPILATION)
1091
#if defined(__GNUC__) && !defined(DOXYGEN_SKIP)
1092
/** Macro that evaluates to (cond), and possibly gives a hint to the compiler
1093
 * than (cond) is unlikely to be true.
1094
 */
1095
828M
#define CPL_UNLIKELY(cond) __builtin_expect(static_cast<bool>(cond), 0)
1096
#else
1097
#define CPL_UNLIKELY(cond) (cond)
1098
#endif
1099
#endif
1100
1101
#endif /* ndef CPL_BASE_H_INCLUDED */