From 5e76df0de082df98371a907edd230f6a7e41759a Mon Sep 17 00:00:00 2001
From: "LEGOLAS\\lenz" <lenz@irmb.tu-bs.de>
Date: Wed, 4 Dec 2019 09:00:00 +0100
Subject: [PATCH] Fixes Files in src/Core

---
 src/Core/DataTypes.h           | 15 +++++++++++++++
 src/Core/LbmOrGks.h            | 14 ++++++++++++++
 src/Core/NonCreatable.h        | 18 ++++++++++++++++++
 src/Core/PointerDefinitions.h  | 26 ++++++++++++++++++++++++++
 src/Core/Timer/Timer.cpp       | 11 +++++++++++
 src/Core/Timer/Timer.h         | 23 +++++++++++++++++++++++
 src/Core/Timer/package.include |  0
 src/Core/package.include       |  0
 8 files changed, 107 insertions(+)
 create mode 100644 src/Core/DataTypes.h
 create mode 100644 src/Core/LbmOrGks.h
 create mode 100644 src/Core/NonCreatable.h
 create mode 100644 src/Core/PointerDefinitions.h
 create mode 100644 src/Core/Timer/Timer.cpp
 create mode 100644 src/Core/Timer/Timer.h
 create mode 100644 src/Core/Timer/package.include
 create mode 100644 src/Core/package.include

diff --git a/src/Core/DataTypes.h b/src/Core/DataTypes.h
new file mode 100644
index 000000000..0b7cd94ba
--- /dev/null
+++ b/src/Core/DataTypes.h
@@ -0,0 +1,15 @@
+#ifndef DATATYPES_H
+#define DATATYPES_H
+
+#include "VirtualFluidsDefinitions.h"
+
+#ifdef VF_DOUBLE_ACCURACY
+typedef double real;
+#else
+typedef float  real;
+#endif
+
+typedef unsigned int uint;
+#define INVALID_INDEX 4294967295 //max uint
+
+#endif
diff --git a/src/Core/LbmOrGks.h b/src/Core/LbmOrGks.h
new file mode 100644
index 000000000..bd9a55ae1
--- /dev/null
+++ b/src/Core/LbmOrGks.h
@@ -0,0 +1,14 @@
+/*
+*  Author: St. Lenz
+*  mail: lenz@irmb.tu-bs.de
+*/
+#ifndef LBMORGKS_H
+#define LBMORGKS_H
+
+enum LbmOrGks
+{
+	LBM,
+	GKS
+};
+
+#endif
diff --git a/src/Core/NonCreatable.h b/src/Core/NonCreatable.h
new file mode 100644
index 000000000..a93e4db68
--- /dev/null
+++ b/src/Core/NonCreatable.h
@@ -0,0 +1,18 @@
+/*
+*  Author: S. Peters
+*  mail: peters@irmb.tu-bs.de
+*/
+#ifndef NON_CREATABLE_H
+#define NON_CREATABLE_H
+
+
+class NonCreatable
+{
+private:
+   NonCreatable() = delete;                                
+   NonCreatable( const NonCreatable& ) = delete;
+   NonCreatable& operator=( const NonCreatable& ) = delete;
+};
+  
+
+#endif
diff --git a/src/Core/PointerDefinitions.h b/src/Core/PointerDefinitions.h
new file mode 100644
index 000000000..9305969a2
--- /dev/null
+++ b/src/Core/PointerDefinitions.h
@@ -0,0 +1,26 @@
+/*
+*  Author: S. Peters
+*  mail: peters@irmb.tu-bs.de
+*/
+#ifndef SHARED_POINTER_H
+#define SHARED_POINTER_H
+
+#include <memory>
+
+
+template <class T>
+using SPtr = std::shared_ptr<T>;
+
+template <class T>
+using WPtr = std::weak_ptr<T>;
+
+template <class T>
+using UPtr = std::unique_ptr<T>;
+
+template <class T>
+using RPtr = T*;
+
+template <class T>
+using enableSharedFromThis = std::enable_shared_from_this<T>;
+
+#endif
diff --git a/src/Core/Timer/Timer.cpp b/src/Core/Timer/Timer.cpp
new file mode 100644
index 000000000..9ca58ed19
--- /dev/null
+++ b/src/Core/Timer/Timer.cpp
@@ -0,0 +1,11 @@
+#include "Timer.h"
+#include "TimerImp.h"
+
+#include <memory>
+
+SPtr<Timer> Timer::makeStart()
+{
+    SPtr<Timer> t = std::make_shared<TimerImp>();
+    t->start();
+    return t;
+}
diff --git a/src/Core/Timer/Timer.h b/src/Core/Timer/Timer.h
new file mode 100644
index 000000000..bda096f4b
--- /dev/null
+++ b/src/Core/Timer/Timer.h
@@ -0,0 +1,23 @@
+#ifndef TIMER_H
+#define TIMER_H
+
+#include "VirtualFluidsDefinitions.h"
+
+#include "DataTypes.h"
+#include "PointerDefinitions.h"
+
+class VF_PUBLIC Timer
+{
+public:
+
+    static SPtr<Timer> makeStart();
+
+    virtual void start() = 0;
+    virtual void end() = 0;
+
+    virtual real getTimeInSeconds() const = 0;
+    virtual real getCurrentRuntimeInSeconds() const = 0;
+};
+
+#endif
+
diff --git a/src/Core/Timer/package.include b/src/Core/Timer/package.include
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/Core/package.include b/src/Core/package.include
new file mode 100644
index 000000000..e69de29bb
-- 
GitLab