Coverage Report

Created: 2025-08-29 07:11

/src/PROJ/include/proj/util.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 UTIL_HH_INCLUDED
30
#define UTIL_HH_INCLUDED
31
32
#if !(__cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1900))
33
#error Must have C++11 or newer.
34
#endif
35
36
// windows.h can conflict with Criterion::STRICT
37
#ifdef STRICT
38
#undef STRICT
39
#endif
40
41
#include <exception>
42
#include <map>
43
#include <memory>
44
#include <string>
45
#include <type_traits>
46
#include <vector>
47
48
#ifndef NS_PROJ
49
/** osgeo namespace */
50
namespace osgeo {
51
/** osgeo.proj namespace */
52
namespace proj {}
53
} // namespace osgeo
54
#endif
55
56
//! @cond Doxygen_Suppress
57
58
#ifndef PROJ_DLL
59
#if defined(_MSC_VER)
60
#ifdef PROJ_MSVC_DLL_EXPORT
61
#define PROJ_DLL __declspec(dllexport)
62
#else
63
#define PROJ_DLL __declspec(dllimport)
64
#endif
65
#elif defined(__GNUC__)
66
#define PROJ_DLL __attribute__((visibility("default")))
67
#else
68
#define PROJ_DLL
69
#endif
70
#endif
71
72
#ifndef PROJ_MSVC_DLL
73
#if defined(_MSC_VER)
74
#define PROJ_MSVC_DLL PROJ_DLL
75
#define PROJ_GCC_DLL
76
#define PROJ_INTERNAL
77
#elif defined(__GNUC__)
78
#define PROJ_MSVC_DLL
79
#define PROJ_GCC_DLL PROJ_DLL
80
#if !defined(__MINGW32__)
81
#define PROJ_INTERNAL __attribute__((visibility("hidden")))
82
#else
83
#define PROJ_INTERNAL
84
#endif
85
#else
86
#define PROJ_MSVC_DLL
87
#define PROJ_GCC_DLL
88
#define PROJ_INTERNAL
89
#endif
90
#define PROJ_FOR_TEST PROJ_DLL
91
#endif
92
93
#include "nn.hpp"
94
95
/* To allow customizing the base namespace of PROJ */
96
#ifdef PROJ_INTERNAL_CPP_NAMESPACE
97
#define NS_PROJ osgeo::internalproj
98
#define NS_PROJ_START                                                          \
99
    namespace osgeo {                                                          \
100
    namespace internalproj {
101
#define NS_PROJ_END                                                            \
102
    }                                                                          \
103
    }
104
#else
105
#ifndef NS_PROJ
106
781k
#define NS_PROJ osgeo::proj
107
#define NS_PROJ_START                                                          \
108
    namespace osgeo {                                                          \
109
    namespace proj {
110
#define NS_PROJ_END                                                            \
111
    }                                                                          \
112
    }
113
#endif
114
#endif
115
116
// Private-implementation (Pimpl) pattern
117
#define PROJ_OPAQUE_PRIVATE_DATA                                               \
118
  private:                                                                     \
119
    struct PROJ_INTERNAL Private;                                              \
120
    std::unique_ptr<Private> d;                                                \
121
                                                                               \
122
  protected:                                                                   \
123
1.79M
    PROJ_INTERNAL Private *getPrivate() noexcept { return d.get(); }           \
Unexecuted instantiation: osgeo::proj::util::BaseObject::getPrivate()
Unexecuted instantiation: osgeo::proj::util::BoxedValue::getPrivate()
Unexecuted instantiation: osgeo::proj::util::ArrayOfBaseObject::getPrivate()
Unexecuted instantiation: osgeo::proj::util::PropertyMap::getPrivate()
Unexecuted instantiation: osgeo::proj::util::GenericName::getPrivate()
Unexecuted instantiation: osgeo::proj::util::NameSpace::getPrivate()
Unexecuted instantiation: osgeo::proj::util::LocalName::getPrivate()
Unexecuted instantiation: osgeo::proj::io::WKTFormatter::getPrivate()
Unexecuted instantiation: osgeo::proj::io::PROJStringFormatter::getPrivate()
Unexecuted instantiation: osgeo::proj::io::JSONFormatter::getPrivate()
osgeo::proj::io::WKTNode::getPrivate()
Line
Count
Source
123
794k
    PROJ_INTERNAL Private *getPrivate() noexcept { return d.get(); }           \
Unexecuted instantiation: osgeo::proj::io::WKTParser::getPrivate()
Unexecuted instantiation: osgeo::proj::io::PROJStringParser::getPrivate()
osgeo::proj::io::DatabaseContext::getPrivate()
Line
Count
Source
123
864k
    PROJ_INTERNAL Private *getPrivate() noexcept { return d.get(); }           \
Unexecuted instantiation: osgeo::proj::io::AuthorityFactory::getPrivate()
Unexecuted instantiation: osgeo::proj::io::NoSuchAuthorityCodeException::getPrivate()
Unexecuted instantiation: osgeo::proj::metadata::Citation::getPrivate()
Unexecuted instantiation: osgeo::proj::metadata::GeographicExtent::getPrivate()
Unexecuted instantiation: osgeo::proj::metadata::GeographicBoundingBox::getPrivate()
Unexecuted instantiation: osgeo::proj::metadata::TemporalExtent::getPrivate()
Unexecuted instantiation: osgeo::proj::metadata::VerticalExtent::getPrivate()
Unexecuted instantiation: osgeo::proj::metadata::Extent::getPrivate()
Unexecuted instantiation: osgeo::proj::metadata::Identifier::getPrivate()
Unexecuted instantiation: osgeo::proj::metadata::PositionalAccuracy::getPrivate()
Unexecuted instantiation: osgeo::proj::common::UnitOfMeasure::getPrivate()
Unexecuted instantiation: osgeo::proj::common::Measure::getPrivate()
Unexecuted instantiation: osgeo::proj::common::DateTime::getPrivate()
Unexecuted instantiation: osgeo::proj::common::DataEpoch::getPrivate()
Unexecuted instantiation: osgeo::proj::common::IdentifiedObject::getPrivate()
Unexecuted instantiation: osgeo::proj::common::ObjectDomain::getPrivate()
Unexecuted instantiation: osgeo::proj::common::ObjectUsage::getPrivate()
Unexecuted instantiation: osgeo::proj::operation::CoordinateTransformer::getPrivate()
Unexecuted instantiation: osgeo::proj::operation::CoordinateOperation::getPrivate()
Unexecuted instantiation: osgeo::proj::operation::GeneralOperationParameter::getPrivate()
Unexecuted instantiation: osgeo::proj::operation::OperationParameter::getPrivate()
Unexecuted instantiation: osgeo::proj::operation::GeneralParameterValue::getPrivate()
Unexecuted instantiation: osgeo::proj::operation::ParameterValue::getPrivate()
Unexecuted instantiation: osgeo::proj::operation::OperationParameterValue::getPrivate()
osgeo::proj::operation::OperationMethod::getPrivate()
Line
Count
Source
123
17.0k
    PROJ_INTERNAL Private *getPrivate() noexcept { return d.get(); }           \
Unexecuted instantiation: osgeo::proj::operation::SingleOperation::getPrivate()
Unexecuted instantiation: osgeo::proj::operation::Conversion::getPrivate()
Unexecuted instantiation: osgeo::proj::operation::Transformation::getPrivate()
Unexecuted instantiation: osgeo::proj::operation::ConcatenatedOperation::getPrivate()
Unexecuted instantiation: osgeo::proj::operation::CoordinateOperationContext::getPrivate()
Unexecuted instantiation: osgeo::proj::operation::CoordinateOperationFactory::getPrivate()
Unexecuted instantiation: osgeo::proj::cs::Meridian::getPrivate()
Unexecuted instantiation: osgeo::proj::cs::CoordinateSystemAxis::getPrivate()
Unexecuted instantiation: osgeo::proj::cs::CoordinateSystem::getPrivate()
Unexecuted instantiation: osgeo::proj::datum::Datum::getPrivate()
Unexecuted instantiation: osgeo::proj::datum::DatumEnsemble::getPrivate()
Unexecuted instantiation: osgeo::proj::datum::PrimeMeridian::getPrivate()
Unexecuted instantiation: osgeo::proj::datum::Ellipsoid::getPrivate()
Unexecuted instantiation: osgeo::proj::datum::GeodeticReferenceFrame::getPrivate()
Unexecuted instantiation: osgeo::proj::datum::DynamicGeodeticReferenceFrame::getPrivate()
Unexecuted instantiation: osgeo::proj::datum::VerticalReferenceFrame::getPrivate()
Unexecuted instantiation: osgeo::proj::datum::DynamicVerticalReferenceFrame::getPrivate()
Unexecuted instantiation: osgeo::proj::datum::TemporalDatum::getPrivate()
Unexecuted instantiation: osgeo::proj::datum::EngineeringDatum::getPrivate()
Unexecuted instantiation: osgeo::proj::datum::ParametricDatum::getPrivate()
osgeo::proj::crs::CRS::getPrivate()
Line
Count
Source
123
114k
    PROJ_INTERNAL Private *getPrivate() noexcept { return d.get(); }           \
Unexecuted instantiation: osgeo::proj::crs::SingleCRS::getPrivate()
Unexecuted instantiation: osgeo::proj::crs::GeodeticCRS::getPrivate()
Unexecuted instantiation: osgeo::proj::crs::GeographicCRS::getPrivate()
Unexecuted instantiation: osgeo::proj::crs::VerticalCRS::getPrivate()
Unexecuted instantiation: osgeo::proj::crs::DerivedCRS::getPrivate()
Unexecuted instantiation: osgeo::proj::crs::ProjectedCRS::getPrivate()
Unexecuted instantiation: osgeo::proj::crs::TemporalCRS::getPrivate()
Unexecuted instantiation: osgeo::proj::crs::EngineeringCRS::getPrivate()
Unexecuted instantiation: osgeo::proj::crs::ParametricCRS::getPrivate()
Unexecuted instantiation: osgeo::proj::crs::CompoundCRS::getPrivate()
Unexecuted instantiation: osgeo::proj::crs::BoundCRS::getPrivate()
Unexecuted instantiation: osgeo::proj::crs::DerivedGeodeticCRS::getPrivate()
Unexecuted instantiation: osgeo::proj::crs::DerivedGeographicCRS::getPrivate()
Unexecuted instantiation: osgeo::proj::crs::DerivedProjectedCRS::getPrivate()
Unexecuted instantiation: osgeo::proj::crs::DerivedVerticalCRS::getPrivate()
Unexecuted instantiation: osgeo::proj::coordinates::CoordinateMetadata::getPrivate()
124
1.33M
    PROJ_INTERNAL const Private *getPrivate() const noexcept {                 \
125
1.33M
        return d.get();                                                        \
126
1.33M
    }                                                                          \
Unexecuted instantiation: osgeo::proj::util::BaseObject::getPrivate() const
Unexecuted instantiation: osgeo::proj::util::BoxedValue::getPrivate() const
Unexecuted instantiation: osgeo::proj::util::ArrayOfBaseObject::getPrivate() const
Unexecuted instantiation: osgeo::proj::util::PropertyMap::getPrivate() const
Unexecuted instantiation: osgeo::proj::util::GenericName::getPrivate() const
Unexecuted instantiation: osgeo::proj::util::NameSpace::getPrivate() const
Unexecuted instantiation: osgeo::proj::util::LocalName::getPrivate() const
Unexecuted instantiation: osgeo::proj::io::WKTFormatter::getPrivate() const
Unexecuted instantiation: osgeo::proj::io::PROJStringFormatter::getPrivate() const
Unexecuted instantiation: osgeo::proj::io::JSONFormatter::getPrivate() const
Unexecuted instantiation: osgeo::proj::io::WKTNode::getPrivate() const
Unexecuted instantiation: osgeo::proj::io::WKTParser::getPrivate() const
Unexecuted instantiation: osgeo::proj::io::PROJStringParser::getPrivate() const
Unexecuted instantiation: osgeo::proj::io::DatabaseContext::getPrivate() const
Unexecuted instantiation: osgeo::proj::io::AuthorityFactory::getPrivate() const
Unexecuted instantiation: osgeo::proj::io::NoSuchAuthorityCodeException::getPrivate() const
Unexecuted instantiation: osgeo::proj::metadata::Citation::getPrivate() const
Unexecuted instantiation: osgeo::proj::metadata::GeographicExtent::getPrivate() const
Unexecuted instantiation: osgeo::proj::metadata::GeographicBoundingBox::getPrivate() const
Unexecuted instantiation: osgeo::proj::metadata::TemporalExtent::getPrivate() const
Unexecuted instantiation: osgeo::proj::metadata::VerticalExtent::getPrivate() const
Unexecuted instantiation: osgeo::proj::metadata::Extent::getPrivate() const
Unexecuted instantiation: osgeo::proj::metadata::Identifier::getPrivate() const
Unexecuted instantiation: osgeo::proj::metadata::PositionalAccuracy::getPrivate() const
Unexecuted instantiation: osgeo::proj::common::UnitOfMeasure::getPrivate() const
Unexecuted instantiation: osgeo::proj::common::Measure::getPrivate() const
Unexecuted instantiation: osgeo::proj::common::DateTime::getPrivate() const
Unexecuted instantiation: osgeo::proj::common::DataEpoch::getPrivate() const
Unexecuted instantiation: osgeo::proj::common::IdentifiedObject::getPrivate() const
Unexecuted instantiation: osgeo::proj::common::ObjectDomain::getPrivate() const
Unexecuted instantiation: osgeo::proj::common::ObjectUsage::getPrivate() const
Unexecuted instantiation: osgeo::proj::operation::CoordinateTransformer::getPrivate() const
osgeo::proj::operation::CoordinateOperation::getPrivate() const
Line
Count
Source
124
386k
    PROJ_INTERNAL const Private *getPrivate() const noexcept {                 \
125
386k
        return d.get();                                                        \
126
386k
    }                                                                          \
