[glom/c++11] Add back mistakenly-removed file.
- From: Murray Cumming <murrayc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glom/c++11] Add back mistakenly-removed file.
- Date: Fri, 5 Jul 2013 14:32:18 +0000 (UTC)
commit 00951d9092ae221a6191cb033e48832c6906f724
Author: Murray Cumming <murrayc murrayc com>
Date: Fri Jul 5 15:55:18 2013 +0200
Add back mistakenly-removed file.
glom/libglom/sharedptr.h | 61 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 61 insertions(+), 0 deletions(-)
---
diff --git a/glom/libglom/sharedptr.h b/glom/libglom/sharedptr.h
new file mode 100644
index 0000000..29b688e
--- /dev/null
+++ b/glom/libglom/sharedptr.h
@@ -0,0 +1,61 @@
+/* sharedptr.h
+ *
+ * Copyright (C) 2004 Glom developers
+ *
+ * Licensed under the GPL
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ */
+
+#ifndef GLOM_SHAREDPTR_H
+#define GLOM_SHAREDPTR_H
+
+//#include <iostream> //Just for debugging.
+#include <cstddef> // For size_t.
+#include <memory> //For shared_ptr
+
+namespace Glom
+{
+
+template <class T_obj>
+std::shared_ptr<T_obj> glom_sharedptr_clone(const std::shared_ptr<T_obj>& src)
+{
+ if(src)
+ {
+ //std::cout << "glom_sharedptr_clone src.name=" << src->get_name() << std::endl;
+ return std::shared_ptr<T_obj>(static_cast<T_obj*>(src->clone()));
+ }
+ else
+ return std::shared_ptr<T_obj>();
+}
+
+template <class T_obj>
+std::shared_ptr<T_obj> glom_sharedptr_clone(const std::shared_ptr<const T_obj>& src)
+{
+ if(src)
+ {
+ //std::cout << "glom_sharedptr_cloneconst src.name=" << src->get_name() << std::endl;
+ return std::shared_ptr<T_obj>(static_cast<T_obj*>(src->clone()));
+ }
+ else
+ return std::shared_ptr<T_obj>();
+}
+
+} //namespace Glom
+
+#endif //GLOM_SHAREDPTR_H
+
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]