From a2b52c5ed5b47577b60e78319824f136ef7f946c Mon Sep 17 00:00:00 2001 From: Deukhoofd Date: Sat, 25 Sep 2021 14:21:31 +0200 Subject: [PATCH] Adds helper functions to the list types. --- conanfile.py | 44 -------------------------- src/Collections/Dictionary.hpp | 3 ++ src/Collections/List.hpp | 4 +++ src/Memory/__OptionalUniquePtrList.hpp | 4 +++ src/Memory/__UniquePtrList.hpp | 4 +++ 5 files changed, 15 insertions(+), 44 deletions(-) delete mode 100644 conanfile.py diff --git a/conanfile.py b/conanfile.py deleted file mode 100644 index c63564c..0000000 --- a/conanfile.py +++ /dev/null @@ -1,44 +0,0 @@ -from conans import ConanFile, CMake - - -class ArbutilsConan(ConanFile): - name = "Arbutils" - license = "TODO" - url = "https://git.p-epsilon.com/Deukhoofd/Arbutils" - description = "A helper library for the Epsilon project." - settings = "os", "compiler" - options = {"shared": [True, False], "staticC": [True, False]} - default_options = {"shared": True, "staticC": False} - generators = "cmake" - exports_sources = "*" - compiler = "clang" - - def build(self): - cmake = CMake(self) - self.output.info("Target OS: %s." % self.settings.os) - if self.settings.os == "Windows": - self.output.warn("Noticed Windows target, setting Cmake WINDOWS=On.") - cmake.definitions["WINDOWS"] = "On" - if self.options.shared: - self.output.info("Building shared library.") - cmake.definitions["SHARED"] = "On" - else: - self.output.info("Building static library.") - - if self.options.staticC: - self.output.info("Linking C libraries statically.") - cmake.definitions["STATICC"] = "On" - - cmake.configure() - cmake.build() - - def package(self): - self.copy("*.hpp", dst="include/Arbutils", src="src") - self.copy("*.hxx", dst="include/Arbutils", src="src") - self.copy("*.hpp", dst="include/extern", src="extern") - self.copy("*.dll", dst="bin", keep_path=False) - self.copy("*.so", dst="lib", keep_path=False) - self.copy("*.a", dst="lib", keep_path=False) - - def package_info(self): - self.cpp_info.libs = ["Arbutils"] diff --git a/src/Collections/Dictionary.hpp b/src/Collections/Dictionary.hpp index c37ad0b..9eddc4b 100644 --- a/src/Collections/Dictionary.hpp +++ b/src/Collections/Dictionary.hpp @@ -12,6 +12,9 @@ namespace ArbUt { using const_iterator = typename std::unordered_map::const_iterator; public: + typedef KeyT keyType; + typedef ValueT valueType; + Dictionary() : _map() {} /// @brief Initialises a dictionary with a certain capacity. explicit Dictionary(size_t capacity) : _map(capacity) {} diff --git a/src/Collections/List.hpp b/src/Collections/List.hpp index a87bcda..3be7da1 100644 --- a/src/Collections/List.hpp +++ b/src/Collections/List.hpp @@ -13,6 +13,8 @@ namespace ArbUt { using const_iterator = typename std::vector::const_iterator; public: + typedef ValueT type; + List() noexcept : _vector() {} /// @brief Creates a list with a reserved capacity. /// @param capacity The number of spaces the list should reserve. @@ -151,6 +153,8 @@ namespace ArbUt { /// @brief Returns a std::vector representation of the current list. /// @return A std::vector representation of the current list. std::vector& GetStdList() noexcept { return _vector; } + + inline List* GetListPointer() const { return this; } }; } diff --git a/src/Memory/__OptionalUniquePtrList.hpp b/src/Memory/__OptionalUniquePtrList.hpp index 2da5a6c..2808d18 100644 --- a/src/Memory/__OptionalUniquePtrList.hpp +++ b/src/Memory/__OptionalUniquePtrList.hpp @@ -13,6 +13,8 @@ namespace ArbUt { using const_iterator = typename std::vector::const_iterator; public: + typedef ValueT* type; + inline OptionalUniquePtrList() noexcept : _vector() {} /// @brief Initialises a OptionalUniquePtrList from a std::vector of raw pointers. /// @param vec A std::vector of raw pointers. @@ -142,6 +144,8 @@ namespace ArbUt { /// @brief Returns a std::vector representation of the current list. /// @return A std::vector representation of the current list. std::vector& GetStdList() noexcept { return _vector; } + + inline OptionalUniquePtrList* GetListPointer() const { return this; } }; } diff --git a/src/Memory/__UniquePtrList.hpp b/src/Memory/__UniquePtrList.hpp index cb6555e..6e98f02 100644 --- a/src/Memory/__UniquePtrList.hpp +++ b/src/Memory/__UniquePtrList.hpp @@ -14,6 +14,8 @@ namespace ArbUt { using const_iterator = typename std::vector::const_iterator; public: + typedef ValueT* type; + inline UniquePtrList() noexcept : _vector() {} /// @brief Initialises a UniquePtrList from a std::vector of raw pointers. /// @param vec A std::vector of raw pointers. @@ -151,6 +153,8 @@ namespace ArbUt { /// @brief Returns a std::vector representation of the current list. /// @return A std::vector representation of the current list. std::vector& GetStdList() noexcept { return _vector; } + + inline OptionalUniquePtrList* GetListPointer() const { return this; } }; }