Coverage Report

Created: 2024-02-25 06:14

/src/PROJ/include/proj/internal/internal.hpp
Line
Count
Source (jump to first uncovered line)
1
/******************************************************************************
2
 *
3
 * Project:  PROJ
4
 * Purpose:  ISO19111:2019 implementation
5
 * Author:   Even Rouault <even dot rouault at spatialys dot com>
6
 *
7
 ******************************************************************************
8
 * Copyright (c) 2018, Even Rouault <even dot rouault at spatialys dot com>
9
 *
10
 * Permission is hereby granted, free of charge, to any person obtaining a
11
 * copy of this software and associated documentation files (the "Software"),
12
 * to deal in the Software without restriction, including without limitation
13
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
14
 * and/or sell copies of the Software, and to permit persons to whom the
15
 * Software is furnished to do so, subject to the following conditions:
16
 *
17
 * The above copyright notice and this permission notice shall be included
18
 * in all copies or substantial portions of the Software.
19
 *
20
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
21
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
23
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
26
 * DEALINGS IN THE SOFTWARE.
27
 ****************************************************************************/
28
29
#ifndef FROM_PROJ_CPP
30
#error This file should only be included from a PROJ cpp file
31
#endif
32
33
#ifndef INTERNAL_HH_INCLUDED
34
#define INTERNAL_HH_INCLUDED
35
36
#if !(__cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1900))
37
#error Must have C++11 or newer.
38
#endif
39
40
#include <cassert>
41
#include <cstring>
42
#include <memory>
43
#include <string>
44
#ifndef DOXYGEN_ENABLED
45
#include <type_traits> // for std::is_base_of
46
#endif
47
#include <vector>
48
49
#include "proj/util.hpp"
50
51
//! @cond Doxygen_Suppress
52
53
// Use "PROJ_FALLTHROUGH;" to annotate deliberate fall-through in switches,
54
// use it analogously to "break;".  The trailing semi-colon is required.
55
#if !defined(PROJ_FALLTHROUGH) && defined(__has_cpp_attribute)
56
#if __cplusplus >= 201703L && __has_cpp_attribute(fallthrough)
57
#define PROJ_FALLTHROUGH [[fallthrough]]
58
#elif __cplusplus >= 201103L && __has_cpp_attribute(gnu::fallthrough)
59
0
#define PROJ_FALLTHROUGH [[gnu::fallthrough]]
60
#elif __cplusplus >= 201103L && __has_cpp_attribute(clang::fallthrough)
61
#define PROJ_FALLTHROUGH [[clang::fallthrough]]
62
#endif
63
#endif
64
65
#ifndef PROJ_FALLTHROUGH
66
#define PROJ_FALLTHROUGH ((void)0)
67
#endif
68
69
#if defined(__clang__) || defined(_MSC_VER)
70
#define COMPILER_WARNS_ABOUT_ABSTRACT_VBASE_INIT
71
#endif
72
73
NS_PROJ_START
74
75
namespace operation {
76
class OperationParameterValue;
77
} // namespace operation
78
79
namespace internal {
80
81
/** Use cpl::down_cast<Derived*>(pointer_to_base) as equivalent of
82
 * static_cast<Derived*>(pointer_to_base) with safe checking in debug
83
 * mode.
84
 *
85
 * Only works if no virtual inheritance is involved.
86
 *
87
 * @param f pointer to a base class
88
 * @return pointer to a derived class
89
 */
90
template <typename To, typename From> inline To down_cast(From *f) {
91
    static_assert(
92
        (std::is_base_of<From, typename std::remove_pointer<To>::type>::value),
93
        "target type not derived from source type");
94
    assert(f == nullptr || dynamic_cast<To>(f) != nullptr);
95
    return static_cast<To>(f);
96
}
97
98
/* Borrowed from C++14 */
99
template <typename T, typename... Args>
100
27.6M
std::unique_ptr<T> make_unique(Args &&...args) {
101
27.6M
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
27.6M
}
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::FloatLineCache, std::__1::default_delete<osgeo::proj::FloatLineCache> > osgeo::proj::internal::make_unique<osgeo::proj::FloatLineCache, int const&>(int const&)
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::GTiffVGrid, std::__1::default_delete<osgeo::proj::GTiffVGrid> > osgeo::proj::internal::make_unique<osgeo::proj::GTiffVGrid, std::__1::unique_ptr<osgeo::proj::GTiffGrid, std::__1::default_delete<osgeo::proj::GTiffGrid> >, unsigned short&>(std::__1::unique_ptr<osgeo::proj::GTiffGrid, std::__1::default_delete<osgeo::proj::GTiffGrid> >&&, unsigned short&)
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::GTiffHGrid, std::__1::default_delete<osgeo::proj::GTiffHGrid> > osgeo::proj::internal::make_unique<osgeo::proj::GTiffHGrid, std::__1::unique_ptr<osgeo::proj::GTiffGrid, std::__1::default_delete<osgeo::proj::GTiffGrid> >, unsigned short&, unsigned short&, double&, bool&>(std::__1::unique_ptr<osgeo::proj::GTiffGrid, std::__1::default_delete<osgeo::proj::GTiffGrid> >&&, unsigned short&, unsigned short&, double&, bool&)
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::GTiffGenericGrid, std::__1::default_delete<osgeo::proj::GTiffGenericGrid> > osgeo::proj::internal::make_unique<osgeo::proj::GTiffGenericGrid, std::__1::unique_ptr<osgeo::proj::GTiffGrid, std::__1::default_delete<osgeo::proj::GTiffGrid> > >(std::__1::unique_ptr<osgeo::proj::GTiffGrid, std::__1::default_delete<osgeo::proj::GTiffGrid> >&&)
std::__1::unique_ptr<osgeo::proj::util::BaseObject::Private, std::__1::default_delete<osgeo::proj::util::BaseObject::Private> > osgeo::proj::internal::make_unique<osgeo::proj::util::BaseObject::Private>()
Line
Count
Source
100
11.0M
std::unique_ptr<T> make_unique(Args &&...args) {
101
11.0M
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
11.0M
}
std::__1::unique_ptr<osgeo::proj::util::BoxedValue::Private, std::__1::default_delete<osgeo::proj::util::BoxedValue::Private> > osgeo::proj::internal::make_unique<osgeo::proj::util::BoxedValue::Private, 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> >&&)
Line
Count
Source
100
254k
std::unique_ptr<T> make_unique(Args &&...args) {
101
254k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
254k
}
std::__1::unique_ptr<osgeo::proj::util::BoxedValue::Private, std::__1::default_delete<osgeo::proj::util::BoxedValue::Private> > osgeo::proj::internal::make_unique<osgeo::proj::util::BoxedValue::Private, 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
100
873k
std::unique_ptr<T> make_unique(Args &&...args) {
101
873k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
873k
}
std::__1::unique_ptr<osgeo::proj::util::BoxedValue::Private, std::__1::default_delete<osgeo::proj::util::BoxedValue::Private> > osgeo::proj::internal::make_unique<osgeo::proj::util::BoxedValue::Private, int&>(int&)
Line
Count
Source
100
156k
std::unique_ptr<T> make_unique(Args &&...args) {
101
156k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
156k
}
std::__1::unique_ptr<osgeo::proj::util::BoxedValue::Private, std::__1::default_delete<osgeo::proj::util::BoxedValue::Private> > osgeo::proj::internal::make_unique<osgeo::proj::util::BoxedValue::Private, bool&>(bool&)
Line
Count
Source
100
56.7k
std::unique_ptr<T> make_unique(Args &&...args) {
101
56.7k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
56.7k
}
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::util::BoxedValue::Private, std::__1::default_delete<osgeo::proj::util::BoxedValue::Private> > osgeo::proj::internal::make_unique<osgeo::proj::util::BoxedValue::Private, osgeo::proj::util::BoxedValue::Private&>(osgeo::proj::util::BoxedValue::Private&)
std::__1::unique_ptr<osgeo::proj::util::ArrayOfBaseObject::Private, std::__1::default_delete<osgeo::proj::util::ArrayOfBaseObject::Private> > osgeo::proj::internal::make_unique<osgeo::proj::util::ArrayOfBaseObject::Private>()
Line
Count
Source
100
171k
std::unique_ptr<T> make_unique(Args &&...args) {
101
171k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
171k
}
std::__1::unique_ptr<osgeo::proj::util::PropertyMap::Private, std::__1::default_delete<osgeo::proj::util::PropertyMap::Private> > osgeo::proj::internal::make_unique<osgeo::proj::util::PropertyMap::Private>()
Line
Count
Source
100
2.06M
std::unique_ptr<T> make_unique(Args &&...args) {
101
2.06M
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
2.06M
}
std::__1::unique_ptr<osgeo::proj::util::PropertyMap::Private, std::__1::default_delete<osgeo::proj::util::PropertyMap::Private> > osgeo::proj::internal::make_unique<osgeo::proj::util::PropertyMap::Private, osgeo::proj::util::PropertyMap::Private&>(osgeo::proj::util::PropertyMap::Private&)
Line
Count
Source
100
359k
std::unique_ptr<T> make_unique(Args &&...args) {
101
359k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
359k
}
std::__1::unique_ptr<osgeo::proj::util::GenericName::Private, std::__1::default_delete<osgeo::proj::util::GenericName::Private> > osgeo::proj::internal::make_unique<osgeo::proj::util::GenericName::Private>()
Line
Count
Source
100
2
std::unique_ptr<T> make_unique(Args &&...args) {
101
2
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
2
}
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::util::GenericName::Private, std::__1::default_delete<osgeo::proj::util::GenericName::Private> > osgeo::proj::internal::make_unique<osgeo::proj::util::GenericName::Private, osgeo::proj::util::GenericName::Private&>(osgeo::proj::util::GenericName::Private&)
std::__1::unique_ptr<osgeo::proj::util::NameSpace::Private, std::__1::default_delete<osgeo::proj::util::NameSpace::Private> > osgeo::proj::internal::make_unique<osgeo::proj::util::NameSpace::Private>()
Line
Count
Source
100
2
std::unique_ptr<T> make_unique(Args &&...args) {
101
2
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
2
}
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::util::NameSpace::Private, std::__1::default_delete<osgeo::proj::util::NameSpace::Private> > osgeo::proj::internal::make_unique<osgeo::proj::util::NameSpace::Private, osgeo::proj::util::NameSpace::Private&>(osgeo::proj::util::NameSpace::Private&)
std::__1::unique_ptr<osgeo::proj::util::LocalName::Private, std::__1::default_delete<osgeo::proj::util::LocalName::Private> > osgeo::proj::internal::make_unique<osgeo::proj::util::LocalName::Private>()
Line
Count
Source
100
2
std::unique_ptr<T> make_unique(Args &&...args) {
101
2
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
2
}
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::util::LocalName::Private, std::__1::default_delete<osgeo::proj::util::LocalName::Private> > osgeo::proj::internal::make_unique<osgeo::proj::util::LocalName::Private, osgeo::proj::util::LocalName::Private&>(osgeo::proj::util::LocalName::Private&)
std::__1::unique_ptr<osgeo::proj::metadata::Citation::Private, std::__1::default_delete<osgeo::proj::metadata::Citation::Private> > osgeo::proj::internal::make_unique<osgeo::proj::metadata::Citation::Private>()
Line
Count
Source
100
2.23M
std::unique_ptr<T> make_unique(Args &&...args) {
101
2.23M
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
2.23M
}
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::metadata::Citation::Private, std::__1::default_delete<osgeo::proj::metadata::Citation::Private> > osgeo::proj::internal::make_unique<osgeo::proj::metadata::Citation::Private, osgeo::proj::metadata::Citation::Private&>(osgeo::proj::metadata::Citation::Private&)
std::__1::unique_ptr<osgeo::proj::metadata::GeographicExtent::Private, std::__1::default_delete<osgeo::proj::metadata::GeographicExtent::Private> > osgeo::proj::internal::make_unique<osgeo::proj::metadata::GeographicExtent::Private>()
Line
Count
Source
100
1.45k
std::unique_ptr<T> make_unique(Args &&...args) {
101
1.45k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
1.45k
}
std::__1::unique_ptr<osgeo::proj::metadata::GeographicBoundingBox::Private, std::__1::default_delete<osgeo::proj::metadata::GeographicBoundingBox::Private> > osgeo::proj::internal::make_unique<osgeo::proj::metadata::GeographicBoundingBox::Private, double&, double&, double&, double&>(double&, double&, double&, double&)
Line
Count
Source
100
1.45k
std::unique_ptr<T> make_unique(Args &&...args) {
101
1.45k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
1.45k
}
std::__1::unique_ptr<osgeo::proj::metadata::GeographicBoundingBox::Private, std::__1::default_delete<osgeo::proj::metadata::GeographicBoundingBox::Private> > osgeo::proj::internal::make_unique<osgeo::proj::metadata::GeographicBoundingBox::Private, double const&, double const&, double const&, double const&>(double const&, double const&, double const&, double const&)
Line
Count
Source
100
242
std::unique_ptr<T> make_unique(Args &&...args) {
101
242
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
242
}
std::__1::unique_ptr<osgeo::proj::metadata::VerticalExtent::Private, std::__1::default_delete<osgeo::proj::metadata::VerticalExtent::Private> > osgeo::proj::internal::make_unique<osgeo::proj::metadata::VerticalExtent::Private, double&, double&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::common::UnitOfMeasure> > const&>(double&, double&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::common::UnitOfMeasure> > const&)
Line
Count
Source
100
91
std::unique_ptr<T> make_unique(Args &&...args) {
101
91
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
91
}
std::__1::unique_ptr<osgeo::proj::metadata::TemporalExtent::Private, std::__1::default_delete<osgeo::proj::metadata::TemporalExtent::Private> > osgeo::proj::internal::make_unique<osgeo::proj::metadata::TemporalExtent::Private, 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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Line
Count
Source
100
426
std::unique_ptr<T> make_unique(Args &&...args) {
101
426
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
426
}
std::__1::unique_ptr<osgeo::proj::metadata::Extent::Private, std::__1::default_delete<osgeo::proj::metadata::Extent::Private> > osgeo::proj::internal::make_unique<osgeo::proj::metadata::Extent::Private>()
Line
Count
Source
100
1.93k
std::unique_ptr<T> make_unique(Args &&...args) {
101
1.93k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
1.93k
}
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::metadata::Extent::Private, std::__1::default_delete<osgeo::proj::metadata::Extent::Private> > osgeo::proj::internal::make_unique<osgeo::proj::metadata::Extent::Private, osgeo::proj::metadata::Extent::Private&>(osgeo::proj::metadata::Extent::Private&)
std::__1::unique_ptr<osgeo::proj::metadata::Identifier::Private, std::__1::default_delete<osgeo::proj::metadata::Identifier::Private> > osgeo::proj::internal::make_unique<osgeo::proj::metadata::Identifier::Private, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, osgeo::proj::util::PropertyMap const&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, osgeo::proj::util::PropertyMap const&)
Line
Count
Source
100
1.19M
std::unique_ptr<T> make_unique(Args &&...args) {
101
1.19M
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
1.19M
}
std::__1::unique_ptr<osgeo::proj::metadata::Identifier::Private, std::__1::default_delete<osgeo::proj::metadata::Identifier::Private> > osgeo::proj::internal::make_unique<osgeo::proj::metadata::Identifier::Private>()
Line
Count
Source
100
909k
std::unique_ptr<T> make_unique(Args &&...args) {
101
909k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
909k
}
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::metadata::Identifier::Private, std::__1::default_delete<osgeo::proj::metadata::Identifier::Private> > osgeo::proj::internal::make_unique<osgeo::proj::metadata::Identifier::Private, osgeo::proj::metadata::Identifier::Private&>(osgeo::proj::metadata::Identifier::Private&)
std::__1::unique_ptr<osgeo::proj::metadata::PositionalAccuracy::Private, std::__1::default_delete<osgeo::proj::metadata::PositionalAccuracy::Private> > osgeo::proj::internal::make_unique<osgeo::proj::metadata::PositionalAccuracy::Private>()
Line
Count
Source
100
9.40k
std::unique_ptr<T> make_unique(Args &&...args) {
101
9.40k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
9.40k
}
std::__1::unique_ptr<osgeo::proj::common::UnitOfMeasure::Private, std::__1::default_delete<osgeo::proj::common::UnitOfMeasure::Private> > osgeo::proj::internal::make_unique<osgeo::proj::common::UnitOfMeasure::Private, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, double&, osgeo::proj::common::UnitOfMeasure::Type&, 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&, double&, osgeo::proj::common::UnitOfMeasure::Type&, 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
100
753k
std::unique_ptr<T> make_unique(Args &&...args) {
101
753k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
753k
}
std::__1::unique_ptr<osgeo::proj::common::UnitOfMeasure::Private, std::__1::default_delete<osgeo::proj::common::UnitOfMeasure::Private> > osgeo::proj::internal::make_unique<osgeo::proj::common::UnitOfMeasure::Private, osgeo::proj::common::UnitOfMeasure::Private&>(osgeo::proj::common::UnitOfMeasure::Private&)
Line
Count
Source
100
1.61M
std::unique_ptr<T> make_unique(Args &&...args) {
101
1.61M
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
1.61M
}
std::__1::unique_ptr<osgeo::proj::common::Measure::Private, std::__1::default_delete<osgeo::proj::common::Measure::Private> > osgeo::proj::internal::make_unique<osgeo::proj::common::Measure::Private, double&, osgeo::proj::common::UnitOfMeasure const&>(double&, osgeo::proj::common::UnitOfMeasure const&)
Line
Count
Source
100
928k
std::unique_ptr<T> make_unique(Args &&...args) {
101
928k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
928k
}
std::__1::unique_ptr<osgeo::proj::common::Measure::Private, std::__1::default_delete<osgeo::proj::common::Measure::Private> > osgeo::proj::internal::make_unique<osgeo::proj::common::Measure::Private, osgeo::proj::common::Measure::Private&>(osgeo::proj::common::Measure::Private&)
Line
Count
Source
100
552k
std::unique_ptr<T> make_unique(Args &&...args) {
101
552k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
552k
}
std::__1::unique_ptr<osgeo::proj::common::DateTime::Private, std::__1::default_delete<osgeo::proj::common::DateTime::Private> > osgeo::proj::internal::make_unique<osgeo::proj::common::DateTime::Private, 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> >&&)
Line
Count
Source
100
37.7k
std::unique_ptr<T> make_unique(Args &&...args) {
101
37.7k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
37.7k
}
std::__1::unique_ptr<osgeo::proj::common::DateTime::Private, std::__1::default_delete<osgeo::proj::common::DateTime::Private> > osgeo::proj::internal::make_unique<osgeo::proj::common::DateTime::Private, 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
100
60
std::unique_ptr<T> make_unique(Args &&...args) {
101
60
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
60
}
std::__1::unique_ptr<osgeo::proj::common::DateTime::Private, std::__1::default_delete<osgeo::proj::common::DateTime::Private> > osgeo::proj::internal::make_unique<osgeo::proj::common::DateTime::Private, osgeo::proj::common::DateTime::Private&>(osgeo::proj::common::DateTime::Private&)
Line
Count
Source
100
52
std::unique_ptr<T> make_unique(Args &&...args) {
101
52
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
52
}
std::__1::unique_ptr<osgeo::proj::common::IdentifiedObject::Private, std::__1::default_delete<osgeo::proj::common::IdentifiedObject::Private> > osgeo::proj::internal::make_unique<osgeo::proj::common::IdentifiedObject::Private>()
Line
Count
Source
100
1.04M
std::unique_ptr<T> make_unique(Args &&...args) {
101
1.04M
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
1.04M
}
std::__1::unique_ptr<osgeo::proj::common::IdentifiedObject::Private, std::__1::default_delete<osgeo::proj::common::IdentifiedObject::Private> > osgeo::proj::internal::make_unique<osgeo::proj::common::IdentifiedObject::Private, osgeo::proj::common::IdentifiedObject::Private&>(osgeo::proj::common::IdentifiedObject::Private&)
Line
Count
Source
100
18.7k
std::unique_ptr<T> make_unique(Args &&...args) {
101
18.7k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
18.7k
}
std::__1::unique_ptr<osgeo::proj::common::ObjectDomain::Private, std::__1::default_delete<osgeo::proj::common::ObjectDomain::Private> > osgeo::proj::internal::make_unique<osgeo::proj::common::ObjectDomain::Private, osgeo::proj::util::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&, std::__1::shared_ptr<osgeo::proj::metadata::Extent> const&>(osgeo::proj::util::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&, std::__1::shared_ptr<osgeo::proj::metadata::Extent> const&)
Line
Count
Source
100
30.6k
std::unique_ptr<T> make_unique(Args &&...args) {
101
30.6k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
30.6k
}
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::common::ObjectDomain::Private, std::__1::default_delete<osgeo::proj::common::ObjectDomain::Private> > osgeo::proj::internal::make_unique<osgeo::proj::common::ObjectDomain::Private, osgeo::proj::common::ObjectDomain::Private&>(osgeo::proj::common::ObjectDomain::Private&)
std::__1::unique_ptr<osgeo::proj::common::ObjectUsage::Private, std::__1::default_delete<osgeo::proj::common::ObjectUsage::Private> > osgeo::proj::internal::make_unique<osgeo::proj::common::ObjectUsage::Private>()
Line
Count
Source
100
335k
std::unique_ptr<T> make_unique(Args &&...args) {
101
335k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
335k
}
std::__1::unique_ptr<osgeo::proj::common::ObjectUsage::Private, std::__1::default_delete<osgeo::proj::common::ObjectUsage::Private> > osgeo::proj::internal::make_unique<osgeo::proj::common::ObjectUsage::Private, osgeo::proj::common::ObjectUsage::Private&>(osgeo::proj::common::ObjectUsage::Private&)
Line
Count
Source
100
18.1k
std::unique_ptr<T> make_unique(Args &&...args) {
101
18.1k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
18.1k
}
std::__1::unique_ptr<osgeo::proj::common::DataEpoch::Private, std::__1::default_delete<osgeo::proj::common::DataEpoch::Private> > osgeo::proj::internal::make_unique<osgeo::proj::common::DataEpoch::Private, osgeo::proj::common::Measure>(osgeo::proj::common::Measure&&)
Line
Count
Source
100
344k
std::unique_ptr<T> make_unique(Args &&...args) {
101
344k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
344k
}
std::__1::unique_ptr<osgeo::proj::common::DataEpoch::Private, std::__1::default_delete<osgeo::proj::common::DataEpoch::Private> > osgeo::proj::internal::make_unique<osgeo::proj::common::DataEpoch::Private, osgeo::proj::common::Measure const&>(osgeo::proj::common::Measure const&)
Line
Count
Source
100
53
std::unique_ptr<T> make_unique(Args &&...args) {
101
53
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
53
}
std::__1::unique_ptr<osgeo::proj::common::DataEpoch::Private, std::__1::default_delete<osgeo::proj::common::DataEpoch::Private> > osgeo::proj::internal::make_unique<osgeo::proj::common::DataEpoch::Private, osgeo::proj::common::DataEpoch::Private&>(osgeo::proj::common::DataEpoch::Private&)
Line
Count
Source
100
22.7k
std::unique_ptr<T> make_unique(Args &&...args) {
101
22.7k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
22.7k
}
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::io::WKTFormatter::Private, std::__1::default_delete<osgeo::proj::io::WKTFormatter::Private> > osgeo::proj::internal::make_unique<osgeo::proj::io::WKTFormatter::Private>()
std::__1::unique_ptr<osgeo::proj::io::WKTNode, std::__1::default_delete<osgeo::proj::io::WKTNode> > osgeo::proj::internal::make_unique<osgeo::proj::io::WKTNode, 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> >&&)
Line
Count
Source
100
2
std::unique_ptr<T> make_unique(Args &&...args) {
101
2
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
2
}
std::__1::unique_ptr<osgeo::proj::io::WKTNode::Private, std::__1::default_delete<osgeo::proj::io::WKTNode::Private> > osgeo::proj::internal::make_unique<osgeo::proj::io::WKTNode::Private, 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
100
190k
std::unique_ptr<T> make_unique(Args &&...args) {
101
190k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
190k
}
std::__1::unique_ptr<osgeo::proj::io::WKTNode, std::__1::default_delete<osgeo::proj::io::WKTNode> > osgeo::proj::internal::make_unique<osgeo::proj::io::WKTNode, 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> >&)
Line
Count
Source
100
190k
std::unique_ptr<T> make_unique(Args &&...args) {
101
190k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
190k
}
std::__1::unique_ptr<osgeo::proj::io::WKTParser::Private, std::__1::default_delete<osgeo::proj::io::WKTParser::Private> > osgeo::proj::internal::make_unique<osgeo::proj::io::WKTParser::Private>()
Line
Count
Source
100
10.2k
std::unique_ptr<T> make_unique(Args &&...args) {
101
10.2k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
10.2k
}
std::__1::unique_ptr<osgeo::proj::io::PROJStringFormatter::Private, std::__1::default_delete<osgeo::proj::io::PROJStringFormatter::Private> > osgeo::proj::internal::make_unique<osgeo::proj::io::PROJStringFormatter::Private>()
Line
Count
Source
100
84.4k
std::unique_ptr<T> make_unique(Args &&...args) {
101
84.4k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
84.4k
}
std::__1::unique_ptr<osgeo::proj::io::PROJStringParser::Private, std::__1::default_delete<osgeo::proj::io::PROJStringParser::Private> > osgeo::proj::internal::make_unique<osgeo::proj::io::PROJStringParser::Private>()
Line
Count
Source
100
34.2k
std::unique_ptr<T> make_unique(Args &&...args) {
101
34.2k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
34.2k
}
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::io::JSONFormatter::Private, std::__1::default_delete<osgeo::proj::io::JSONFormatter::Private> > osgeo::proj::internal::make_unique<osgeo::proj::io::JSONFormatter::Private>()
std::__1::unique_ptr<osgeo::proj::io::DatabaseContext::Private, std::__1::default_delete<osgeo::proj::io::DatabaseContext::Private> > osgeo::proj::internal::make_unique<osgeo::proj::io::DatabaseContext::Private>()
Line
Count
Source
100
70.6k
std::unique_ptr<T> make_unique(Args &&...args) {
101
70.6k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
70.6k
}
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::io::AuthorityFactory::Private, std::__1::default_delete<osgeo::proj::io::AuthorityFactory::Private> > osgeo::proj::internal::make_unique<osgeo::proj::io::AuthorityFactory::Private, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::io::DatabaseContext> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::io::DatabaseContext> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::io::NoSuchAuthorityCodeException::Private, std::__1::default_delete<osgeo::proj::io::NoSuchAuthorityCodeException::Private> > osgeo::proj::internal::make_unique<osgeo::proj::io::NoSuchAuthorityCodeException::Private, 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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::io::NoSuchAuthorityCodeException::Private, std::__1::default_delete<osgeo::proj::io::NoSuchAuthorityCodeException::Private> > osgeo::proj::internal::make_unique<osgeo::proj::io::NoSuchAuthorityCodeException::Private, osgeo::proj::io::NoSuchAuthorityCodeException::Private&>(osgeo::proj::io::NoSuchAuthorityCodeException::Private&)
Unexecuted instantiation: std::__1::unique_ptr<PJ_OBJ_LIST, std::__1::default_delete<PJ_OBJ_LIST> > osgeo::proj::internal::make_unique<PJ_OBJ_LIST, std::__1::vector<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::common::IdentifiedObject> >, std::__1::allocator<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::common::IdentifiedObject> > > > >(std::__1::vector<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::common::IdentifiedObject> >, std::__1::allocator<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::common::IdentifiedObject> > > >&&)
std::__1::unique_ptr<osgeo::proj::operation::ConcatenatedOperation::Private, std::__1::default_delete<osgeo::proj::operation::ConcatenatedOperation::Private> > osgeo::proj::internal::make_unique<osgeo::proj::operation::ConcatenatedOperation::Private, osgeo::proj::operation::ConcatenatedOperation::Private&>(osgeo::proj::operation::ConcatenatedOperation::Private&)
Line
Count
Source
100
1.05k
std::unique_ptr<T> make_unique(Args &&...args) {
101
1.05k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
1.05k
}
std::__1::unique_ptr<osgeo::proj::operation::ConcatenatedOperation::Private, std::__1::default_delete<osgeo::proj::operation::ConcatenatedOperation::Private> > osgeo::proj::internal::make_unique<osgeo::proj::operation::ConcatenatedOperation::Private, std::__1::vector<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::CoordinateOperation> >, std::__1::allocator<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::CoordinateOperation> > > > const&>(std::__1::vector<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::CoordinateOperation> >, std::__1::allocator<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::CoordinateOperation> > > > const&)
Line
Count
Source
100
16.7k
std::unique_ptr<T> make_unique(Args &&...args) {
101
16.7k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
16.7k
}
std::__1::unique_ptr<osgeo::proj::operation::CoordinateOperationContext::Private, std::__1::default_delete<osgeo::proj::operation::CoordinateOperationContext::Private> > osgeo::proj::internal::make_unique<osgeo::proj::operation::CoordinateOperationContext::Private>()
Line
Count
Source
100
9.08k
std::unique_ptr<T> make_unique(Args &&...args) {
101
9.08k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
9.08k
}
std::__1::unique_ptr<osgeo::proj::operation::CoordinateOperationContext::Private, std::__1::default_delete<osgeo::proj::operation::CoordinateOperationContext::Private> > osgeo::proj::internal::make_unique<osgeo::proj::operation::CoordinateOperationContext::Private, osgeo::proj::operation::CoordinateOperationContext::Private&>(osgeo::proj::operation::CoordinateOperationContext::Private&)
Line
Count
Source
100
24
std::unique_ptr<T> make_unique(Args &&...args) {
101
24
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
24
}
std::__1::unique_ptr<osgeo::proj::operation::CoordinateOperation::Private::CRSStrongRef, std::__1::default_delete<osgeo::proj::operation::CoordinateOperation::Private::CRSStrongRef> > osgeo::proj::internal::make_unique<osgeo::proj::operation::CoordinateOperation::Private::CRSStrongRef, osgeo::proj::operation::CoordinateOperation::Private::CRSStrongRef&>(osgeo::proj::operation::CoordinateOperation::Private::CRSStrongRef&)
Line
Count
Source
100
11.3k
std::unique_ptr<T> make_unique(Args &&...args) {
101
11.3k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
11.3k
}
std::__1::unique_ptr<osgeo::proj::operation::CoordinateOperation::Private, std::__1::default_delete<osgeo::proj::operation::CoordinateOperation::Private> > osgeo::proj::internal::make_unique<osgeo::proj::operation::CoordinateOperation::Private>()
Line
Count
Source
100
132k
std::unique_ptr<T> make_unique(Args &&...args) {
101
132k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
132k
}
std::__1::unique_ptr<osgeo::proj::operation::CoordinateOperation::Private, std::__1::default_delete<osgeo::proj::operation::CoordinateOperation::Private> > osgeo::proj::internal::make_unique<osgeo::proj::operation::CoordinateOperation::Private, osgeo::proj::operation::CoordinateOperation::Private&>(osgeo::proj::operation::CoordinateOperation::Private&)
Line
Count
Source
100
17.9k
std::unique_ptr<T> make_unique(Args &&...args) {
101
17.9k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
17.9k
}
std::__1::unique_ptr<osgeo::proj::operation::CoordinateOperation::Private::CRSStrongRef, std::__1::default_delete<osgeo::proj::operation::CoordinateOperation::Private::CRSStrongRef> > osgeo::proj::internal::make_unique<osgeo::proj::operation::CoordinateOperation::Private::CRSStrongRef, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> > const&)
Line
Count
Source
100
138k
std::unique_ptr<T> make_unique(Args &&...args) {
101
138k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
138k
}
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::operation::CoordinateTransformer::Private, std::__1::default_delete<osgeo::proj::operation::CoordinateTransformer::Private> > osgeo::proj::internal::make_unique<osgeo::proj::operation::CoordinateTransformer::Private>()
std::__1::unique_ptr<osgeo::proj::operation::OperationMethod::Private, std::__1::default_delete<osgeo::proj::operation::OperationMethod::Private> > osgeo::proj::internal::make_unique<osgeo::proj::operation::OperationMethod::Private>()
Line
Count
Source
100
115k
std::unique_ptr<T> make_unique(Args &&...args) {
101
115k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
115k
}
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::operation::OperationMethod::Private, std::__1::default_delete<osgeo::proj::operation::OperationMethod::Private> > osgeo::proj::internal::make_unique<osgeo::proj::operation::OperationMethod::Private, osgeo::proj::operation::OperationMethod::Private&>(osgeo::proj::operation::OperationMethod::Private&)
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::operation::OperationParameterValue::Private, std::__1::default_delete<osgeo::proj::operation::OperationParameterValue::Private> > osgeo::proj::internal::make_unique<osgeo::proj::operation::OperationParameterValue::Private, osgeo::proj::operation::OperationParameterValue::Private&>(osgeo::proj::operation::OperationParameterValue::Private&)
std::__1::unique_ptr<osgeo::proj::operation::OperationParameterValue::Private, std::__1::default_delete<osgeo::proj::operation::OperationParameterValue::Private> > osgeo::proj::internal::make_unique<osgeo::proj::operation::OperationParameterValue::Private, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::OperationParameter> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::ParameterValue> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::OperationParameter> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::ParameterValue> > const&)
Line
Count
Source
100
109k
std::unique_ptr<T> make_unique(Args &&...args) {
101
109k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
109k
}
std::__1::unique_ptr<osgeo::proj::operation::SingleOperation::Private, std::__1::default_delete<osgeo::proj::operation::SingleOperation::Private> > osgeo::proj::internal::make_unique<osgeo::proj::operation::SingleOperation::Private, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::OperationMethod> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::OperationMethod> > const&)
Line
Count
Source
100
115k
std::unique_ptr<T> make_unique(Args &&...args) {
101
115k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
115k
}
std::__1::unique_ptr<osgeo::proj::operation::SingleOperation::Private, std::__1::default_delete<osgeo::proj::operation::SingleOperation::Private> > osgeo::proj::internal::make_unique<osgeo::proj::operation::SingleOperation::Private, osgeo::proj::operation::SingleOperation::Private&>(osgeo::proj::operation::SingleOperation::Private&)
Line
Count
Source
100
16.8k
std::unique_ptr<T> make_unique(Args &&...args) {
101
16.8k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
16.8k
}
std::__1::unique_ptr<osgeo::proj::operation::ParameterValue::Private, std::__1::default_delete<osgeo::proj::operation::ParameterValue::Private> > osgeo::proj::internal::make_unique<osgeo::proj::operation::ParameterValue::Private, osgeo::proj::common::Measure const&>(osgeo::proj::common::Measure const&)
Line
Count
Source
100
95.8k
std::unique_ptr<T> make_unique(Args &&...args) {
101
95.8k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
95.8k
}
std::__1::unique_ptr<osgeo::proj::common::Measure, std::__1::default_delete<osgeo::proj::common::Measure> > osgeo::proj::internal::make_unique<osgeo::proj::common::Measure, osgeo::proj::common::Measure const&>(osgeo::proj::common::Measure const&)
Line
Count
Source
100
95.8k
std::unique_ptr<T> make_unique(Args &&...args) {
101
95.8k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
95.8k
}
std::__1::unique_ptr<osgeo::proj::operation::ParameterValue::Private, std::__1::default_delete<osgeo::proj::operation::ParameterValue::Private> > osgeo::proj::internal::make_unique<osgeo::proj::operation::ParameterValue::Private, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, osgeo::proj::operation::ParameterValue::Type&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, osgeo::proj::operation::ParameterValue::Type&)
Line
Count
Source
100
18.3k
std::unique_ptr<T> make_unique(Args &&...args) {
101
18.3k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
18.3k
}
std::__1::unique_ptr<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::default_delete<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > osgeo::proj::internal::make_unique<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&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Line
Count
Source
100
18.3k
std::unique_ptr<T> make_unique(Args &&...args) {
101
18.3k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
18.3k
}
std::__1::unique_ptr<osgeo::proj::operation::ParameterValue::Private, std::__1::default_delete<osgeo::proj::operation::ParameterValue::Private> > osgeo::proj::internal::make_unique<osgeo::proj::operation::ParameterValue::Private, int&>(int&)
Line
Count
Source
100
87
std::unique_ptr<T> make_unique(Args &&...args) {
101
87
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
87
}
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::operation::ParameterValue::Private, std::__1::default_delete<osgeo::proj::operation::ParameterValue::Private> > osgeo::proj::internal::make_unique<osgeo::proj::operation::ParameterValue::Private, bool&>(bool&)
std::__1::unique_ptr<osgeo::proj::operation::Transformation::Private, std::__1::default_delete<osgeo::proj::operation::Transformation::Private> > osgeo::proj::internal::make_unique<osgeo::proj::operation::Transformation::Private>()
Line
Count
Source
100
38.3k
std::unique_ptr<T> make_unique(Args &&...args) {
101
38.3k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
38.3k
}
std::__1::unique_ptr<osgeo::proj::operation::Transformation::Private, std::__1::default_delete<osgeo::proj::operation::Transformation::Private> > osgeo::proj::internal::make_unique<osgeo::proj::operation::Transformation::Private, osgeo::proj::operation::Transformation::Private&>(osgeo::proj::operation::Transformation::Private&)
Line
Count
Source
100
5.12k
std::unique_ptr<T> make_unique(Args &&...args) {
101
5.12k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
5.12k
}
std::__1::unique_ptr<osgeo::proj::coordinates::CoordinateMetadata::Private, std::__1::default_delete<osgeo::proj::coordinates::CoordinateMetadata::Private> > osgeo::proj::internal::make_unique<osgeo::proj::coordinates::CoordinateMetadata::Private, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> > const&)
Line
Count
Source
100
15
std::unique_ptr<T> make_unique(Args &&...args) {
101
15
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
15
}
std::__1::unique_ptr<osgeo::proj::coordinates::CoordinateMetadata::Private, std::__1::default_delete<osgeo::proj::coordinates::CoordinateMetadata::Private> > osgeo::proj::internal::make_unique<osgeo::proj::coordinates::CoordinateMetadata::Private, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> > const&, osgeo::proj::common::DataEpoch>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> > const&, osgeo::proj::common::DataEpoch&&)
Line
Count
Source
100
53
std::unique_ptr<T> make_unique(Args &&...args) {
101
53
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
53
}
std::__1::unique_ptr<osgeo::proj::crs::CRS::Private, std::__1::default_delete<osgeo::proj::crs::CRS::Private> > osgeo::proj::internal::make_unique<osgeo::proj::crs::CRS::Private>()
Line
Count
Source
100
165k
std::unique_ptr<T> make_unique(Args &&...args) {
101
165k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
165k
}
std::__1::unique_ptr<osgeo::proj::crs::CRS::Private, std::__1::default_delete<osgeo::proj::crs::CRS::Private> > osgeo::proj::internal::make_unique<osgeo::proj::crs::CRS::Private, osgeo::proj::crs::CRS::Private&>(osgeo::proj::crs::CRS::Private&)
Line
Count
Source
100
255
std::unique_ptr<T> make_unique(Args &&...args) {
101
255
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
255
}
std::__1::unique_ptr<osgeo::proj::crs::SingleCRS::Private, std::__1::default_delete<osgeo::proj::crs::SingleCRS::Private> > osgeo::proj::internal::make_unique<osgeo::proj::crs::SingleCRS::Private, std::__1::shared_ptr<osgeo::proj::datum::Datum> const&, std::__1::shared_ptr<osgeo::proj::datum::DatumEnsemble> const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystem> > const&>(std::__1::shared_ptr<osgeo::proj::datum::Datum> const&, std::__1::shared_ptr<osgeo::proj::datum::DatumEnsemble> const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystem> > const&)
Line
Count
Source
100
127k
std::unique_ptr<T> make_unique(Args &&...args) {
101
127k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
127k
}
std::__1::unique_ptr<osgeo::proj::crs::SingleCRS::Private, std::__1::default_delete<osgeo::proj::crs::SingleCRS::Private> > osgeo::proj::internal::make_unique<osgeo::proj::crs::SingleCRS::Private, osgeo::proj::crs::SingleCRS::Private&>(osgeo::proj::crs::SingleCRS::Private&)
Line
Count
Source
100
255
std::unique_ptr<T> make_unique(Args &&...args) {
101
255
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
255
}
std::__1::unique_ptr<osgeo::proj::crs::GeodeticCRS::Private, std::__1::default_delete<osgeo::proj::crs::GeodeticCRS::Private> > osgeo::proj::internal::make_unique<osgeo::proj::crs::GeodeticCRS::Private, std::__1::shared_ptr<osgeo::proj::datum::GeodeticReferenceFrame> const&>(std::__1::shared_ptr<osgeo::proj::datum::GeodeticReferenceFrame> const&)
Line
Count
Source
100
73.4k
std::unique_ptr<T> make_unique(Args &&...args) {
101
73.4k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
73.4k
}
std::__1::unique_ptr<osgeo::proj::crs::GeodeticCRS::Private, std::__1::default_delete<osgeo::proj::crs::GeodeticCRS::Private> > osgeo::proj::internal::make_unique<osgeo::proj::crs::GeodeticCRS::Private, osgeo::proj::crs::GeodeticCRS::Private&>(osgeo::proj::crs::GeodeticCRS::Private&)
Line
Count
Source
100
85
std::unique_ptr<T> make_unique(Args &&...args) {
101
85
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
85
}
std::__1::unique_ptr<osgeo::proj::crs::GeographicCRS::Private, std::__1::default_delete<osgeo::proj::crs::GeographicCRS::Private> > osgeo::proj::internal::make_unique<osgeo::proj::crs::GeographicCRS::Private, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::EllipsoidalCS> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::EllipsoidalCS> > const&)
Line
Count
Source
100
67.5k
std::unique_ptr<T> make_unique(Args &&...args) {
101
67.5k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
67.5k
}
std::__1::unique_ptr<osgeo::proj::crs::GeographicCRS::Private, std::__1::default_delete<osgeo::proj::crs::GeographicCRS::Private> > osgeo::proj::internal::make_unique<osgeo::proj::crs::GeographicCRS::Private, osgeo::proj::crs::GeographicCRS::Private&>(osgeo::proj::crs::GeographicCRS::Private&)
Line
Count
Source
100
85
std::unique_ptr<T> make_unique(Args &&...args) {
101
85
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
85
}
std::__1::unique_ptr<osgeo::proj::crs::VerticalCRS::Private, std::__1::default_delete<osgeo::proj::crs::VerticalCRS::Private> > osgeo::proj::internal::make_unique<osgeo::proj::crs::VerticalCRS::Private>()
Line
Count
Source
100
33.7k
std::unique_ptr<T> make_unique(Args &&...args) {
101
33.7k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
33.7k
}
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::crs::VerticalCRS::Private, std::__1::default_delete<osgeo::proj::crs::VerticalCRS::Private> > osgeo::proj::internal::make_unique<osgeo::proj::crs::VerticalCRS::Private, osgeo::proj::crs::VerticalCRS::Private&>(osgeo::proj::crs::VerticalCRS::Private&)
std::__1::unique_ptr<osgeo::proj::crs::DerivedCRS::Private, std::__1::default_delete<osgeo::proj::crs::DerivedCRS::Private> > osgeo::proj::internal::make_unique<osgeo::proj::crs::DerivedCRS::Private, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::SingleCRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::SingleCRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> > const&)
Line
Count
Source
100
20.7k
std::unique_ptr<T> make_unique(Args &&...args) {
101
20.7k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
20.7k
}
std::__1::unique_ptr<osgeo::proj::crs::DerivedCRS::Private, std::__1::default_delete<osgeo::proj::crs::DerivedCRS::Private> > osgeo::proj::internal::make_unique<osgeo::proj::crs::DerivedCRS::Private, osgeo::proj::crs::DerivedCRS::Private&>(osgeo::proj::crs::DerivedCRS::Private&)
Line
Count
Source
100
4
std::unique_ptr<T> make_unique(Args &&...args) {
101
4
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
4
}
std::__1::unique_ptr<osgeo::proj::crs::ProjectedCRS::Private, std::__1::default_delete<osgeo::proj::crs::ProjectedCRS::Private> > osgeo::proj::internal::make_unique<osgeo::proj::crs::ProjectedCRS::Private, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::GeodeticCRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CartesianCS> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::GeodeticCRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CartesianCS> > const&)
Line
Count
Source
100
18.0k
std::unique_ptr<T> make_unique(Args &&...args) {
101
18.0k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
18.0k
}
std::__1::unique_ptr<osgeo::proj::crs::CompoundCRS::Private, std::__1::default_delete<osgeo::proj::crs::CompoundCRS::Private> > osgeo::proj::internal::make_unique<osgeo::proj::crs::CompoundCRS::Private>()
Line
Count
Source
100
17.9k
std::unique_ptr<T> make_unique(Args &&...args) {
101
17.9k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
17.9k
}
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::crs::CompoundCRS::Private, std::__1::default_delete<osgeo::proj::crs::CompoundCRS::Private> > osgeo::proj::internal::make_unique<osgeo::proj::crs::CompoundCRS::Private, osgeo::proj::crs::CompoundCRS::Private&>(osgeo::proj::crs::CompoundCRS::Private&)
std::__1::unique_ptr<osgeo::proj::crs::BoundCRS::Private, std::__1::default_delete<osgeo::proj::crs::BoundCRS::Private> > osgeo::proj::internal::make_unique<osgeo::proj::crs::BoundCRS::Private, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Transformation> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Transformation> > const&)
Line
Count
Source
100
20.3k
std::unique_ptr<T> make_unique(Args &&...args) {
101
20.3k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
20.3k
}
std::__1::unique_ptr<osgeo::proj::crs::EngineeringCRS::Private, std::__1::default_delete<osgeo::proj::crs::EngineeringCRS::Private> > osgeo::proj::internal::make_unique<osgeo::proj::crs::EngineeringCRS::Private>()
Line
Count
Source
100
1.91k
std::unique_ptr<T> make_unique(Args &&...args) {
101
1.91k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
1.91k
}
std::__1::unique_ptr<osgeo::proj::crs::EngineeringCRS::Private, std::__1::default_delete<osgeo::proj::crs::EngineeringCRS::Private> > osgeo::proj::internal::make_unique<osgeo::proj::crs::EngineeringCRS::Private, osgeo::proj::crs::EngineeringCRS::Private&>(osgeo::proj::crs::EngineeringCRS::Private&)
Line
Count
Source
100
168
std::unique_ptr<T> make_unique(Args &&...args) {
101
168
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
168
}
std::__1::unique_ptr<osgeo::proj::datum::Datum::Private, std::__1::default_delete<osgeo::proj::datum::Datum::Private> > osgeo::proj::internal::make_unique<osgeo::proj::datum::Datum::Private>()
Line
Count
Source
100
37.7k
std::unique_ptr<T> make_unique(Args &&...args) {
101
37.7k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
37.7k
}
std::__1::unique_ptr<osgeo::proj::datum::PrimeMeridian::Private, std::__1::default_delete<osgeo::proj::datum::PrimeMeridian::Private> > osgeo::proj::internal::make_unique<osgeo::proj::datum::PrimeMeridian::Private, osgeo::proj::common::Angle const&>(osgeo::proj::common::Angle const&)
Line
Count
Source
100
6.15k
std::unique_ptr<T> make_unique(Args &&...args) {
101
6.15k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
6.15k
}
std::__1::unique_ptr<osgeo::proj::datum::Ellipsoid::Private, std::__1::default_delete<osgeo::proj::datum::Ellipsoid::Private> > osgeo::proj::internal::make_unique<osgeo::proj::datum::Ellipsoid::Private, osgeo::proj::common::Length const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(osgeo::proj::common::Length const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Line
Count
Source
100
4.83k
std::unique_ptr<T> make_unique(Args &&...args) {
101
4.83k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
4.83k
}
std::__1::unique_ptr<osgeo::proj::datum::Ellipsoid::Private, std::__1::default_delete<osgeo::proj::datum::Ellipsoid::Private> > osgeo::proj::internal::make_unique<osgeo::proj::datum::Ellipsoid::Private, osgeo::proj::common::Length const&, osgeo::proj::common::Scale const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(osgeo::proj::common::Length const&, osgeo::proj::common::Scale const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Line
Count
Source
100
7.62k
std::unique_ptr<T> make_unique(Args &&...args) {
101
7.62k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
7.62k
}
std::__1::unique_ptr<osgeo::proj::datum::Ellipsoid::Private, std::__1::default_delete<osgeo::proj::datum::Ellipsoid::Private> > osgeo::proj::internal::make_unique<osgeo::proj::datum::Ellipsoid::Private, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(osgeo::proj::common::Length const&, osgeo::proj::common::Length const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Line
Count
Source
100
326
std::unique_ptr<T> make_unique(Args &&...args) {
101
326
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
326
}
std::__1::unique_ptr<osgeo::proj::datum::Ellipsoid::Private, std::__1::default_delete<osgeo::proj::datum::Ellipsoid::Private> > osgeo::proj::internal::make_unique<osgeo::proj::datum::Ellipsoid::Private, osgeo::proj::datum::Ellipsoid::Private&>(osgeo::proj::datum::Ellipsoid::Private&)
Line
Count
Source
100
506
std::unique_ptr<T> make_unique(Args &&...args) {
101
506
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
506
}
std::__1::unique_ptr<osgeo::proj::datum::GeodeticReferenceFrame::Private, std::__1::default_delete<osgeo::proj::datum::GeodeticReferenceFrame::Private> > osgeo::proj::internal::make_unique<osgeo::proj::datum::GeodeticReferenceFrame::Private, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::Ellipsoid> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::PrimeMeridian> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::Ellipsoid> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::PrimeMeridian> > const&)
Line
Count
Source
100
16.0k
std::unique_ptr<T> make_unique(Args &&...args) {
101
16.0k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
16.0k
}
std::__1::unique_ptr<osgeo::proj::datum::DynamicGeodeticReferenceFrame::Private, std::__1::default_delete<osgeo::proj::datum::DynamicGeodeticReferenceFrame::Private> > osgeo::proj::internal::make_unique<osgeo::proj::datum::DynamicGeodeticReferenceFrame::Private, osgeo::proj::common::Measure const&>(osgeo::proj::common::Measure const&)
Line
Count
Source
100
67
std::unique_ptr<T> make_unique(Args &&...args) {
101
67
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
67
}
std::__1::unique_ptr<osgeo::proj::datum::DatumEnsemble::Private, std::__1::default_delete<osgeo::proj::datum::DatumEnsemble::Private> > osgeo::proj::internal::make_unique<osgeo::proj::datum::DatumEnsemble::Private, std::__1::vector<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::Datum> >, std::__1::allocator<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::Datum> > > > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > const&>(std::__1::vector<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::Datum> >, std::__1::allocator<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::Datum> > > > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > const&)
Line
Count
Source
100
135
std::unique_ptr<T> make_unique(Args &&...args) {
101
135
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
135
}
std::__1::unique_ptr<osgeo::proj::datum::VerticalReferenceFrame::Private, std::__1::default_delete<osgeo::proj::datum::VerticalReferenceFrame::Private> > osgeo::proj::internal::make_unique<osgeo::proj::datum::VerticalReferenceFrame::Private>()
Line
Count
Source
100
19.4k
std::unique_ptr<T> make_unique(Args &&...args) {
101
19.4k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
19.4k
}
std::__1::unique_ptr<osgeo::proj::datum::DynamicVerticalReferenceFrame::Private, std::__1::default_delete<osgeo::proj::datum::DynamicVerticalReferenceFrame::Private> > osgeo::proj::internal::make_unique<osgeo::proj::datum::DynamicVerticalReferenceFrame::Private, osgeo::proj::common::Measure const&>(osgeo::proj::common::Measure const&)
Line
Count
Source
100
39
std::unique_ptr<T> make_unique(Args &&...args) {
101
39
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
39
}
std::__1::unique_ptr<osgeo::proj::datum::TemporalDatum::Private, std::__1::default_delete<osgeo::proj::datum::TemporalDatum::Private> > osgeo::proj::internal::make_unique<osgeo::proj::datum::TemporalDatum::Private, osgeo::proj::common::DateTime const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(osgeo::proj::common::DateTime const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Line
Count
Source
100
52
std::unique_ptr<T> make_unique(Args &&...args) {
101
52
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
52
}
std::__1::unique_ptr<osgeo::proj::cs::Meridian::Private, std::__1::default_delete<osgeo::proj::cs::Meridian::Private> > osgeo::proj::internal::make_unique<osgeo::proj::cs::Meridian::Private, osgeo::proj::common::Angle const&>(osgeo::proj::common::Angle const&)
Line
Count
Source
100
168
std::unique_ptr<T> make_unique(Args &&...args) {
101
168
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
168
}
std::__1::unique_ptr<osgeo::proj::cs::CoordinateSystemAxis::Private, std::__1::default_delete<osgeo::proj::cs::CoordinateSystemAxis::Private> > osgeo::proj::internal::make_unique<osgeo::proj::cs::CoordinateSystemAxis::Private>()
Line
Count
Source
100
331k
std::unique_ptr<T> make_unique(Args &&...args) {
101
331k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
331k
}
std::__1::unique_ptr<osgeo::proj::cs::CoordinateSystem::Private, std::__1::default_delete<osgeo::proj::cs::CoordinateSystem::Private> > osgeo::proj::internal::make_unique<osgeo::proj::cs::CoordinateSystem::Private, std::__1::vector<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> >, std::__1::allocator<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > > > const&>(std::__1::vector<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> >, std::__1::allocator<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > > > const&)
Line
Count
Source
100
127k
std::unique_ptr<T> make_unique(Args &&...args) {
101
127k
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
102
127k
}
103
104
PROJ_FOR_TEST std::string replaceAll(const std::string &str,
105
                                     const std::string &before,
106
                                     const std::string &after);
107
108
PROJ_DLL size_t ci_find(const std::string &osStr, const char *needle) noexcept;
109
110
size_t ci_find(const std::string &osStr, const std::string &needle,
111
               size_t startPos = 0) noexcept;
112
113
inline bool starts_with(const std::string &str,
114
87.0k
                        const std::string &prefix) noexcept {
115
87.0k
    if (str.size() < prefix.size()) {
116
26.8k
        return false;
117
26.8k
    }
118
60.2k
    return std::memcmp(str.c_str(), prefix.c_str(), prefix.size()) == 0;
119
87.0k
}
120
121
8.83M
inline bool starts_with(const std::string &str, const char *prefix) noexcept {
122
8.83M
    const size_t prefixSize = std::strlen(prefix);
123
8.83M
    if (str.size() < prefixSize) {
124
3.84M
        return false;
125
3.84M
    }
126
4.98M
    return std::memcmp(str.c_str(), prefix, prefixSize) == 0;
127
8.83M
}
128
129
bool ci_less(const std::string &a, const std::string &b) noexcept;
130
131
PROJ_DLL bool ci_starts_with(const char *str, const char *prefix) noexcept;
132
133
bool ci_starts_with(const std::string &str, const std::string &prefix) noexcept;
134
135
bool ends_with(const std::string &str, const std::string &suffix) noexcept;
136
137
PROJ_FOR_TEST std::string tolower(const std::string &osStr);
138
139
std::string toupper(const std::string &osStr);
140
141
PROJ_FOR_TEST std::vector<std::string> split(const std::string &osStr,
142
                                             char separator);
143
144
PROJ_FOR_TEST std::vector<std::string> split(const std::string &osStr,
145
                                             const std::string &separator);
146
147
bool ci_equal(const char *a, const char *b) noexcept;
148
149
bool ci_equal(const char *a, const std::string &b) = delete;
150
151
PROJ_FOR_TEST bool ci_equal(const std::string &a, const char *b) noexcept;
152
153
PROJ_FOR_TEST bool ci_equal(const std::string &a,
154
                            const std::string &b) noexcept;
155
156
std::string stripQuotes(const std::string &osStr);
157
158
std::string toString(int val);
159
160
PROJ_FOR_TEST std::string toString(double val, int precision = 15);
161
162
PROJ_FOR_TEST double
163
c_locale_stod(const std::string &s); // throw(std::invalid_argument)
164
165
// Variant of above that doesn't emit exceptions
166
double c_locale_stod(const std::string &s, bool &success);
167
168
std::string concat(const std::string &, const std::string &) = delete;
169
std::string concat(const char *, const char *) = delete;
170
std::string concat(const char *a, const std::string &b);
171
std::string concat(const std::string &, const char *) = delete;
172
std::string concat(const char *, const char *, const char *) = delete;
173
std::string concat(const char *, const char *, const std::string &) = delete;
174
std::string concat(const char *a, const std::string &b, const char *c);
175
std::string concat(const char *, const std::string &,
176
                   const std::string &) = delete;
177
std::string concat(const std::string &, const char *, const char *) = delete;
178
std::string concat(const std::string &, const char *,
179
                   const std::string &) = delete;
180
std::string concat(const std::string &, const std::string &,
181
                   const char *) = delete;
182
std::string concat(const std::string &, const std::string &,
183
                   const std::string &) = delete;
184
185
double getRoundedEpochInDecimalYear(double year);
186
187
} // namespace internal
188
189
NS_PROJ_END
190
191
//! @endcond
192
193
#endif // INTERNAL_HH_INCLUDED