Unexecuted instantiation: osgeo::proj::operation::GeneralOperationParameter::getPrivate() const
Unexecuted instantiation: osgeo::proj::operation::OperationParameter::getPrivate() const
Unexecuted instantiation: osgeo::proj::operation::GeneralParameterValue::getPrivate() const
Unexecuted instantiation: osgeo::proj::operation::ParameterValue::getPrivate() const
Unexecuted instantiation: osgeo::proj::operation::OperationParameterValue::getPrivate() const
Unexecuted instantiation: osgeo::proj::operation::OperationMethod::getPrivate() const
Unexecuted instantiation: osgeo::proj::operation::SingleOperation::getPrivate() const
Unexecuted instantiation: osgeo::proj::operation::Conversion::getPrivate() const
Unexecuted instantiation: osgeo::proj::operation::Transformation::getPrivate() const
Unexecuted instantiation: osgeo::proj::operation::ConcatenatedOperation::getPrivate() const
Unexecuted instantiation: osgeo::proj::operation::CoordinateOperationContext::getPrivate() const
Unexecuted instantiation: osgeo::proj::operation::CoordinateOperationFactory::getPrivate() const
Unexecuted instantiation: osgeo::proj::cs::Meridian::getPrivate() const
Unexecuted instantiation: osgeo::proj::cs::CoordinateSystemAxis::getPrivate() const
osgeo::proj::cs::CoordinateSystem::getPrivate() const
Line
Count
Source
124
73.6k
    PROJ_INTERNAL const Private *getPrivate() const noexcept {                 \
125
73.6k
        return d.get();                                                        \
126
73.6k
    }                                                                          \
Unexecuted instantiation: osgeo::proj::datum::Datum::getPrivate() const
Unexecuted instantiation: osgeo::proj::datum::DatumEnsemble::getPrivate() const
Unexecuted instantiation: osgeo::proj::datum::PrimeMeridian::getPrivate() const
Unexecuted instantiation: osgeo::proj::datum::Ellipsoid::getPrivate() const
Unexecuted instantiation: osgeo::proj::datum::GeodeticReferenceFrame::getPrivate() const
Unexecuted instantiation: osgeo::proj::datum::DynamicGeodeticReferenceFrame::getPrivate() const
Unexecuted instantiation: osgeo::proj::datum::VerticalReferenceFrame::getPrivate() const
Unexecuted instantiation: osgeo::proj::datum::DynamicVerticalReferenceFrame::getPrivate() const
Unexecuted instantiation: osgeo::proj::datum::TemporalDatum::getPrivate() const
Unexecuted instantiation: osgeo::proj::datum::EngineeringDatum::getPrivate() const
Unexecuted instantiation: osgeo::proj::datum::ParametricDatum::getPrivate() const
osgeo::proj::crs::CRS::getPrivate() const
Line
Count
Source
124
504k
    PROJ_INTERNAL const Private *getPrivate() const noexcept {                 \
125
504k
        return d.get();                                                        \
126
504k
    }                                                                          \
osgeo::proj::crs::SingleCRS::getPrivate() const
Line
Count
Source
124
369k
    PROJ_INTERNAL const Private *getPrivate() const noexcept {                 \
125
369k
        return d.get();                                                        \
126
369k
    }                                                                          \
Unexecuted instantiation: osgeo::proj::crs::GeodeticCRS::getPrivate() const
Unexecuted instantiation: osgeo::proj::crs::GeographicCRS::getPrivate() const
Unexecuted instantiation: osgeo::proj::crs::VerticalCRS::getPrivate() const
osgeo::proj::crs::DerivedCRS::getPrivate() const
Line
Count
Source
124
5.52k
    PROJ_INTERNAL const Private *getPrivate() const noexcept {                 \
125
5.52k
        return d.get();                                                        \
126
5.52k
    }                                                                          \
Unexecuted instantiation: osgeo::proj::crs::ProjectedCRS::getPrivate() const
Unexecuted instantiation: osgeo::proj::crs::TemporalCRS::getPrivate() const
Unexecuted instantiation: osgeo::proj::crs::EngineeringCRS::getPrivate() const
Unexecuted instantiation: osgeo::proj::crs::ParametricCRS::getPrivate() const
Unexecuted instantiation: osgeo::proj::crs::CompoundCRS::getPrivate() const
Unexecuted instantiation: osgeo::proj::crs::BoundCRS::getPrivate() const
Unexecuted instantiation: osgeo::proj::crs::DerivedGeodeticCRS::getPrivate() const
Unexecuted instantiation: osgeo::proj::crs::DerivedGeographicCRS::getPrivate() const
Unexecuted instantiation: osgeo::proj::crs::DerivedProjectedCRS::getPrivate() const
Unexecuted instantiation: osgeo::proj::crs::DerivedVerticalCRS::getPrivate() const
Unexecuted instantiation: osgeo::proj::coordinates::CoordinateMetadata::getPrivate() const
127
                                                                               \
128
  private:
129
130
// To include in the protected/private section of a class definition,
131
// to be able to call make_shared on a protected/private constructor
132
#define INLINED_MAKE_SHARED                                                    \
133
    template <typename T, typename... Args>                                    \
134
2
    static std::shared_ptr<T> make_shared(Args &&...args) {                    \
135
2
        return std::shared_ptr<T>(new T(std::forward<Args>(args)...));         \
136
2
    }                                                                          \
137
    template <typename T, typename... Args>                                    \
