aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2018-12-07 02:22:20 +0100
committerEven Rouault <even.rouault@spatialys.com>2018-12-07 18:22:28 +0100
commit263b259b276edd075b0abcd6aad0e923230c2d15 (patch)
tree9d58da6d9cbffd0b9f17ed1c46ea2a51ceb8a400 /include
parentcae698abe380b3823c3f08151c25097031ae091f (diff)
downloadPROJ-263b259b276edd075b0abcd6aad0e923230c2d15.tar.gz
PROJ-263b259b276edd075b0abcd6aad0e923230c2d15.zip
Various speed optimizations
Diffstat (limited to 'include')
-rw-r--r--include/proj/io.hpp3
-rw-r--r--include/proj/metadata.hpp4
-rw-r--r--include/proj/util.hpp9
3 files changed, 10 insertions, 6 deletions
diff --git a/include/proj/io.hpp b/include/proj/io.hpp
index ee024a72..c0d4fef5 100644
--- a/include/proj/io.hpp
+++ b/include/proj/io.hpp
@@ -961,7 +961,8 @@ class PROJ_GCC_DLL AuthorityFactory {
PROJ_INTERNAL operation::CoordinateOperationNNPtr
createCoordinateOperation(const std::string &code, bool allowConcatenated,
- bool usePROJAlternativeGridNames) const;
+ bool usePROJAlternativeGridNames,
+ const std::string &type) const;
INLINED_MAKE_SHARED
diff --git a/include/proj/metadata.hpp b/include/proj/metadata.hpp
index fc86693d..d1b91515 100644
--- a/include/proj/metadata.hpp
+++ b/include/proj/metadata.hpp
@@ -406,6 +406,7 @@ class PROJ_GCC_DLL Identifier : public util::BaseObject,
protected:
PROJ_INTERNAL explicit Identifier(const std::string &codeIn,
const util::PropertyMap &properties);
+ PROJ_INTERNAL explicit Identifier();
PROJ_FRIEND_OPTIONAL(Identifier);
INLINED_MAKE_SHARED
@@ -413,6 +414,9 @@ class PROJ_GCC_DLL Identifier : public util::BaseObject,
PROJ_FRIEND(common::IdentifiedObject);
+ PROJ_INTERNAL static IdentifierNNPtr
+ createFromDescription(const std::string &descriptionIn);
+
private:
PROJ_OPAQUE_PRIVATE_DATA
};
diff --git a/include/proj/util.hpp b/include/proj/util.hpp
index eb7288b2..c2f2b7fe 100644
--- a/include/proj/util.hpp
+++ b/include/proj/util.hpp
@@ -499,12 +499,13 @@ class PropertyMap {
PROJ_PRIVATE :
//! @cond Doxygen_Suppress
- std::map<std::string, BaseObjectNNPtr>::iterator
- find(const std::string &key) const;
- std::map<std::string, BaseObjectNNPtr>::iterator end() const;
+ const BaseObjectNNPtr *
+ get(const std::string &key) const;
// throw(InvalidValueTypeException)
bool getStringValue(const std::string &key, std::string &outVal) const;
+ bool getStringValue(const std::string &key,
+ optional<std::string> &outVal) const;
static PropertyMap createAndSetName(const char *name);
static PropertyMap createAndSetName(const std::string &name);
@@ -513,8 +514,6 @@ class PropertyMap {
private:
PropertyMap &operator=(const PropertyMap &) = delete;
- PropertyMap &set(const std::string &key, const BoxedValue &val);
-
PROJ_OPAQUE_PRIVATE_DATA
};