Repository : http://git.fedorahosted.org/cgit/firewalld-recode.git
On branch : master
commit 19908186782f479bfa276151420fb1f54235e7c4 Author: Daniel Kopecek dkopecek@redhat.com Date: Tue Sep 23 13:02:11 2014 +0200
Added smart pointer types
src/Common/Types.hpp | 20 ++++++++++++++++++++ 1 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/src/Common/Types.hpp b/src/Common/Types.hpp index b75cd59..b007503 100644 --- a/src/Common/Types.hpp +++ b/src/Common/Types.hpp @@ -24,6 +24,7 @@ #include <vector> #include <list> #include <map> +#include <memory>
namespace firewalld { @@ -49,6 +50,25 @@ namespace firewalld template<typename value_type> using UStringKeyMap = std::map<UString, value_type>;
+ // Smart Pointers + template<typename pointer_type> + using Pointer = std::shared_ptr<pointer_type>; + + template<typename pointer_type> + using UniquePointer = std::unique_ptr<pointer_type>; + + template<typename pointer_type> + using PointerVector = std::vector<Pointer<pointer_type> >; + + template<typename key_type, typename pointer_type> + using PointerMap = std::map<key_type, Pointer<pointer_type> >; + + template<typename pointer_type, typename... Args> + static inline Pointer<pointer_type> makePointer(Args&&... args) + { + return std::make_shared<pointer_type>(std::forward<Args>(args)...); + } + } /* namespace firewalld */
#endif /* _FIREWALLD_TYPES_H_ */