138
17.1M
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
17.1M
        return util::nn_shared_ptr<T>(                                         \
140
17.1M
            util::i_promise_i_checked_for_null,                                \
141
17.1M
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
17.1M
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::util::ArrayOfBaseObject> > osgeo::proj::util::ArrayOfBaseObject::nn_make_shared<osgeo::proj::util::ArrayOfBaseObject>()
Line
Count
Source
138
1.48M
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
1.48M
        return util::nn_shared_ptr<T>(                                         \
140
1.48M
            util::i_promise_i_checked_for_null,                                \
141
1.48M
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
1.48M
    }
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::util::NameSpace> > osgeo::proj::util::NameSpace::nn_make_shared<osgeo::proj::util::NameSpace, osgeo::proj::util::NameSpace const&>(osgeo::proj::util::NameSpace const&)
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::util::NameSpace> > osgeo::proj::util::NameSpace::nn_make_shared<osgeo::proj::util::NameSpace, std::__1::shared_ptr<osgeo::proj::util::LocalName> >(std::__1::shared_ptr<osgeo::proj::util::LocalName>&&)
Line
Count
Source
138
2
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
2
        return util::nn_shared_ptr<T>(                                         \
140
2
            util::i_promise_i_checked_for_null,                                \
141
2
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
2
    }
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::util::LocalName> > osgeo::proj::util::LocalName::nn_make_shared<osgeo::proj::util::LocalName, osgeo::proj::util::LocalName const&>(osgeo::proj::util::LocalName const&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::util::LocalName> > osgeo::proj::util::LocalName::nn_make_shared<osgeo::proj::util::LocalName, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::util::NameSpace> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::util::NameSpace> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::util::NameSpace> > osgeo::proj::util::NameSpace::nn_make_shared<osgeo::proj::util::NameSpace, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::util::GenericName> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::util::GenericName> > const&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::util::LocalName> > osgeo::proj::util::LocalName::nn_make_shared<osgeo::proj::util::LocalName, std::__1::shared_ptr<osgeo::proj::util::NameSpace> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(std::__1::shared_ptr<osgeo::proj::util::NameSpace> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::util::LocalName> > osgeo::proj::util::LocalName::nn_make_shared<osgeo::proj::util::LocalName, std::__1::shared_ptr<osgeo::proj::util::NameSpace> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(std::__1::shared_ptr<osgeo::proj::util::NameSpace> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::io::AuthorityFactory> > osgeo::proj::io::AuthorityFactory::nn_make_shared<osgeo::proj::io::AuthorityFactory, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::io::DatabaseContext> > const&, char const* const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::io::DatabaseContext> > const&, char const* const&)
Line
Count
Source
138
671k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
671k
        return util::nn_shared_ptr<T>(                                         \
140
671k
            util::i_promise_i_checked_for_null,                                \
141
671k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
671k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::io::AuthorityFactory> > osgeo::proj::io::AuthorityFactory::nn_make_shared<osgeo::proj::io::AuthorityFactory, 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&)
Line
Count
Source
138
206k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
206k
        return util::nn_shared_ptr<T>(                                         \
140
206k
            util::i_promise_i_checked_for_null,                                \
141
206k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
206k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::io::DatabaseContext> > osgeo::proj::io::DatabaseContext::nn_make_shared<osgeo::proj::io::DatabaseContext>()
Line
Count
Source
138
8.61k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
8.61k
        return util::nn_shared_ptr<T>(                                         \
140
8.61k
            util::i_promise_i_checked_for_null,                                \
141
8.61k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
8.61k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::ConcatenatedOperation> > osgeo::proj::operation::ConcatenatedOperation::nn_make_shared<osgeo::proj::operation::ConcatenatedOperation, 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
138
155k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
155k
        return util::nn_shared_ptr<T>(                                         \
140
155k
            util::i_promise_i_checked_for_null,                                \
141
155k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
155k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::ConcatenatedOperation> > osgeo::proj::operation::ConcatenatedOperation::nn_make_shared<osgeo::proj::operation::ConcatenatedOperation, osgeo::proj::operation::ConcatenatedOperation const&>(osgeo::proj::operation::ConcatenatedOperation const&)
Line
Count
Source
138
8.49k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
8.49k
        return util::nn_shared_ptr<T>(                                         \
140
8.49k
            util::i_promise_i_checked_for_null,                                \
141
8.49k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
8.49k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> > osgeo::proj::operation::Conversion::nn_make_shared<osgeo::proj::operation::Conversion, osgeo::proj::operation::Conversion const&>(osgeo::proj::operation::Conversion const&)
Line
Count
Source
138
38.5k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
38.5k
        return util::nn_shared_ptr<T>(                                         \
140
38.5k
            util::i_promise_i_checked_for_null,                                \
141
38.5k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
38.5k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> > osgeo::proj::operation::Conversion::nn_make_shared<osgeo::proj::operation::Conversion, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::OperationMethod> > const&, std::__1::vector<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::GeneralParameterValue> >, std::__1::allocator<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::GeneralParameterValue> > > > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::OperationMethod> > const&, std::__1::vector<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::GeneralParameterValue> >, std::__1::allocator<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::GeneralParameterValue> > > > const&)
Line
Count
Source
138
159k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
159k
        return util::nn_shared_ptr<T>(                                         \
140
159k
            util::i_promise_i_checked_for_null,                                \
141
159k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
159k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::InverseConversion> > osgeo::proj::operation::Conversion::nn_make_shared<osgeo::proj::operation::InverseConversion, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> > >(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> >&&)
Line
Count
Source
138
2.66k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
2.66k
        return util::nn_shared_ptr<T>(                                         \
140
2.66k
            util::i_promise_i_checked_for_null,                                \
141
2.66k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
2.66k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::ParameterValue> > osgeo::proj::operation::ParameterValue::nn_make_shared<osgeo::proj::operation::ParameterValue, osgeo::proj::common::Measure const&>(osgeo::proj::common::Measure const&)
Line
Count
Source
138
493k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
493k
        return util::nn_shared_ptr<T>(                                         \
140
493k
            util::i_promise_i_checked_for_null,                                \
141
493k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
493k
    }
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::ParameterValue> > osgeo::proj::operation::ParameterValue::nn_make_shared<osgeo::proj::operation::ParameterValue, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, osgeo::proj::operation::ParameterValue::Type>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, osgeo::proj::operation::ParameterValue::Type&&)
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::ParameterValue> > osgeo::proj::operation::ParameterValue::nn_make_shared<osgeo::proj::operation::ParameterValue, 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
138
288k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
288k
        return util::nn_shared_ptr<T>(                                         \
140
288k
            util::i_promise_i_checked_for_null,                                \
141
288k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
288k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::ParameterValue> > osgeo::proj::operation::ParameterValue::nn_make_shared<osgeo::proj::operation::ParameterValue, int&>(int&)
Line
Count
Source
138
26
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
26
        return util::nn_shared_ptr<T>(                                         \
140
26
            util::i_promise_i_checked_for_null,                                \
141
26
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
26
    }
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::ParameterValue> > osgeo::proj::operation::ParameterValue::nn_make_shared<osgeo::proj::operation::ParameterValue, bool&>(bool&)
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::PROJBasedOperation> > osgeo::proj::operation::PROJBasedOperation::nn_make_shared<osgeo::proj::operation::PROJBasedOperation, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::OperationMethod> >&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::OperationMethod> >&)
Line
Count
Source
138
97.5k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
97.5k
        return util::nn_shared_ptr<T>(                                         \
140
97.5k
            util::i_promise_i_checked_for_null,                                \
141
97.5k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
97.5k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::PROJBasedOperation> > osgeo::proj::operation::PROJBasedOperation::nn_make_shared<osgeo::proj::operation::PROJBasedOperation, osgeo::proj::operation::PROJBasedOperation const&>(osgeo::proj::operation::PROJBasedOperation const&)
Line
Count
Source
138
6.69k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
6.69k
        return util::nn_shared_ptr<T>(                                         \
140
6.69k
            util::i_promise_i_checked_for_null,                                \
141
6.69k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
6.69k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::OperationMethod> > osgeo::proj::operation::OperationMethod::nn_make_shared<osgeo::proj::operation::OperationMethod>()
Line
Count
Source
138
692k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
692k
        return util::nn_shared_ptr<T>(                                         \
140
692k
            util::i_promise_i_checked_for_null,                                \
141
692k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
692k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::OperationParameterValue> > osgeo::proj::operation::OperationParameterValue::nn_make_shared<osgeo::proj::operation::OperationParameterValue, 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
138
780k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
780k
        return util::nn_shared_ptr<T>(                                         \
140
780k
            util::i_promise_i_checked_for_null,                                \
141
780k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
780k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::OperationParameter> > osgeo::proj::operation::OperationParameter::nn_make_shared<osgeo::proj::operation::OperationParameter>()
Line
Count
Source
138
781k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
781k
        return util::nn_shared_ptr<T>(                                         \
140
781k
            util::i_promise_i_checked_for_null,                                \
141
781k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
781k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::PointMotionOperation> > osgeo::proj::operation::PointMotionOperation::nn_make_shared<osgeo::proj::operation::PointMotionOperation, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::OperationMethod> > const&, std::__1::vector<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::GeneralParameterValue> >, std::__1::allocator<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::GeneralParameterValue> > > > const&, std::__1::vector<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::__1::allocator<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::OperationMethod> > const&, std::__1::vector<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::GeneralParameterValue> >, std::__1::allocator<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::GeneralParameterValue> > > > const&, std::__1::vector<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::__1::allocator<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > const&)
Line
Count
Source
138
76
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
76
        return util::nn_shared_ptr<T>(                                         \
140
76
            util::i_promise_i_checked_for_null,                                \
141
76
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
76
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::PointMotionOperation> > osgeo::proj::operation::PointMotionOperation::nn_make_shared<osgeo::proj::operation::PointMotionOperation, osgeo::proj::operation::PointMotionOperation const&>(osgeo::proj::operation::PointMotionOperation const&)
Line
Count
Source
138
6
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
6
        return util::nn_shared_ptr<T>(                                         \
140
6
            util::i_promise_i_checked_for_null,                                \
141
6
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
6
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Transformation> > osgeo::proj::operation::Transformation::nn_make_shared<osgeo::proj::operation::Transformation, osgeo::proj::operation::Transformation const&>(osgeo::proj::operation::Transformation const&)
Line
Count
Source
138
101k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
101k
        return util::nn_shared_ptr<T>(                                         \
140
101k
            util::i_promise_i_checked_for_null,                                \
141
101k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
101k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Transformation> > osgeo::proj::operation::Transformation::nn_make_shared<osgeo::proj::operation::Transformation, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> > const&, std::__1::shared_ptr<osgeo::proj::crs::CRS> const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::OperationMethod> > const&, std::__1::vector<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::GeneralParameterValue> >, std::__1::allocator<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::GeneralParameterValue> > > > const&, std::__1::vector<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::__1::allocator<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > 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&, std::__1::shared_ptr<osgeo::proj::crs::CRS> const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::OperationMethod> > const&, std::__1::vector<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::GeneralParameterValue> >, std::__1::allocator<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::GeneralParameterValue> > > > const&, std::__1::vector<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> >, std::__1::allocator<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > > > const&)
Line
Count
Source
138
339k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
339k
        return util::nn_shared_ptr<T>(                                         \
140
339k
            util::i_promise_i_checked_for_null,                                \
141
339k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
339k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::InverseTransformation> > osgeo::proj::operation::Transformation::nn_make_shared<osgeo::proj::operation::InverseTransformation, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Transformation> > >(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Transformation> >&&)
Line
Count
Source
138
2.36k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
2.36k
        return util::nn_shared_ptr<T>(                                         \
140
2.36k
            util::i_promise_i_checked_for_null,                                \
141
2.36k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
2.36k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::metadata::GeographicBoundingBox> > osgeo::proj::metadata::GeographicBoundingBox::nn_make_shared<osgeo::proj::metadata::GeographicBoundingBox, double&, double&, double&, double&>(double&, double&, double&, double&)
Line
Count
Source
138
703k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
703k
        return util::nn_shared_ptr<T>(                                         \
140
703k
            util::i_promise_i_checked_for_null,                                \
141
703k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
703k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::metadata::VerticalExtent> > osgeo::proj::metadata::VerticalExtent::nn_make_shared<osgeo::proj::metadata::VerticalExtent, 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
138
22
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
22
        return util::nn_shared_ptr<T>(                                         \
140
22
            util::i_promise_i_checked_for_null,                                \
141
22
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
22
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::metadata::TemporalExtent> > osgeo::proj::metadata::TemporalExtent::nn_make_shared<osgeo::proj::metadata::TemporalExtent, 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
138
46
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
46
        return util::nn_shared_ptr<T>(                                         \
140
46
            util::i_promise_i_checked_for_null,                                \
141
46
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
46
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::metadata::Extent> > osgeo::proj::metadata::Extent::nn_make_shared<osgeo::proj::metadata::Extent>()
Line
Count
Source
138
278k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
278k
        return util::nn_shared_ptr<T>(                                         \
140
278k
            util::i_promise_i_checked_for_null,                                \
141
278k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
278k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::metadata::Identifier> > osgeo::proj::metadata::Identifier::nn_make_shared<osgeo::proj::metadata::Identifier, 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
138
5.26M
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
5.26M
        return util::nn_shared_ptr<T>(                                         \
140
5.26M
            util::i_promise_i_checked_for_null,                                \
141
5.26M
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
5.26M
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::metadata::Identifier> > osgeo::proj::metadata::Identifier::nn_make_shared<osgeo::proj::metadata::Identifier>()
Line
Count
Source
138
3.06M
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
3.06M
        return util::nn_shared_ptr<T>(                                         \
140
3.06M
            util::i_promise_i_checked_for_null,                                \
141
3.06M
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
3.06M
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::metadata::PositionalAccuracy> > osgeo::proj::metadata::PositionalAccuracy::nn_make_shared<osgeo::proj::metadata::PositionalAccuracy, 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
138
238k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
238k
        return util::nn_shared_ptr<T>(                                         \
140
238k
            util::i_promise_i_checked_for_null,                                \
141
238k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
238k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::common::ObjectDomain> > osgeo::proj::common::ObjectDomain::nn_make_shared<osgeo::proj::common::ObjectDomain, 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
138
379k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
379k
        return util::nn_shared_ptr<T>(                                         \
140
379k
            util::i_promise_i_checked_for_null,                                \
141
379k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
379k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::coordinates::CoordinateMetadata> > osgeo::proj::coordinates::CoordinateMetadata::nn_make_shared<osgeo::proj::coordinates::CoordinateMetadata, 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
138
2
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
2
        return util::nn_shared_ptr<T>(                                         \
140
2
            util::i_promise_i_checked_for_null,                                \
141
2
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
2
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::coordinates::CoordinateMetadata> > osgeo::proj::coordinates::CoordinateMetadata::nn_make_shared<osgeo::proj::coordinates::CoordinateMetadata, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> > const&, double&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> > const&, double&)
Line
Count
Source
138
61
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
61
        return util::nn_shared_ptr<T>(                                         \
140
61
            util::i_promise_i_checked_for_null,                                \
141
61
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
61
    }
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::coordinates::CoordinateMetadata> > osgeo::proj::coordinates::CoordinateMetadata::nn_make_shared<osgeo::proj::coordinates::CoordinateMetadata, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> >&, double>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> >&, double&&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::coordinates::CoordinateMetadata> > osgeo::proj::coordinates::CoordinateMetadata::nn_make_shared<osgeo::proj::coordinates::CoordinateMetadata, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> >&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> >&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::GeodeticCRS> > osgeo::proj::crs::GeodeticCRS::nn_make_shared<osgeo::proj::crs::GeodeticCRS, osgeo::proj::crs::GeodeticCRS const&>(osgeo::proj::crs::GeodeticCRS const&)
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::GeodeticCRS> > osgeo::proj::crs::GeodeticCRS::nn_make_shared<osgeo::proj::crs::GeodeticCRS, std::__1::shared_ptr<osgeo::proj::datum::GeodeticReferenceFrame> const&, std::__1::shared_ptr<osgeo::proj::datum::DatumEnsemble> const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::SphericalCS> > const&>(std::__1::shared_ptr<osgeo::proj::datum::GeodeticReferenceFrame> const&, std::__1::shared_ptr<osgeo::proj::datum::DatumEnsemble> const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::SphericalCS> > const&)
Line
Count
Source
138
239
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
239
        return util::nn_shared_ptr<T>(                                         \
140
239
            util::i_promise_i_checked_for_null,                                \
141
239
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
239
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::GeodeticCRS> > osgeo::proj::crs::GeodeticCRS::nn_make_shared<osgeo::proj::crs::GeodeticCRS, std::__1::shared_ptr<osgeo::proj::datum::GeodeticReferenceFrame> const&, std::__1::shared_ptr<osgeo::proj::datum::DatumEnsemble> const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CartesianCS> > const&>(std::__1::shared_ptr<osgeo::proj::datum::GeodeticReferenceFrame> const&, std::__1::shared_ptr<osgeo::proj::datum::DatumEnsemble> const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CartesianCS> > const&)
Line
Count
Source
138
9.96k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
9.96k
        return util::nn_shared_ptr<T>(                                         \
140
9.96k
            util::i_promise_i_checked_for_null,                                \
141
9.96k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
9.96k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::GeographicCRS> > osgeo::proj::crs::GeographicCRS::nn_make_shared<osgeo::proj::crs::GeographicCRS, osgeo::proj::crs::GeographicCRS const&>(osgeo::proj::crs::GeographicCRS const&)
Line
Count
Source
138
10
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
10
        return util::nn_shared_ptr<T>(                                         \
140
10
            util::i_promise_i_checked_for_null,                                \
141
10
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
10
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::GeographicCRS> > osgeo::proj::crs::GeographicCRS::nn_make_shared<osgeo::proj::crs::GeographicCRS, std::__1::shared_ptr<osgeo::proj::datum::GeodeticReferenceFrame> const&, std::__1::shared_ptr<osgeo::proj::datum::DatumEnsemble> const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::EllipsoidalCS> > const&>(std::__1::shared_ptr<osgeo::proj::datum::GeodeticReferenceFrame> const&, std::__1::shared_ptr<osgeo::proj::datum::DatumEnsemble> const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::EllipsoidalCS> > const&)
Line
Count
Source
138
103k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
103k
        return util::nn_shared_ptr<T>(                                         \
140
103k
            util::i_promise_i_checked_for_null,                                \
141
103k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
103k
    }
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::VerticalCRS> > osgeo::proj::crs::VerticalCRS::nn_make_shared<osgeo::proj::crs::VerticalCRS, osgeo::proj::crs::VerticalCRS const&>(osgeo::proj::crs::VerticalCRS const&)
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::VerticalCRS> > osgeo::proj::crs::VerticalCRS::nn_make_shared<osgeo::proj::crs::VerticalCRS, std::__1::shared_ptr<osgeo::proj::datum::VerticalReferenceFrame> const&, std::__1::shared_ptr<osgeo::proj::datum::DatumEnsemble> const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::VerticalCS> > const&>(std::__1::shared_ptr<osgeo::proj::datum::VerticalReferenceFrame> const&, std::__1::shared_ptr<osgeo::proj::datum::DatumEnsemble> const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::VerticalCS> > const&)
Line
Count
Source
138
13.6k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
13.6k
        return util::nn_shared_ptr<T>(                                         \
140
13.6k
            util::i_promise_i_checked_for_null,                                \
141
13.6k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
13.6k
    }
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::ProjectedCRS> > osgeo::proj::crs::ProjectedCRS::nn_make_shared<osgeo::proj::crs::ProjectedCRS, osgeo::proj::crs::ProjectedCRS const&>(osgeo::proj::crs::ProjectedCRS const&)
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::ProjectedCRS> > osgeo::proj::crs::ProjectedCRS::nn_make_shared<osgeo::proj::crs::ProjectedCRS, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::GeodeticCRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> > 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::operation::Conversion> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CartesianCS> > const&)
Line
Count
Source
138
10.7k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
10.7k
        return util::nn_shared_ptr<T>(                                         \
140
10.7k
            util::i_promise_i_checked_for_null,                                \
141
10.7k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
10.7k
    }
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CompoundCRS> > osgeo::proj::crs::CompoundCRS::nn_make_shared<osgeo::proj::crs::CompoundCRS, osgeo::proj::crs::CompoundCRS const&>(osgeo::proj::crs::CompoundCRS const&)
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CompoundCRS> > osgeo::proj::crs::CompoundCRS::nn_make_shared<osgeo::proj::crs::CompoundCRS, std::__1::vector<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> >, std::__1::allocator<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> > > > const&>(std::__1::vector<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> >, std::__1::allocator<dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> > > > const&)
Line
Count
Source
138
7.18k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
7.18k
        return util::nn_shared_ptr<T>(                                         \
140
7.18k
            util::i_promise_i_checked_for_null,                                \
141
7.18k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
7.18k
    }
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::BoundCRS> > osgeo::proj::crs::BoundCRS::nn_make_shared<osgeo::proj::crs::BoundCRS, osgeo::proj::crs::BoundCRS const&>(osgeo::proj::crs::BoundCRS const&)
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::BoundCRS> > osgeo::proj::crs::BoundCRS::nn_make_shared<osgeo::proj::crs::BoundCRS, 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
138
8.57k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
8.57k
        return util::nn_shared_ptr<T>(                                         \
140
8.57k
            util::i_promise_i_checked_for_null,                                \
141
8.57k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
8.57k
    }
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedGeodeticCRS> > osgeo::proj::crs::DerivedGeodeticCRS::nn_make_shared<osgeo::proj::crs::DerivedGeodeticCRS, osgeo::proj::crs::DerivedGeodeticCRS const&>(osgeo::proj::crs::DerivedGeodeticCRS const&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedGeodeticCRS> > osgeo::proj::crs::DerivedGeodeticCRS::nn_make_shared<osgeo::proj::crs::DerivedGeodeticCRS, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::GeodeticCRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> > 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::operation::Conversion> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CartesianCS> > const&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedGeodeticCRS> > osgeo::proj::crs::DerivedGeodeticCRS::nn_make_shared<osgeo::proj::crs::DerivedGeodeticCRS, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::GeodeticCRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::SphericalCS> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::GeodeticCRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::SphericalCS> > const&)
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedGeographicCRS> > osgeo::proj::crs::DerivedGeographicCRS::nn_make_shared<osgeo::proj::crs::DerivedGeographicCRS, osgeo::proj::crs::DerivedGeographicCRS const&>(osgeo::proj::crs::DerivedGeographicCRS const&)
Line
Count
Source
138
1
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
1
        return util::nn_shared_ptr<T>(                                         \
140
1
            util::i_promise_i_checked_for_null,                                \
141
1
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
1
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedGeographicCRS> > osgeo::proj::crs::DerivedGeographicCRS::nn_make_shared<osgeo::proj::crs::DerivedGeographicCRS, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::GeodeticCRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::EllipsoidalCS> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::GeodeticCRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::EllipsoidalCS> > const&)
Line
Count
Source
138
1.31k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
1.31k
        return util::nn_shared_ptr<T>(                                         \
140
1.31k
            util::i_promise_i_checked_for_null,                                \
141
1.31k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
1.31k
    }
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedProjectedCRS> > osgeo::proj::crs::DerivedProjectedCRS::nn_make_shared<osgeo::proj::crs::DerivedProjectedCRS, osgeo::proj::crs::DerivedProjectedCRS const&>(osgeo::proj::crs::DerivedProjectedCRS const&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedProjectedCRS> > osgeo::proj::crs::DerivedProjectedCRS::nn_make_shared<osgeo::proj::crs::DerivedProjectedCRS, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::ProjectedCRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystem> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::ProjectedCRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystem> > const&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::TemporalCRS> > osgeo::proj::crs::TemporalCRS::nn_make_shared<osgeo::proj::crs::TemporalCRS, osgeo::proj::crs::TemporalCRS const&>(osgeo::proj::crs::TemporalCRS const&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::TemporalCRS> > osgeo::proj::crs::TemporalCRS::nn_make_shared<osgeo::proj::crs::TemporalCRS, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::TemporalDatum> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::TemporalCS> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::TemporalDatum> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::TemporalCS> > const&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::EngineeringCRS> > osgeo::proj::crs::EngineeringCRS::nn_make_shared<osgeo::proj::crs::EngineeringCRS, osgeo::proj::crs::EngineeringCRS const&>(osgeo::proj::crs::EngineeringCRS const&)
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::EngineeringCRS> > osgeo::proj::crs::EngineeringCRS::nn_make_shared<osgeo::proj::crs::EngineeringCRS, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::EngineeringDatum> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystem> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::EngineeringDatum> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystem> > const&)
Line
Count
Source
138
295
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
295
        return util::nn_shared_ptr<T>(                                         \
140
295
            util::i_promise_i_checked_for_null,                                \
141
295
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
295
    }
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::ParametricCRS> > osgeo::proj::crs::ParametricCRS::nn_make_shared<osgeo::proj::crs::ParametricCRS, osgeo::proj::crs::ParametricCRS const&>(osgeo::proj::crs::ParametricCRS const&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::ParametricCRS> > osgeo::proj::crs::ParametricCRS::nn_make_shared<osgeo::proj::crs::ParametricCRS, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::ParametricDatum> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::ParametricCS> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::ParametricDatum> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::ParametricCS> > const&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedVerticalCRS> > osgeo::proj::crs::DerivedVerticalCRS::nn_make_shared<osgeo::proj::crs::DerivedVerticalCRS, osgeo::proj::crs::DerivedVerticalCRS const&>(osgeo::proj::crs::DerivedVerticalCRS const&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedVerticalCRS> > osgeo::proj::crs::DerivedVerticalCRS::nn_make_shared<osgeo::proj::crs::DerivedVerticalCRS, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::VerticalCRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::VerticalCS> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::VerticalCRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::VerticalCS> > const&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedEngineeringCRSTraits> > > osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedEngineeringCRSTraits>::nn_make_shared<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedEngineeringCRSTraits>, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::EngineeringCRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystem> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::EngineeringCRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystem> > const&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedEngineeringCRSTraits> > > osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedEngineeringCRSTraits>::nn_make_shared<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedEngineeringCRSTraits>, osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedEngineeringCRSTraits> const&>(osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedEngineeringCRSTraits> const&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedParametricCRSTraits> > > osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedParametricCRSTraits>::nn_make_shared<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedParametricCRSTraits>, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::ParametricCRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::ParametricCS> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::ParametricCRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::ParametricCS> > const&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedParametricCRSTraits> > > osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedParametricCRSTraits>::nn_make_shared<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedParametricCRSTraits>, osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedParametricCRSTraits> const&>(osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedParametricCRSTraits> const&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedTemporalCRSTraits> > > osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedTemporalCRSTraits>::nn_make_shared<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedTemporalCRSTraits>, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::TemporalCRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::TemporalCS> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::TemporalCRS> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::TemporalCS> > const&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedTemporalCRSTraits> > > osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedTemporalCRSTraits>::nn_make_shared<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedTemporalCRSTraits>, osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedTemporalCRSTraits> const&>(osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedTemporalCRSTraits> const&)
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::PrimeMeridian> > osgeo::proj::datum::PrimeMeridian::nn_make_shared<osgeo::proj::datum::PrimeMeridian, osgeo::proj::common::Angle const&>(osgeo::proj::common::Angle const&)
Line
Count
Source
138
10.4k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
10.4k
        return util::nn_shared_ptr<T>(                                         \
140
10.4k
            util::i_promise_i_checked_for_null,                                \
141
10.4k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
10.4k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::Ellipsoid> > osgeo::proj::datum::Ellipsoid::nn_make_shared<osgeo::proj::datum::Ellipsoid, 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
138
1.21k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
1.21k
        return util::nn_shared_ptr<T>(                                         \
140
1.21k
            util::i_promise_i_checked_for_null,                                \
141
1.21k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
1.21k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::Ellipsoid> > osgeo::proj::datum::Ellipsoid::nn_make_shared<osgeo::proj::datum::Ellipsoid, 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
138
9.41k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
9.41k
        return util::nn_shared_ptr<T>(                                         \
140
9.41k
            util::i_promise_i_checked_for_null,                                \
141
9.41k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
9.41k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::Ellipsoid> > osgeo::proj::datum::Ellipsoid::nn_make_shared<osgeo::proj::datum::Ellipsoid, 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
138
868
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
868
        return util::nn_shared_ptr<T>(                                         \
140
868
            util::i_promise_i_checked_for_null,                                \
141
868
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
868
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::Ellipsoid> > osgeo::proj::datum::Ellipsoid::nn_make_shared<osgeo::proj::datum::Ellipsoid, osgeo::proj::datum::Ellipsoid const&>(osgeo::proj::datum::Ellipsoid const&)
Line
Count
Source
138
464
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
464
        return util::nn_shared_ptr<T>(                                         \
140
464
            util::i_promise_i_checked_for_null,                                \
141
464
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
464
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::GeodeticReferenceFrame> > osgeo::proj::datum::GeodeticReferenceFrame::nn_make_shared<osgeo::proj::datum::GeodeticReferenceFrame, 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
138
333k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
333k
        return util::nn_shared_ptr<T>(                                         \
140
333k
            util::i_promise_i_checked_for_null,                                \
141
333k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
333k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::DynamicGeodeticReferenceFrame> > osgeo::proj::datum::DynamicGeodeticReferenceFrame::nn_make_shared<osgeo::proj::datum::DynamicGeodeticReferenceFrame, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::Ellipsoid> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::PrimeMeridian> > const&, osgeo::proj::common::Measure const&, osgeo::proj::util::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > 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&, osgeo::proj::common::Measure const&, osgeo::proj::util::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&)
Line
Count
Source
138
22.7k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
22.7k
        return util::nn_shared_ptr<T>(                                         \
140
22.7k
            util::i_promise_i_checked_for_null,                                \
141
22.7k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
22.7k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::DatumEnsemble> > osgeo::proj::datum::DatumEnsemble::nn_make_shared<osgeo::proj::datum::DatumEnsemble, 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
138
2.67k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
2.67k
        return util::nn_shared_ptr<T>(                                         \
140
2.67k
            util::i_promise_i_checked_for_null,                                \
141
2.67k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
2.67k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::VerticalReferenceFrame> > osgeo::proj::datum::VerticalReferenceFrame::nn_make_shared<osgeo::proj::datum::VerticalReferenceFrame, osgeo::proj::util::optional<osgeo::proj::datum::RealizationMethod> const&>(osgeo::proj::util::optional<osgeo::proj::datum::RealizationMethod> const&)
Line
Count
Source
138
8.34k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
8.34k
        return util::nn_shared_ptr<T>(                                         \
140
8.34k
            util::i_promise_i_checked_for_null,                                \
141
8.34k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
8.34k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::DynamicVerticalReferenceFrame> > osgeo::proj::datum::DynamicVerticalReferenceFrame::nn_make_shared<osgeo::proj::datum::DynamicVerticalReferenceFrame, osgeo::proj::util::optional<osgeo::proj::datum::RealizationMethod> const&, osgeo::proj::common::Measure const&, osgeo::proj::util::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&>(osgeo::proj::util::optional<osgeo::proj::datum::RealizationMethod> const&, osgeo::proj::common::Measure const&, osgeo::proj::util::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&)
Line
Count
Source
138
12
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
12
        return util::nn_shared_ptr<T>(                                         \
140
12
            util::i_promise_i_checked_for_null,                                \
141
12
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
12
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::TemporalDatum> > osgeo::proj::datum::TemporalDatum::nn_make_shared<osgeo::proj::datum::TemporalDatum, 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
138
15
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
15
        return util::nn_shared_ptr<T>(                                         \
140
15
            util::i_promise_i_checked_for_null,                                \
141
15
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
15
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::EngineeringDatum> > osgeo::proj::datum::EngineeringDatum::nn_make_shared<osgeo::proj::datum::EngineeringDatum>()
Line
Count
Source
138
316
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
316
        return util::nn_shared_ptr<T>(                                         \
140
316
            util::i_promise_i_checked_for_null,                                \
141
316
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
316
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::ParametricDatum> > osgeo::proj::datum::ParametricDatum::nn_make_shared<osgeo::proj::datum::ParametricDatum>()
Line
Count
Source
138
5
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
5
        return util::nn_shared_ptr<T>(                                         \
140
5
            util::i_promise_i_checked_for_null,                                \
141
5
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
5
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::Meridian> > osgeo::proj::cs::Meridian::nn_make_shared<osgeo::proj::cs::Meridian, osgeo::proj::common::Angle const&>(osgeo::proj::common::Angle const&)
Line
Count
Source
138
276
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
276
        return util::nn_shared_ptr<T>(                                         \
140
276
            util::i_promise_i_checked_for_null,                                \
141
276
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
276
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > osgeo::proj::cs::CoordinateSystemAxis::nn_make_shared<osgeo::proj::cs::CoordinateSystemAxis>()
Line
Count
Source
138
199k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
199k
        return util::nn_shared_ptr<T>(                                         \
140
199k
            util::i_promise_i_checked_for_null,                                \
141
199k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
199k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::SphericalCS> > osgeo::proj::cs::SphericalCS::nn_make_shared<osgeo::proj::cs::SphericalCS, 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> > > >&>(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> > > >&)
Line
Count
Source
138
223
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
223
        return util::nn_shared_ptr<T>(                                         \
140
223
            util::i_promise_i_checked_for_null,                                \
141
223
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
223
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::EllipsoidalCS> > osgeo::proj::cs::EllipsoidalCS::nn_make_shared<osgeo::proj::cs::EllipsoidalCS, 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> > > >&>(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> > > >&)
Line
Count
Source
138
89.5k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
89.5k
        return util::nn_shared_ptr<T>(                                         \
140
89.5k
            util::i_promise_i_checked_for_null,                                \
141
89.5k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
89.5k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::VerticalCS> > osgeo::proj::cs::VerticalCS::nn_make_shared<osgeo::proj::cs::VerticalCS, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&)
Line
Count
Source
138
605
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
605
        return util::nn_shared_ptr<T>(                                         \
140
605
            util::i_promise_i_checked_for_null,                                \
141
605
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
605
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::VerticalCS> > osgeo::proj::cs::VerticalCS::nn_make_shared<osgeo::proj::cs::VerticalCS, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > >(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> >&&)
Line
Count
Source
138
12.3k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
12.3k
        return util::nn_shared_ptr<T>(                                         \
140
12.3k
            util::i_promise_i_checked_for_null,                                \
141
12.3k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
12.3k
    }
dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CartesianCS> > osgeo::proj::cs::CartesianCS::nn_make_shared<osgeo::proj::cs::CartesianCS, 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> > > >&>(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> > > >&)
Line
Count
Source
138
13.7k
    static util::nn_shared_ptr<T> nn_make_shared(Args &&...args) {             \
139
13.7k
        return util::nn_shared_ptr<T>(                                         \
140
13.7k
            util::i_promise_i_checked_for_null,                                \
141
13.7k
            std::shared_ptr<T>(new T(std::forward<Args>(args)...)));           \
142
13.7k
    }
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::AffineCS> > osgeo::proj::cs::AffineCS::nn_make_shared<osgeo::proj::cs::AffineCS, 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> > > >&>(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> > > >&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::OrdinalCS> > osgeo::proj::cs::OrdinalCS::nn_make_shared<osgeo::proj::cs::OrdinalCS, 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&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::ParametricCS> > osgeo::proj::cs::ParametricCS::nn_make_shared<osgeo::proj::cs::ParametricCS, 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> > > > >(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> > > >&&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::DateTimeTemporalCS> > osgeo::proj::cs::DateTimeTemporalCS::nn_make_shared<osgeo::proj::cs::DateTimeTemporalCS, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::TemporalCountCS> > osgeo::proj::cs::TemporalCountCS::nn_make_shared<osgeo::proj::cs::TemporalCountCS, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&)
Unexecuted instantiation: dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::TemporalMeasureCS> > osgeo::proj::cs::TemporalMeasureCS::nn_make_shared<osgeo::proj::cs::TemporalMeasureCS, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> > const&)
143
144
// To include in the protected/private section of a class definition,
145
// to be able to call make_unique on a protected/private constructor
146
#define INLINED_MAKE_UNIQUE                                                    \
147
    template <typename T, typename... Args>                                    \
148
374k
    static std::unique_ptr<T> make_unique(Args &&...args) {                    \
149
374k
        return std::unique_ptr<T>(new T(std::forward<Args>(args)...));         \
150
374k
    }
std::__1::unique_ptr<osgeo::proj::operation::CoordinateOperationContext, std::__1::default_delete<osgeo::proj::operation::CoordinateOperationContext> > osgeo::proj::operation::CoordinateOperationContext::make_unique<osgeo::proj::operation::CoordinateOperationContext>()
Line
Count
Source
148
16.2k
    static std::unique_ptr<T> make_unique(Args &&...args) {                    \
149
16.2k
        return std::unique_ptr<T>(new T(std::forward<Args>(args)...));         \
150
16.2k
    }
std::__1::unique_ptr<osgeo::proj::operation::CoordinateOperationContext, std::__1::default_delete<osgeo::proj::operation::CoordinateOperationContext> > osgeo::proj::operation::CoordinateOperationContext::make_unique<osgeo::proj::operation::CoordinateOperationContext, osgeo::proj::operation::CoordinateOperationContext const&>(osgeo::proj::operation::CoordinateOperationContext const&)
Line
Count
Source
148
32
    static std::unique_ptr<T> make_unique(Args &&...args) {                    \
149
32
        return std::unique_ptr<T>(new T(std::forward<Args>(args)...));         \
150
32
    }
std::__1::unique_ptr<osgeo::proj::operation::CoordinateOperationFactory, std::__1::default_delete<osgeo::proj::operation::CoordinateOperationFactory> > osgeo::proj::operation::CoordinateOperationFactory::make_unique<osgeo::proj::operation::CoordinateOperationFactory>()
Line
Count
Source
148
11.3k
    static std::unique_ptr<T> make_unique(Args &&...args) {                    \
149
11.3k
        return std::unique_ptr<T>(new T(std::forward<Args>(args)...));         \
150
11.3k
    }
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::operation::CoordinateTransformer, std::__1::default_delete<osgeo::proj::operation::CoordinateTransformer> > osgeo::proj::operation::CoordinateTransformer::make_unique<osgeo::proj::operation::CoordinateTransformer>()
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::io::WKTFormatter, std::__1::default_delete<osgeo::proj::io::WKTFormatter> > osgeo::proj::io::WKTFormatter::make_unique<osgeo::proj::io::WKTFormatter, osgeo::proj::io::WKTFormatter::Convention&>(osgeo::proj::io::WKTFormatter::Convention&)
std::__1::unique_ptr<osgeo::proj::io::PROJStringFormatter, std::__1::default_delete<osgeo::proj::io::PROJStringFormatter> > osgeo::proj::io::PROJStringFormatter::make_unique<osgeo::proj::io::PROJStringFormatter, osgeo::proj::io::PROJStringFormatter::Convention&, std::__1::shared_ptr<osgeo::proj::io::DatabaseContext>&>(osgeo::proj::io::PROJStringFormatter::Convention&, std::__1::shared_ptr<osgeo::proj::io::DatabaseContext>&)
Line
Count
Source
148
347k
    static std::unique_ptr<T> make_unique(Args &&...args) {                    \
149
347k
        return std::unique_ptr<T>(new T(std::forward<Args>(args)...));         \
150
347k
    }
Unexecuted instantiation: std::__1::unique_ptr<osgeo::proj::io::JSONFormatter, std::__1::default_delete<osgeo::proj::io::JSONFormatter> > osgeo::proj::io::JSONFormatter::make_unique<osgeo::proj::io::JSONFormatter>()
151
152
#ifdef DOXYGEN_ENABLED
153
#define PROJ_FRIEND(mytype)
154
#define PROJ_FRIEND_OPTIONAL(mytype)
155
#else
156
#define PROJ_FRIEND(mytype) friend class mytype
157
#define PROJ_FRIEND_OPTIONAL(mytype) friend class util::optional<mytype>
158
#endif
159
160
#ifndef PROJ_PRIVATE
161
#define PROJ_PRIVATE public
162
#endif
163
164
#if defined(__GNUC__)
165
#define PROJ_NO_INLINE __attribute__((noinline))
166
#define PROJ_NO_RETURN __attribute__((noreturn))
167
// Applies to a function that has no side effect.
168
#define PROJ_PURE_DECL const noexcept __attribute__((pure))
169
#else
170
#define PROJ_NO_RETURN
171
#define PROJ_NO_INLINE
172
#define PROJ_PURE_DECL const noexcept
173
#endif
174
#define PROJ_PURE_DEFN const noexcept
175
176
//! @endcond
177
178
NS_PROJ_START
179
180
//! @cond Doxygen_Suppress
181
namespace io {
182
class DatabaseContext;
183
using DatabaseContextPtr = std::shared_ptr<DatabaseContext>;
184
} // namespace io
185
//! @endcond
186
187
/** osgeo.proj.util namespace.
188
 *
189
 * \brief A set of base types from ISO 19103, \ref GeoAPI and other PROJ
190
 * specific classes.
191
 */
192
namespace util {
193
194
//! @cond Doxygen_Suppress
195
// Import a few classes from nn.hpp to expose them under our ::util namespace
196
// for conveniency.
197
using ::dropbox::oxygen::i_promise_i_checked_for_null;
198
using ::dropbox::oxygen::nn;
199
using ::dropbox::oxygen::nn_dynamic_pointer_cast;
200
using ::dropbox::oxygen::nn_make_shared;
201
202
// For return statements, to convert from derived type to base type
203
using ::dropbox::oxygen::nn_static_pointer_cast;
204
205
template <typename T> using nn_shared_ptr = nn<std::shared_ptr<T>>;
206
207
// Possible implementation of C++14 std::remove_reference_t
208
// (cf https://en.cppreference.com/w/cpp/types/remove_cv)
209
template <class T>
210
using remove_reference_t = typename std::remove_reference<T>::type;
211
212
// Possible implementation of C++14 std::remove_cv_t
213
// (cf https://en.cppreference.com/w/cpp/types/remove_cv)
214
template <class T> using remove_cv_t = typename std::remove_cv<T>::type;
215
216
// Possible implementation of C++20 std::remove_cvref
217
// (cf https://en.cppreference.com/w/cpp/types/remove_cvref)
218
template <class T> struct remove_cvref {
219
    typedef remove_cv_t<remove_reference_t<T>> type;
220
};
221
222
#define NN_NO_CHECK(p)                                                         \
223
9.34M
    ::dropbox::oxygen::nn<                                                     \
224
9.34M
        typename ::NS_PROJ::util::remove_cvref<decltype(p)>::type>(            \
225
9.34M
        ::dropbox::oxygen::i_promise_i_checked_for_null, (p))
226
227
//! @endcond
228
229
// To avoid formatting differences between clang-format 3.8 and 7
230
#define PROJ_NOEXCEPT noexcept
231
232
//! @cond Doxygen_Suppress
233
// isOfExactType<MyType>(*p) checks that the type of *p is exactly MyType
234
template <typename TemplateT, typename ObjectT>
235
808k
inline bool isOfExactType(const ObjectT &o) {
236
808k
    return typeid(TemplateT).hash_code() == typeid(o).hash_code();
237
808k
}
bool osgeo::proj::util::isOfExactType<osgeo::proj::crs::DerivedGeographicCRS, osgeo::proj::crs::GeographicCRS>(osgeo::proj::crs::GeographicCRS const&)
Line
Count
Source
235
338k
inline bool isOfExactType(const ObjectT &o) {
236
338k
    return typeid(TemplateT).hash_code() == typeid(o).hash_code();
237
338k
}
bool osgeo::proj::util::isOfExactType<osgeo::proj::crs::GeodeticCRS, osgeo::proj::util::IComparable>(osgeo::proj::util::IComparable const&)
Line
Count
Source
235
49.5k
inline bool isOfExactType(const ObjectT &o) {
236
49.5k
    return typeid(TemplateT).hash_code() == typeid(o).hash_code();
237
49.5k
}
bool osgeo::proj::util::isOfExactType<osgeo::proj::crs::GeographicCRS, osgeo::proj::util::IComparable>(osgeo::proj::util::IComparable const&)
Line
Count
Source
235
386k
inline bool isOfExactType(const ObjectT &o) {
236
386k
    return typeid(TemplateT).hash_code() == typeid(o).hash_code();
237
386k
}
bool osgeo::proj::util::isOfExactType<osgeo::proj::crs::VerticalCRS, osgeo::proj::crs::VerticalCRS>(osgeo::proj::crs::VerticalCRS const&)
Line
Count
Source
235
32.1k
inline bool isOfExactType(const ObjectT &o) {
236
32.1k
    return typeid(TemplateT).hash_code() == typeid(o).hash_code();
237
32.1k
}
bool osgeo::proj::util::isOfExactType<osgeo::proj::crs::ProjectedCRS, osgeo::proj::util::IComparable>(osgeo::proj::util::IComparable const&)
Line
Count
Source
235
24
inline bool isOfExactType(const ObjectT &o) {
236
24
    return typeid(TemplateT).hash_code() == typeid(o).hash_code();
237
24
}
bool osgeo::proj::util::isOfExactType<osgeo::proj::datum::GeodeticReferenceFrame, osgeo::proj::util::IComparable>(osgeo::proj::util::IComparable const&)
Line
Count
Source
235
1.27k
inline bool isOfExactType(const ObjectT &o) {
236
1.27k
    return typeid(TemplateT).hash_code() == typeid(o).hash_code();
237
1.27k
}
bool osgeo::proj::util::isOfExactType<osgeo::proj::datum::DynamicGeodeticReferenceFrame, osgeo::proj::util::IComparable>(osgeo::proj::util::IComparable const&)
Line
Count
Source
235
2
inline bool isOfExactType(const ObjectT &o) {
236
2
    return typeid(TemplateT).hash_code() == typeid(o).hash_code();
237
2
}
bool osgeo::proj::util::isOfExactType<osgeo::proj::datum::VerticalReferenceFrame, osgeo::proj::util::IComparable>(osgeo::proj::util::IComparable const&)
Line
Count
Source
235
1.68k
inline bool isOfExactType(const ObjectT &o) {
236
1.68k
    return typeid(TemplateT).hash_code() == typeid(o).hash_code();
237
1.68k
}
Unexecuted instantiation: bool osgeo::proj::util::isOfExactType<osgeo::proj::datum::DynamicVerticalReferenceFrame, osgeo::proj::util::IComparable>(osgeo::proj::util::IComparable const&)
238
//! @endcond
239
240
/** \brief Loose transposition of [std::optional]
241
 * (https://en.cppreference.com/w/cpp/utility/optional) available from C++17. */
242
template <class T> class optional {
243
  public:
244
    //! @cond Doxygen_Suppress
245
58.7M
    inline optional() : hasVal_(false) {}
osgeo::proj::util::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::optional()
Line
Count
Source
245
46.5M
    inline optional() : hasVal_(false) {}
osgeo::proj::util::optional<osgeo::proj::datum::RealizationMethod>::optional()
Line
Count
Source
245
16.7k
    inline optional() : hasVal_(false) {}
osgeo::proj::util::optional<osgeo::proj::common::DataEpoch>::optional()
Line
Count
Source
245
1.76M
    inline optional() : hasVal_(false) {}
osgeo::proj::util::optional<osgeo::proj::metadata::Citation>::optional()
Line
Count
Source
245
9.01M
    inline optional() : hasVal_(false) {}
osgeo::proj::util::optional<osgeo::proj::common::Measure>::optional()
Line
Count
Source
245
366k
    inline optional() : hasVal_(false) {}
osgeo::proj::util::optional<osgeo::proj::common::DateTime>::optional()
Line
Count
Source
245
364k
    inline optional() : hasVal_(false) {}
osgeo::proj::util::optional<osgeo::proj::common::Scale>::optional()
Line
Count
Source
245
2.08k
    inline optional() : hasVal_(false) {}
osgeo::proj::util::optional<osgeo::proj::common::Length>::optional()
Line
Count
Source
245
22.1k
    inline optional() : hasVal_(false) {}
osgeo::proj::util::optional<osgeo::proj::cs::RangeMeaning>::optional()
Line
Count
Source
245
199k
    inline optional() : hasVal_(false) {}
osgeo::proj::util::optional<double>::optional()
Line
Count
Source
245
398k
    inline optional() : hasVal_(false) {}
246
246k
    inline explicit optional(const T &val) : hasVal_(true), val_(val) {}
osgeo::proj::util::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::optional(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Line
Count
Source
246
236k
    inline explicit optional(const T &val) : hasVal_(true), val_(val) {}
osgeo::proj::util::optional<osgeo::proj::common::DataEpoch>::optional(osgeo::proj::common::DataEpoch const&)
Line
Count
Source
246
61
    inline explicit optional(const T &val) : hasVal_(true), val_(val) {}
osgeo::proj::util::optional<osgeo::proj::common::Scale>::optional(osgeo::proj::common::Scale const&)
Line
Count
Source
246
9.41k
    inline explicit optional(const T &val) : hasVal_(true), val_(val) {}
osgeo::proj::util::optional<osgeo::proj::common::Length>::optional(osgeo::proj::common::Length const&)
Line
Count
Source
246
868
    inline explicit optional(const T &val) : hasVal_(true), val_(val) {}
Unexecuted instantiation: osgeo::proj::util::optional<osgeo::proj::cs::RangeMeaning>::optional(osgeo::proj::cs::RangeMeaning const&)
247
    inline explicit optional(T &&val)
248
565
        : hasVal_(true), val_(std::forward<T>(val)) {}
osgeo::proj::util::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::optional(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&)
Line
Count
Source
248
2
        : hasVal_(true), val_(std::forward<T>(val)) {}
Unexecuted instantiation: osgeo::proj::util::optional<osgeo::proj::common::DataEpoch>::optional(osgeo::proj::common::DataEpoch&&)
osgeo::proj::util::optional<osgeo::proj::common::Measure>::optional(osgeo::proj::common::Measure&&)
Line
Count
Source
248
563
        : hasVal_(true), val_(std::forward<T>(val)) {}
249
250
639k
    inline optional(const optional &) = default;
osgeo::proj::util::optional<osgeo::proj::common::DataEpoch>::optional(osgeo::proj::util::optional<osgeo::proj::common::DataEpoch> const&)
Line
Count
Source
250
100k
    inline optional(const optional &) = default;
osgeo::proj::util::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::optional(osgeo::proj::util::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&)
Line
Count
Source
250
534k
    inline optional(const optional &) = default;
Unexecuted instantiation: osgeo::proj::util::optional<osgeo::proj::metadata::Citation>::optional(osgeo::proj::util::optional<osgeo::proj::metadata::Citation> const&)
osgeo::proj::util::optional<osgeo::proj::common::Measure>::optional(osgeo::proj::util::optional<osgeo::proj::common::Measure> const&)
Line
Count
Source
250
2.25k
    inline optional(const optional &) = default;
osgeo::proj::util::optional<osgeo::proj::common::Scale>::optional(osgeo::proj::util::optional<osgeo::proj::common::Scale> const&)
Line
Count
Source
250
464
    inline optional(const optional &) = default;
osgeo::proj::util::optional<osgeo::proj::common::Length>::optional(osgeo::proj::util::optional<osgeo::proj::common::Length> const&)
Line
Count
Source
250
928
    inline optional(const optional &) = default;
251
    inline optional(optional &&other) PROJ_NOEXCEPT
252
        : hasVal_(other.hasVal_),
253
          // cppcheck-suppress functionStatic
254
          val_(std::forward<T>(other.val_)) {
255
        other.hasVal_ = false;
256
    }
257
258
5.53M
    inline optional &operator=(const T &val) {
259
5.53M
        hasVal_ = true;
260
5.53M
        val_ = val;
261
5.53M
        return *this;
262
5.53M
    }
osgeo::proj::util::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
Line
Count
Source
258
5.53M
    inline optional &operator=(const T &val) {
259
5.53M
        hasVal_ = true;
260
5.53M
        val_ = val;
261
5.53M
        return *this;
262
5.53M
    }
Unexecuted instantiation: osgeo::proj::util::optional<osgeo::proj::metadata::Citation>::operator=(osgeo::proj::metadata::Citation const&)
Unexecuted instantiation: osgeo::proj::util::optional<osgeo::proj::datum::RealizationMethod>::operator=(osgeo::proj::datum::RealizationMethod const&)
263
29.6k
    inline optional &operator=(T &&val) noexcept {
264
29.6k
        hasVal_ = true;
265
29.6k
        val_ = std::forward<T>(val);
266
29.6k
        return *this;
267
29.6k
    }
osgeo::proj::util::optional<osgeo::proj::metadata::Citation>::operator=(osgeo::proj::metadata::Citation&&)
Line
Count
Source
263
1.55k
    inline optional &operator=(T &&val) noexcept {
264
1.55k
        hasVal_ = true;
265
1.55k
        val_ = std::forward<T>(val);
266
1.55k
        return *this;
267
1.55k
    }
osgeo::proj::util::optional<osgeo::proj::common::DateTime>::operator=(osgeo::proj::common::DateTime&&)
Line
Count
Source
263
27.9k
    inline optional &operator=(T &&val) noexcept {
264
27.9k
        hasVal_ = true;
265
27.9k
        val_ = std::forward<T>(val);
266
27.9k
        return *this;
267
27.9k
    }
osgeo::proj::util::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&)
Line
Count
Source
263
58
    inline optional &operator=(T &&val) noexcept {
264
58
        hasVal_ = true;
265
58
        val_ = std::forward<T>(val);
266
58
        return *this;
267
58
    }
Unexecuted instantiation: osgeo::proj::util::optional<double>::operator=(double&&)
268
667k
    inline optional &operator=(const optional &) = default;
osgeo::proj::util::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator=(osgeo::proj::util::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&)
Line
Count
Source
268
667k
    inline optional &operator=(const optional &) = default;
osgeo::proj::util::optional<osgeo::proj::cs::RangeMeaning>::operator=(osgeo::proj::util::optional<osgeo::proj::cs::RangeMeaning> const&)
Line
Count
Source
268
67
    inline optional &operator=(const optional &) = default;
269
0
    inline optional &operator=(optional &&other) noexcept {
270
0
        hasVal_ = other.hasVal_;
271
0
        val_ = std::forward<T>(other.val_);
272
0
        other.hasVal_ = false;
273
0
        return *this;
274
0
    }
275
276
2.99M
    inline T *operator->() { return &val_; }
osgeo::proj::util::optional<osgeo::proj::common::DataEpoch>::operator->()
Line
Count
Source
276
39
    inline T *operator->() { return &val_; }
Unexecuted instantiation: osgeo::proj::util::optional<osgeo::proj::common::Measure>::operator->()
osgeo::proj::util::optional<osgeo::proj::common::Scale>::operator->()
Line
Count
Source
276
2.65M
    inline T *operator->() { return &val_; }
osgeo::proj::util::optional<osgeo::proj::common::Length>::operator->()
Line
Count
Source
276
337k
    inline T *operator->() { return &val_; }
Unexecuted instantiation: osgeo::proj::util::optional<osgeo::proj::cs::RangeMeaning>::operator->()
277
574k
    inline T &operator*() { return val_; }
Unexecuted instantiation: osgeo::proj::util::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator*()
osgeo::proj::util::optional<osgeo::proj::common::Length>::operator*()
Line
Count
Source
277
574k
    inline T &operator*() { return val_; }
Unexecuted instantiation: osgeo::proj::util::optional<double>::operator*()
278
279
    //! @endcond
280
281
    /** Returns a pointer to the contained value. */
282
1.37M
    inline const T *operator->() const { return &val_; }
osgeo::proj::util::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator->() const
Line
Count
Source
282
387k
    inline const T *operator->() const { return &val_; }
osgeo::proj::util::optional<osgeo::proj::common::DateTime>::operator->() const
Line
Count
Source
282
17.9k
    inline const T *operator->() const { return &val_; }
Unexecuted instantiation: osgeo::proj::util::optional<osgeo::proj::common::Measure>::operator->() const
osgeo::proj::util::optional<osgeo::proj::common::DataEpoch>::operator->() const
Line
Count
Source
282
151
    inline const T *operator->() const { return &val_; }
Unexecuted instantiation: osgeo::proj::util::optional<osgeo::proj::metadata::Citation>::operator->() const
osgeo::proj::util::optional<osgeo::proj::common::Scale>::operator->() const
Line
Count
Source
282
834k
    inline const T *operator->() const { return &val_; }
osgeo::proj::util::optional<osgeo::proj::common::Length>::operator->() const
Line
Count
Source
282
123k
    inline const T *operator->() const { return &val_; }
osgeo::proj::util::optional<osgeo::proj::datum::RealizationMethod>::operator->() const
Line
Count
Source
282
8.35k
    inline const T *operator->() const { return &val_; }
283
284
    /** Returns a reference to the contained value. */
285
27.5M
    inline const T &operator*() const { return val_; }
osgeo::proj::util::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator*() const
Line
Count
Source
285
26.5M
    inline const T &operator*() const { return val_; }
Unexecuted instantiation: osgeo::proj::util::optional<osgeo::proj::common::DataEpoch>::operator*() const
osgeo::proj::util::optional<osgeo::proj::common::Length>::operator*() const
Line
Count
Source
285
124k
    inline const T &operator*() const { return val_; }
osgeo::proj::util::optional<osgeo::proj::common::Scale>::operator*() const
Line
Count
Source
285
834k
    inline const T &operator*() const { return val_; }
Unexecuted instantiation: osgeo::proj::util::optional<osgeo::proj::datum::RealizationMethod>::operator*() const
286
287
    /** Return whether the optional has a value */
288
0
    inline explicit operator bool() const noexcept { return hasVal_; }
289
290
    /** Return whether the optional has a value */
291
14.1M
    inline bool has_value() const noexcept { return hasVal_; }
osgeo::proj::util::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::has_value() const
Line
Count
Source
291
1.46M
    inline bool has_value() const noexcept { return hasVal_; }
osgeo::proj::util::optional<osgeo::proj::common::Length>::has_value() const
Line
Count
Source
291
7.00M
    inline bool has_value() const noexcept { return hasVal_; }
osgeo::proj::util::optional<osgeo::proj::common::DateTime>::has_value() const
Line
Count
Source
291
36.4k
    inline bool has_value() const noexcept { return hasVal_; }
Unexecuted instantiation: osgeo::proj::util::optional<osgeo::proj::common::Measure>::has_value() const
osgeo::proj::util::optional<osgeo::proj::common::DataEpoch>::has_value() const
Line
Count
Source
291
563k
    inline bool has_value() const noexcept { return hasVal_; }
Unexecuted instantiation: osgeo::proj::util::optional<osgeo::proj::metadata::Citation>::has_value() const
osgeo::proj::util::optional<osgeo::proj::common::Scale>::has_value() const
Line
Count
Source
291
4.84M
    inline bool has_value() const noexcept { return hasVal_; }
osgeo::proj::util::optional<osgeo::proj::datum::RealizationMethod>::has_value() const
Line
Count
Source
291
187k
    inline bool has_value() const noexcept { return hasVal_; }
Unexecuted instantiation: osgeo::proj::util::optional<double>::has_value() const
Unexecuted instantiation: osgeo::proj::util::optional<osgeo::proj::cs::RangeMeaning>::has_value() const
292
293
  private:
294
    bool hasVal_;
295
    T val_{};
296
};
297
298
// ---------------------------------------------------------------------------
299
300
class BaseObject;
301
/** Shared pointer of BaseObject. */
302
using BaseObjectPtr = std::shared_ptr<BaseObject>;
303
#if 1
304
/** Non-null shared pointer of BaseObject. */
305
struct BaseObjectNNPtr : public util::nn<BaseObjectPtr> {
306
    // This trick enables to avoid inlining of the destructor.
307
    // This is mostly an alias of the base class.
308
    //! @cond Doxygen_Suppress
309
    template <class T>
310
    // cppcheck-suppress noExplicitConstructor
311
    BaseObjectNNPtr(const util::nn<std::shared_ptr<T>> &x)
312
11.5M
        : util::nn<BaseObjectPtr>(x) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::util::BoxedValue>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::util::BoxedValue> > const&)
Line
Count
Source
312
7.72M
        : util::nn<BaseObjectPtr>(x) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::common::ObjectDomain>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::common::ObjectDomain> > const&)
Line
Count
Source
312
852k
        : util::nn<BaseObjectPtr>(x) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::operation::Conversion>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> > const&)
Line
Count
Source
312
197k
        : util::nn<BaseObjectPtr>(x) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::CRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> > const&)
Line
Count
Source
312
5
        : util::nn<BaseObjectPtr>(x) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::datum::Ellipsoid>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::Ellipsoid> > const&)
Line
Count
Source
312
1.59k
        : util::nn<BaseObjectPtr>(x) {}
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::datum::PrimeMeridian>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::PrimeMeridian> > const&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::SingleCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::SingleCRS> > const&)
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::GeographicCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::GeographicCRS> > const&)
Line
Count
Source
312
105k
        : util::nn<BaseObjectPtr>(x) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::GeodeticCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::GeodeticCRS> > const&)
Line
Count
Source
312
10.2k
        : util::nn<BaseObjectPtr>(x) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::DerivedGeographicCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedGeographicCRS> > const&)
Line
Count
Source
312
1.31k
        : util::nn<BaseObjectPtr>(x) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::VerticalCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::VerticalCRS> > const&)
Line
Count
Source
312
13.6k
        : util::nn<BaseObjectPtr>(x) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::CompoundCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CompoundCRS> > const&)
Line
Count
Source
312
7.18k
        : util::nn<BaseObjectPtr>(x) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::common::IdentifiedObject>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::common::IdentifiedObject> > const&)
Line
Count
Source
312
22.0k
        : util::nn<BaseObjectPtr>(x) {}
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::datum::Datum>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::Datum> > const&)
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::cs::CoordinateSystem>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystem> > const&)
Line
Count
Source
312
2.41k
        : util::nn<BaseObjectPtr>(x) {}
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::operation::CoordinateOperation>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::CoordinateOperation> > const&)
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::operation::ConcatenatedOperation>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::ConcatenatedOperation> > const&)
Line
Count
Source
312
164k
        : util::nn<BaseObjectPtr>(x) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::operation::InverseConversion>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::InverseConversion> > const&)
Line
Count
Source
312
30.2k
        : util::nn<BaseObjectPtr>(x) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::operation::PROJBasedOperation>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::PROJBasedOperation> > const&)
Line
Count
Source
312
104k
        : util::nn<BaseObjectPtr>(x) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::operation::OperationMethod>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::OperationMethod> > const&)
Line
Count
Source
312
692k
        : util::nn<BaseObjectPtr>(x) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::operation::OperationParameter>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::OperationParameter> > const&)
Line
Count
Source
312
781k
        : util::nn<BaseObjectPtr>(x) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::operation::PointMotionOperation>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::PointMotionOperation> > const&)
Line
Count
Source
312
82
        : util::nn<BaseObjectPtr>(x) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::operation::Transformation>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Transformation> > const&)
Line
Count
Source
312
440k
        : util::nn<BaseObjectPtr>(x) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::operation::InverseTransformation>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::InverseTransformation> > const&)
Line
Count
Source
312
65.8k
        : util::nn<BaseObjectPtr>(x) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::metadata::Extent>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::metadata::Extent> > const&)
Line
Count
Source
312
278k
        : util::nn<BaseObjectPtr>(x) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::coordinates::CoordinateMetadata>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::coordinates::CoordinateMetadata> > const&)
Line
Count
Source
312
63
        : util::nn<BaseObjectPtr>(x) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::ProjectedCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::ProjectedCRS> > const&)
Line
Count
Source
312
10.7k
        : util::nn<BaseObjectPtr>(x) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::BoundCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::BoundCRS> > const&)
Line
Count
Source
312
8.57k
        : util::nn<BaseObjectPtr>(x) {}
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::DerivedGeodeticCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedGeodeticCRS> > const&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::DerivedProjectedCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedProjectedCRS> > const&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::TemporalCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::TemporalCRS> > const&)
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::EngineeringCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::EngineeringCRS> > const&)
Line
Count
Source
312
295
        : util::nn<BaseObjectPtr>(x) {}
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::ParametricCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::ParametricCRS> > const&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::DerivedVerticalCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedVerticalCRS> > const&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedEngineeringCRSTraits> >(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedEngineeringCRSTraits> > > const&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedParametricCRSTraits> >(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedParametricCRSTraits> > > const&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedTemporalCRSTraits> >(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedTemporalCRSTraits> > > const&)
313
314
    template <class T>
315
    // cppcheck-suppress noExplicitConstructor
316
    BaseObjectNNPtr(util::nn<std::shared_ptr<T>> &&x) noexcept
317
817k
        : util::nn<BaseObjectPtr>(NN_NO_CHECK(std::move(x.as_nullable()))) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::util::BaseObject>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::util::BaseObject> >&&)
Line
Count
Source
317
541k
        : util::nn<BaseObjectPtr>(NN_NO_CHECK(std::move(x.as_nullable()))) {}
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::util::BoxedValue>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::util::BoxedValue> >&&)
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::common::IdentifiedObject>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::common::IdentifiedObject> >&&)
Line
Count
Source
317
2.24k
        : util::nn<BaseObjectPtr>(NN_NO_CHECK(std::move(x.as_nullable()))) {}
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::BoundCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::BoundCRS> >&&)
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::CRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CRS> >&&)
Line
Count
Source
317
18.8k
        : util::nn<BaseObjectPtr>(NN_NO_CHECK(std::move(x.as_nullable()))) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::datum::GeodeticReferenceFrame>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::GeodeticReferenceFrame> >&&)
Line
Count
Source
317
26
        : util::nn<BaseObjectPtr>(NN_NO_CHECK(std::move(x.as_nullable()))) {}
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::datum::DatumEnsemble>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::DatumEnsemble> >&&)
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::operation::SingleOperation>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::SingleOperation> >&&)
Line
Count
Source
317
1.52k
        : util::nn<BaseObjectPtr>(NN_NO_CHECK(std::move(x.as_nullable()))) {}
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::GeographicCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::GeographicCRS> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::ProjectedCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::ProjectedCRS> >&&)
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::coordinates::CoordinateMetadata>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::coordinates::CoordinateMetadata> >&&)
Line
Count
Source
317
61
        : util::nn<BaseObjectPtr>(NN_NO_CHECK(std::move(x.as_nullable()))) {}
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::EngineeringCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::EngineeringCRS> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::operation::Conversion>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Conversion> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::operation::Transformation>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Transformation> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::cs::CartesianCS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CartesianCS> >&&)
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::cs::EllipsoidalCS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::EllipsoidalCS> >&&)
Line
Count
Source
317
1.59k
        : util::nn<BaseObjectPtr>(NN_NO_CHECK(std::move(x.as_nullable()))) {}
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::cs::VerticalCS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::VerticalCS> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::cs::ParametricCS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::ParametricCS> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::cs::OrdinalCS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::OrdinalCS> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::cs::DateTimeTemporalCS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::DateTimeTemporalCS> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::cs::TemporalCountCS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::TemporalCountCS> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::cs::TemporalMeasureCS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::TemporalMeasureCS> >&&)
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::datum::Datum>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::Datum> >&&)
Line
Count
Source
317
1.59k
        : util::nn<BaseObjectPtr>(NN_NO_CHECK(std::move(x.as_nullable()))) {}
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::operation::CoordinateOperation>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::CoordinateOperation> >&&)
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::metadata::Identifier>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::metadata::Identifier> >&&)
Line
Count
Source
317
249k
        : util::nn<BaseObjectPtr>(NN_NO_CHECK(std::move(x.as_nullable()))) {}
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::common::ObjectDomain>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::common::ObjectDomain> >&&)
Line
Count
Source
317
56
        : util::nn<BaseObjectPtr>(NN_NO_CHECK(std::move(x.as_nullable()))) {}
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::GeodeticCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::GeodeticCRS> >&&)
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::VerticalCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::VerticalCRS> >&&)
Line
Count
Source
317
20
        : util::nn<BaseObjectPtr>(NN_NO_CHECK(std::move(x.as_nullable()))) {}
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::CompoundCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::CompoundCRS> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::ParametricCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::ParametricCRS> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::TemporalCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::TemporalCRS> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::DerivedGeodeticCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedGeodeticCRS> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::DerivedGeographicCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedGeographicCRS> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::DerivedProjectedCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedProjectedCRS> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::DerivedVerticalCRS>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedVerticalCRS> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedEngineeringCRSTraits> >(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedEngineeringCRSTraits> > >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedParametricCRSTraits> >(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedParametricCRSTraits> > >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedTemporalCRSTraits> >(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::crs::DerivedCRSTemplate<osgeo::proj::crs::DerivedTemporalCRSTraits> > >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::datum::VerticalReferenceFrame>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::VerticalReferenceFrame> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::datum::DynamicGeodeticReferenceFrame>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::DynamicGeodeticReferenceFrame> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::datum::DynamicVerticalReferenceFrame>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::DynamicVerticalReferenceFrame> >&&)
osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::datum::EngineeringDatum>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::EngineeringDatum> >&&)
Line
Count
Source
317
5
        : util::nn<BaseObjectPtr>(NN_NO_CHECK(std::move(x.as_nullable()))) {}
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::datum::ParametricDatum>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::ParametricDatum> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::datum::TemporalDatum>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::TemporalDatum> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::datum::Ellipsoid>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::Ellipsoid> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::datum::PrimeMeridian>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::datum::PrimeMeridian> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::cs::CoordinateSystem>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystem> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::operation::PointMotionOperation>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::PointMotionOperation> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::operation::ConcatenatedOperation>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::ConcatenatedOperation> >&&)
Unexecuted instantiation: osgeo::proj::util::BaseObjectNNPtr::BaseObjectNNPtr<osgeo::proj::cs::CoordinateSystemAxis>(dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::cs::CoordinateSystemAxis> >&&)
318
319
    explicit BaseObjectNNPtr(::dropbox::oxygen::i_promise_i_checked_for_null_t,
320
                             BaseObjectPtr &&arg) noexcept
321
1.23M
        : util::nn<BaseObjectPtr>(i_promise_i_checked_for_null,
322
1.23M
                                  std::move(arg)) {}
323
7.17M
    BaseObjectNNPtr(const BaseObjectNNPtr &) = default;
324
34.9k
    BaseObjectNNPtr &operator=(const BaseObjectNNPtr &) = default;
325
326
    PROJ_DLL ~BaseObjectNNPtr();
327
    //! @endcond
328
};
329
#else
330
using BaseObjectNNPtr = util::nn<BaseObjectPtr>;
331
#endif
332
333
/** \brief Class that can be derived from, to emulate Java's Object behavior.
334
 */
335
class PROJ_GCC_DLL BaseObject {
336
  public:
337
    //! @cond Doxygen_Suppress
338
    virtual PROJ_DLL ~BaseObject();
339
    //! @endcond
340
341
    PROJ_PRIVATE :
342
        //! @cond Doxygen_Suppress
343
        PROJ_INTERNAL BaseObjectNNPtr
344
        shared_from_this() const;
345
    //! @endcond
346
347
  protected:
348
    PROJ_INTERNAL BaseObject();
349
    PROJ_INTERNAL void assignSelf(const BaseObjectNNPtr &self);
350
    PROJ_INTERNAL BaseObject &operator=(BaseObject &&other);
351
352
  private:
353
    PROJ_OPAQUE_PRIVATE_DATA
354
};
355
356
// ---------------------------------------------------------------------------
357
358
/** \brief Interface for an object that can be compared to another.
359
 */
360
class PROJ_GCC_DLL IComparable {
361
  public:
362
    //! @cond Doxygen_Suppress
363
    PROJ_DLL virtual ~IComparable();
364
    //! @endcond
365
366
    /** \brief Comparison criterion. */
367
    enum class PROJ_MSVC_DLL Criterion {
368
        /** All properties are identical. */
369
        STRICT,
370
371
        /** The objects are equivalent for the purpose of coordinate
372
         * operations. They can differ by the name of their objects,
373
         * identifiers, other metadata.
374
         * Parameters may be expressed in different units, provided that the
375
         * value is (with some tolerance) the same once expressed in a
376
         * common unit.
377
         */
378
        EQUIVALENT,
379
380
        /** Same as EQUIVALENT, relaxed with an exception that the axis order
381
         * of the base CRS of a DerivedCRS/ProjectedCRS or the axis order of
382
         * a GeographicCRS is ignored. Only to be used
383
         * with DerivedCRS/ProjectedCRS/GeographicCRS */
384
        EQUIVALENT_EXCEPT_AXIS_ORDER_GEOGCRS,
385
    };
386
387
    PROJ_DLL bool
388
    isEquivalentTo(const IComparable *other,
389
                   Criterion criterion = Criterion::STRICT,
390
                   const io::DatabaseContextPtr &dbContext = nullptr) const;
391
392
    PROJ_PRIVATE :
393
394
        //! @cond Doxygen_Suppress
395
        PROJ_INTERNAL virtual bool
396
        _isEquivalentTo(
397
            const IComparable *other, Criterion criterion = Criterion::STRICT,
398
            const io::DatabaseContextPtr &dbContext = nullptr) const = 0;
399
    //! @endcond
400
};
401
402
// ---------------------------------------------------------------------------
403
404
/** \brief Encapsulate standard datatypes in an object.
405
 */
406
class BoxedValue final : public BaseObject {
407
  public:
408
    //! @cond Doxygen_Suppress
409
    /** Type of data stored in the BoxedValue. */
410
    enum class Type {
411
        /** a std::string */
412
        STRING,
413
        /** an integer */
414
        INTEGER,
415
        /** a boolean */
416
        BOOLEAN
417
    };
418
    //! @endcond
419
420
    // cppcheck-suppress noExplicitConstructor
421
    PROJ_DLL BoxedValue(const char *stringValueIn); // needed to avoid the bool
422
                                                    // constructor to be taken !
423
    // cppcheck-suppress noExplicitConstructor
424
    PROJ_DLL BoxedValue(const std::string &stringValueIn);
425
    // cppcheck-suppress noExplicitConstructor
426
    PROJ_DLL BoxedValue(int integerValueIn);
427
    // cppcheck-suppress noExplicitConstructor
428
    PROJ_DLL BoxedValue(bool booleanValueIn);
429
430
    PROJ_PRIVATE :
431
        //! @cond Doxygen_Suppress
432
        PROJ_INTERNAL
433
        BoxedValue(const BoxedValue &other);
434
435
    PROJ_DLL ~BoxedValue() override;
436
437
    PROJ_INTERNAL const Type &type() const;
438
    PROJ_INTERNAL const std::string &stringValue() const;
439
    PROJ_INTERNAL int integerValue() const;
440
    PROJ_INTERNAL bool booleanValue() const;
441
    //! @endcond
442
443
  private:
444
    PROJ_OPAQUE_PRIVATE_DATA
445
    BoxedValue &operator=(const BoxedValue &) = delete;
446
447
    PROJ_INTERNAL BoxedValue();
448
};
449
450
/** Shared pointer of BoxedValue. */
451
using BoxedValuePtr = std::shared_ptr<BoxedValue>;
452
/** Non-null shared pointer of BoxedValue. */
453
using BoxedValueNNPtr = util::nn<BoxedValuePtr>;
454
455
// ---------------------------------------------------------------------------
456
457
class ArrayOfBaseObject;
458
/** Shared pointer of ArrayOfBaseObject. */
459
using ArrayOfBaseObjectPtr = std::shared_ptr<ArrayOfBaseObject>;
460
/** Non-null shared pointer of ArrayOfBaseObject. */
461
using ArrayOfBaseObjectNNPtr = util::nn<ArrayOfBaseObjectPtr>;
462
463
/** \brief Array of BaseObject.
464
 */
465
class ArrayOfBaseObject final : public BaseObject {
466
  public:
467
    //! @cond Doxygen_Suppress
468
    PROJ_DLL ~ArrayOfBaseObject() override;
469
    //! @endcond
470
471
    PROJ_DLL void add(const BaseObjectNNPtr &obj);
472
473
    PROJ_DLL static ArrayOfBaseObjectNNPtr create();
474
475
    PROJ_PRIVATE :
476
        //! @cond Doxygen_Suppress
477
        std::vector<BaseObjectNNPtr>::const_iterator
478
        begin() const;
479
    std::vector<BaseObjectNNPtr>::const_iterator end() const;
480
    bool empty() const;
481
    //! @endcond
482
483
  protected:
484
    ArrayOfBaseObject();
485
    INLINED_MAKE_SHARED
486
487
  private:
488
    ArrayOfBaseObject(const ArrayOfBaseObject &other) = delete;
489
    ArrayOfBaseObject &operator=(const ArrayOfBaseObject &other) = delete;
490
    PROJ_OPAQUE_PRIVATE_DATA
491
};
492
493
// ---------------------------------------------------------------------------
494
495
/** \brief Wrapper of a std::map<std::string, BaseObjectNNPtr> */
496
class PropertyMap {
497
  public:
498
    PROJ_DLL PropertyMap();
499
    //! @cond Doxygen_Suppress
500
    PROJ_DLL PropertyMap(const PropertyMap &other);
501
    PROJ_DLL ~PropertyMap();
502
    //! @endcond
503
504
    PROJ_DLL PropertyMap &set(const std::string &key,
505
                              const BaseObjectNNPtr &val);
506
507
    //! @cond Doxygen_Suppress
508
    template <class T>
509
    inline PropertyMap &set(const std::string &key,
510
1.23M
                            const nn_shared_ptr<T> &val) {
511
1.23M
        return set(
512
1.23M
            key, BaseObjectNNPtr(i_promise_i_checked_for_null,
513
1.23M
                                 BaseObjectPtr(val.as_nullable(), val.get())));
514
1.23M
    }
osgeo::proj::util::PropertyMap& osgeo::proj::util::PropertyMap::set<osgeo::proj::util::ArrayOfBaseObject>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::util::ArrayOfBaseObject> > const&)
Line
Count
Source
510
547k
                            const nn_shared_ptr<T> &val) {
511
547k
        return set(
512
547k
            key, BaseObjectNNPtr(i_promise_i_checked_for_null,
513
547k
                                 BaseObjectPtr(val.as_nullable(), val.get())));
514
547k
    }
osgeo::proj::util::PropertyMap& osgeo::proj::util::PropertyMap::set<osgeo::proj::util::BaseObject>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::util::BaseObject> > const&)
Line
Count
Source
510
554k
                            const nn_shared_ptr<T> &val) {
511
554k
        return set(
512
554k
            key, BaseObjectNNPtr(i_promise_i_checked_for_null,
513
554k
                                 BaseObjectPtr(val.as_nullable(), val.get())));
514
554k
    }
