diff --git a/Hazelnupp.vpp b/Hazelnupp.vpp index 2c6bbe7..77c37f1 100644 Binary files a/Hazelnupp.vpp and b/Hazelnupp.vpp differ diff --git a/Hazelnupp/DataType.h b/Hazelnupp/DataType.h new file mode 100644 index 0000000..bb40833 --- /dev/null +++ b/Hazelnupp/DataType.h @@ -0,0 +1,10 @@ +#pragma once + +enum class DATA_TYPE +{ + VOID, + INT, + FLOAT, + STRING, + LIST +}; diff --git a/Hazelnupp/FloatValue.cpp b/Hazelnupp/FloatValue.cpp new file mode 100644 index 0000000..001444a --- /dev/null +++ b/Hazelnupp/FloatValue.cpp @@ -0,0 +1,9 @@ +#include "FloatValue.h" + +FloatValue::FloatValue(const long double& value) + : + Value(DATA_TYPE::FLOAT), + value { value } +{ + return; +} diff --git a/Hazelnupp/FloatValue.h b/Hazelnupp/FloatValue.h new file mode 100644 index 0000000..cfa2402 --- /dev/null +++ b/Hazelnupp/FloatValue.h @@ -0,0 +1,11 @@ +#pragma once +#include "Value.h" + +class FloatValue : public Value +{ +public: + FloatValue(const long double& value); + +private: + long double value; +}; diff --git a/Hazelnupp/Hazelnupp.cpp b/Hazelnupp/Hazelnupp.cpp new file mode 100644 index 0000000..4f1f2cc --- /dev/null +++ b/Hazelnupp/Hazelnupp.cpp @@ -0,0 +1,17 @@ +#include "Hazelnupp.h" + +Hazelnupp::Hazelnupp() +{ + return; +} + +Hazelnupp::Hazelnupp(int argc, const char* const* argv) +{ + Parse(argc, argv); + return; +} + +void Hazelnupp::Parse(int argc, const char* const* argv) +{ + return; +} diff --git a/Hazelnupp/Hazelnupp.h b/Hazelnupp/Hazelnupp.h new file mode 100644 index 0000000..27c553d --- /dev/null +++ b/Hazelnupp/Hazelnupp.h @@ -0,0 +1,15 @@ +#pragma once +#include "Parameter.h" +#include + +class Hazelnupp +{ +public: + Hazelnupp(); + Hazelnupp(int argc, const char* const* argv); + + //! Will parse command line arguments + void Parse(int argc, const char* const* argv); + + std::unordered_map parameters; +}; diff --git a/Hazelnupp/Hazelnupp.vcxproj b/Hazelnupp/Hazelnupp.vcxproj index d6f5ec0..036164b 100644 --- a/Hazelnupp/Hazelnupp.vcxproj +++ b/Hazelnupp/Hazelnupp.vcxproj @@ -139,7 +139,26 @@ + + + + + + + + + + + + + + + + + + + diff --git a/Hazelnupp/Hazelnupp.vcxproj.filters b/Hazelnupp/Hazelnupp.vcxproj.filters index 46d313e..56b3caa 100644 --- a/Hazelnupp/Hazelnupp.vcxproj.filters +++ b/Hazelnupp/Hazelnupp.vcxproj.filters @@ -18,5 +18,58 @@ Quelldateien + + Quelldateien + + + Quelldateien + + + Quelldateien + + + Quelldateien + + + Quelldateien + + + Quelldateien + + + Quelldateien + + + Quelldateien + + + + + Headerdateien + + + Headerdateien + + + Headerdateien + + + Headerdateien + + + Headerdateien + + + Headerdateien + + + Headerdateien + + + Headerdateien + + + Headerdateien + \ No newline at end of file diff --git a/Hazelnupp/IntValue.cpp b/Hazelnupp/IntValue.cpp new file mode 100644 index 0000000..9437d40 --- /dev/null +++ b/Hazelnupp/IntValue.cpp @@ -0,0 +1,9 @@ +#include "IntValue.h" + +IntValue::IntValue(const long long int& value) + : + Value(DATA_TYPE::INT), + value { value } +{ + return; +} diff --git a/Hazelnupp/IntValue.h b/Hazelnupp/IntValue.h new file mode 100644 index 0000000..bf1de1c --- /dev/null +++ b/Hazelnupp/IntValue.h @@ -0,0 +1,11 @@ +#pragma once +#include "Value.h" + +class IntValue : public Value +{ +public: + IntValue(const long long int& value); + +private: + long long int value; +}; diff --git a/Hazelnupp/ListValue.cpp b/Hazelnupp/ListValue.cpp new file mode 100644 index 0000000..e591d43 --- /dev/null +++ b/Hazelnupp/ListValue.cpp @@ -0,0 +1,17 @@ +#include "ListValue.h" + +ListValue::~ListValue() +{ + for (Value* val : value) + delete val; + + value.clear(); + + return; +} + +void ListValue::AddValue(const Value* value) +{ + this->value.emplace_back(new Value(*value)); + return; +} diff --git a/Hazelnupp/ListValue.h b/Hazelnupp/ListValue.h new file mode 100644 index 0000000..2ca79d0 --- /dev/null +++ b/Hazelnupp/ListValue.h @@ -0,0 +1,15 @@ +#pragma once +#include "Value.h" +#include + +class ListValue : public Value +{ +public: + ~ListValue(); + + //! Will add this value to the list + void AddValue(const Value* value); + +private: + std::vector value; +}; diff --git a/Hazelnupp/Parameter.cpp b/Hazelnupp/Parameter.cpp new file mode 100644 index 0000000..24e5fec --- /dev/null +++ b/Hazelnupp/Parameter.cpp @@ -0,0 +1,9 @@ +#include "Parameter.h" + +Parameter::Parameter(const std::string& key, const Value& value) + : + key { key }, + value { value } +{ + return; +} diff --git a/Hazelnupp/Parameter.h b/Hazelnupp/Parameter.h new file mode 100644 index 0000000..6f4dc63 --- /dev/null +++ b/Hazelnupp/Parameter.h @@ -0,0 +1,13 @@ +#pragma once +#include "Value.h" +#include + +class Parameter +{ +public: + explicit Parameter(const std::string& key, const Value& value); + +private: + std::string key; + Value value; +}; diff --git a/Hazelnupp/StringValue.cpp b/Hazelnupp/StringValue.cpp new file mode 100644 index 0000000..c6a38fb --- /dev/null +++ b/Hazelnupp/StringValue.cpp @@ -0,0 +1,9 @@ +#include "StringValue.h" + +StringValue::StringValue(const std::string& value) + : + Value(DATA_TYPE::STRING), + value { value } +{ + return; +} diff --git a/Hazelnupp/StringValue.h b/Hazelnupp/StringValue.h new file mode 100644 index 0000000..c2301d1 --- /dev/null +++ b/Hazelnupp/StringValue.h @@ -0,0 +1,12 @@ +#pragma once +#include "Value.h" +#include + +class StringValue : public Value +{ +public: + StringValue(const std::string& value); + +private: + std::string value; +}; diff --git a/Hazelnupp/Value.cpp b/Hazelnupp/Value.cpp new file mode 100644 index 0000000..ada73b9 --- /dev/null +++ b/Hazelnupp/Value.cpp @@ -0,0 +1,8 @@ +#include "Value.h" + +Value::Value(DATA_TYPE type) + : + type { type } +{ + return; +} diff --git a/Hazelnupp/Value.h b/Hazelnupp/Value.h new file mode 100644 index 0000000..2df5fe2 --- /dev/null +++ b/Hazelnupp/Value.h @@ -0,0 +1,10 @@ +#pragma once +#include "DataType.h" + +class Value +{ +protected: + Value(DATA_TYPE type); + + DATA_TYPE type; +}; diff --git a/Hazelnupp/VoidValue.cpp b/Hazelnupp/VoidValue.cpp new file mode 100644 index 0000000..edd1fda --- /dev/null +++ b/Hazelnupp/VoidValue.cpp @@ -0,0 +1,8 @@ +#include "VoidValue.h" + +VoidValue::VoidValue() + : + Value(DATA_TYPE::VOID) +{ + return; +} diff --git a/Hazelnupp/VoidValue.h b/Hazelnupp/VoidValue.h new file mode 100644 index 0000000..cfcb2fb --- /dev/null +++ b/Hazelnupp/VoidValue.h @@ -0,0 +1,8 @@ +#pragma once +#include "Value.h" + +class VoidValue : public Value +{ +public: + VoidValue(); +};