osgeo::proj::util::PropertyMap& osgeo::proj::util::PropertyMap::set<osgeo::proj::operation::Transformation>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::operation::Transformation> > const&)
Line
Count
Source
510
71
                            const nn_shared_ptr<T> &val) {
511
71
        return set(
512
71
            key, BaseObjectNNPtr(i_promise_i_checked_for_null,
513
71
                                 BaseObjectPtr(val.as_nullable(), val.get())));
514
71
    }
osgeo::proj::util::PropertyMap& osgeo::proj::util::PropertyMap::set<osgeo::proj::metadata::Extent>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::metadata::Extent> > const&)
Line
Count
Source
510
138k
                            const nn_shared_ptr<T> &val) {
511
138k
        return set(
512
138k
            key, BaseObjectNNPtr(i_promise_i_checked_for_null,
513
138k
                                 BaseObjectPtr(val.as_nullable(), val.get())));
514
138k
    }
Unexecuted instantiation: osgeo::proj::util::PropertyMap& osgeo::proj::util::PropertyMap::set<osgeo::proj::metadata::Identifier>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::metadata::Identifier> > const&)
osgeo::proj::util::PropertyMap& osgeo::proj::util::PropertyMap::set<osgeo::proj::common::ObjectDomain>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, dropbox::oxygen::nn<std::__1::shared_ptr<osgeo::proj::common::ObjectDomain> > const&)
Line
Count
Source
510
219
                            const nn_shared_ptr<T> &val) {
511
219
        return set(
512
219
            key, BaseObjectNNPtr(i_promise_i_checked_for_null,
513
219
                                 BaseObjectPtr(val.as_nullable(), val.get())));
514
219
    }
515
    //! @endcond
516
517
    // needed to avoid the bool constructor to be taken !
518
    PROJ_DLL PropertyMap &set(const std::string &key, const char *val);
519
520
    PROJ_DLL PropertyMap &set(const std::string &key, const std::string &val);
521
522
    PROJ_DLL PropertyMap &set(const std::string &key, int val);
523
524
    PROJ_DLL PropertyMap &set(const std::string &key, bool val);
525
526
    PROJ_DLL PropertyMap &set(const std::string &key,
527
                              const std::vector<std::string> &array);
528
529
    PROJ_PRIVATE :
530
        //! @cond Doxygen_Suppress
531
        const BaseObjectNNPtr *
532
        get(const std::string &key) const;
533
534
    // throw(InvalidValueTypeException)
535
    bool getStringValue(const std::string &key, std::string &outVal) const;
536
    bool getStringValue(const std::string &key,
537
                        optional<std::string> &outVal) const;
538
    void unset(const std::string &key);
539
540
    static PropertyMap createAndSetName(const char *name);
541
    static PropertyMap createAndSetName(const std::string &name);
542
    //! @endcond
543
544
  private:
545
    PropertyMap &operator=(const PropertyMap &) = delete;
546
547
    PROJ_OPAQUE_PRIVATE_DATA
548
};
549
550
// ---------------------------------------------------------------------------
551
552
class LocalName;
553
/** Shared pointer of LocalName. */
554
using LocalNamePtr = std::shared_ptr<LocalName>;
555
/** Non-null shared pointer of LocalName. */
556
using LocalNameNNPtr = util::nn<LocalNamePtr>;
557
558
class NameSpace;
559
/** Shared pointer of NameSpace. */
560
using NameSpacePtr = std::shared_ptr<NameSpace>;
561
/** Non-null shared pointer of NameSpace. */
562
using NameSpaceNNPtr = util::nn<NameSpacePtr>;
563
564
class GenericName;
565
/** Shared pointer of GenericName. */
566
using GenericNamePtr = std::shared_ptr<GenericName>;
567
/** Non-null shared pointer of GenericName. */
568
using GenericNameNNPtr = util::nn<GenericNamePtr>;
569
570
// ---------------------------------------------------------------------------
571
572
/** \brief A sequence of identifiers rooted within the context of a namespace.
573
 *
574
 * \remark Simplified version of [GenericName]
575
 * (http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html)
576
 * from \ref GeoAPI
577
 */
578
class GenericName : public BaseObject {
579
  public:
580
    //! @cond Doxygen_Suppress
581
    PROJ_DLL virtual ~GenericName() override;
582
    //! @endcond
583
584
    /** \brief Return the scope of the object, possibly a global one. */
585
    PROJ_DLL virtual const NameSpacePtr scope() const = 0;
586
587
    /** \brief Return the LocalName as a string. */
588
    PROJ_DLL virtual std::string toString() const = 0;
589
590
    /** \brief Return a fully qualified name corresponding to the local name.
591
     *
592
     * The namespace of the resulting name is a global one.
593
     */
594
    PROJ_DLL virtual GenericNameNNPtr toFullyQualifiedName() const = 0;
595
596
  protected:
597
    GenericName();
598
    GenericName(const GenericName &other);
599
600
  private:
601
    PROJ_OPAQUE_PRIVATE_DATA
602
    GenericName &operator=(const GenericName &other) = delete;
603
};
604
605
// ---------------------------------------------------------------------------
606
607
/** \brief A domain in which names given by strings are defined.
608
 *
609
 * \remark Simplified version of [NameSpace]
610
 * (http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/NameSpace.html)
611
 * from \ref GeoAPI
612
 */
613
class NameSpace {
614
  public:
615
    //! @cond Doxygen_Suppress
616
    PROJ_DLL ~NameSpace();
617
    //! @endcond
618
619
    PROJ_DLL bool isGlobal() const;
620
    PROJ_DLL const GenericNamePtr &name() const;
621
622
  protected:
623
    PROJ_FRIEND(NameFactory);
624
    PROJ_FRIEND(LocalName);
625
    explicit NameSpace(const GenericNamePtr &name);
626
    NameSpace(const NameSpace &other);
627
    NameSpaceNNPtr getGlobalFromThis() const;
628
    const std::string &separator() const;
629
    static const NameSpaceNNPtr GLOBAL;
630
    INLINED_MAKE_SHARED
631
632
  private:
633
    PROJ_OPAQUE_PRIVATE_DATA
634
    NameSpace &operator=(const NameSpace &other) = delete;
635
636
    static NameSpaceNNPtr createGLOBAL();
637
};
638
639
// ---------------------------------------------------------------------------
640
641
/** \brief Identifier within a NameSpace for a local object.
642
 *
643
 * Local names are names which are directly accessible to and maintained by a
644
 * NameSpace within which they are local, indicated by the scope.
645
 *
646
 * \remark Simplified version of [LocalName]
647
 * (http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/LocalName.html)
648
 * from \ref GeoAPI
649
 */
650
class LocalName : public GenericName {
651
  public:
652
    //! @cond Doxygen_Suppress
653
    PROJ_DLL ~LocalName() override;
654
    //! @endcond
655
656
    PROJ_DLL const NameSpacePtr scope() const override;
657
    PROJ_DLL std::string toString() const override;
658
    PROJ_DLL GenericNameNNPtr toFullyQualifiedName() const override;
659
660
  protected:
661
    PROJ_FRIEND(NameFactory);
662
    PROJ_FRIEND(NameSpace);
663
    explicit LocalName(const std::string &nameIn);
664
    LocalName(const LocalName &other);
665
    LocalName(const NameSpacePtr &ns, const std::string &name);
666
    INLINED_MAKE_SHARED
667
668
  private:
669
    PROJ_OPAQUE_PRIVATE_DATA
670
    LocalName &operator=(const LocalName &other) = delete;
671
};
672
673
// ---------------------------------------------------------------------------
674
675
/** \brief Factory for generic names.
676
 *
677
 * \remark Simplified version of [NameFactory]
678
 * (http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/NameFactory.html)
679
 * from \ref GeoAPI
680
 */
681
class NameFactory {
682
  public:
683
    PROJ_DLL static NameSpaceNNPtr
684
    createNameSpace(const GenericNameNNPtr &name,
685
                    const PropertyMap &properties);
686
    PROJ_DLL static LocalNameNNPtr createLocalName(const NameSpacePtr &scope,
687
                                                   const std::string &name);
688
    PROJ_DLL static GenericNameNNPtr
689
    createGenericName(const NameSpacePtr &scope,
690
                      const std::vector<std::string> &parsedNames);
691
};
692
693
// ---------------------------------------------------------------------------
694
695
/** \brief Abstract class to define an enumeration of values.
696
 */
697
class CodeList {
698
  public:
699
    //! @cond Doxygen_Suppress
700
    PROJ_DLL ~CodeList();
701
    //! @endcond
702
703
    /** Return the CodeList item as a string. */
704
    // cppcheck-suppress functionStatic
705
11.6k
    inline const std::string &toString() PROJ_PURE_DECL { return name_; }
706
707
    /** Return the CodeList item as a string. */
708
0
    inline operator std::string() PROJ_PURE_DECL { return toString(); }
709
710
    //! @cond Doxygen_Suppress
711
1.09M
    inline bool operator==(const CodeList &other) PROJ_PURE_DECL {
712
1.09M
        return name_ == other.name_;
713
1.09M
    }
714
2.38k
    inline bool operator!=(const CodeList &other) PROJ_PURE_DECL {
715
2.38k
        return name_ != other.name_;
716
2.38k
    }
717
    //! @endcond
718
  protected:
719
216k
    explicit CodeList(const std::string &nameIn) : name_(nameIn) {}
720
0
    CodeList(const CodeList &) = default;
721
    CodeList &operator=(const CodeList &other);
722
723
  private:
724
    std::string name_{};
725
};
726
727
// ---------------------------------------------------------------------------
728
729
/** \brief Root exception class.
730
 */
731
class PROJ_GCC_DLL Exception : public std::exception {
732
    std::string msg_;
733
734
  public:
735
    //! @cond Doxygen_Suppress
736
    PROJ_INTERNAL explicit Exception(const char *message);
737
    PROJ_INTERNAL explicit Exception(const std::string &message);
738
    PROJ_DLL Exception(const Exception &other);
739
    PROJ_DLL ~Exception() override;
740
    //! @endcond
741
    PROJ_DLL virtual const char *what() const noexcept override;
742
};
743
744
// ---------------------------------------------------------------------------
745
746
/** \brief Exception thrown when an invalid value type is set as the value of
747
 * a key of a PropertyMap.
748
 */
749
class PROJ_GCC_DLL InvalidValueTypeException : public Exception {
750
  public:
751
    //! @cond Doxygen_Suppress
752
    PROJ_INTERNAL explicit InvalidValueTypeException(const char *message);
753
    PROJ_INTERNAL explicit InvalidValueTypeException(
754
        const std::string &message);
755
    PROJ_DLL InvalidValueTypeException(const InvalidValueTypeException &other);
756
    PROJ_DLL ~InvalidValueTypeException() override;
757
    //! @endcond
758
};
759
760
// ---------------------------------------------------------------------------
761
762
/** \brief Exception Thrown to indicate that the requested operation is not
763
 * supported.
764
 */
765
class PROJ_GCC_DLL UnsupportedOperationException : public Exception {
766
  public:
767
    //! @cond Doxygen_Suppress
768
    PROJ_INTERNAL explicit UnsupportedOperationException(const char *message);
769
    PROJ_INTERNAL explicit UnsupportedOperationException(
770
        const std::string &message);
771
    PROJ_DLL
772
    UnsupportedOperationException(const UnsupportedOperationException &other);
773
    PROJ_DLL ~UnsupportedOperationException() override;
774
    //! @endcond
775
};
776
777
} // namespace util
778
779
NS_PROJ_END
780
781
#endif // UTIL_HH_INCLUDED