Implemented basic class structure
This commit is contained in:
parent
8aa6b3b963
commit
c5b92f2e6e
BIN
Hazelnupp.vpp
BIN
Hazelnupp.vpp
Binary file not shown.
10
Hazelnupp/DataType.h
Normal file
10
Hazelnupp/DataType.h
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
enum class DATA_TYPE
|
||||||
|
{
|
||||||
|
VOID,
|
||||||
|
INT,
|
||||||
|
FLOAT,
|
||||||
|
STRING,
|
||||||
|
LIST
|
||||||
|
};
|
9
Hazelnupp/FloatValue.cpp
Normal file
9
Hazelnupp/FloatValue.cpp
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#include "FloatValue.h"
|
||||||
|
|
||||||
|
FloatValue::FloatValue(const long double& value)
|
||||||
|
:
|
||||||
|
Value(DATA_TYPE::FLOAT),
|
||||||
|
value { value }
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
11
Hazelnupp/FloatValue.h
Normal file
11
Hazelnupp/FloatValue.h
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#pragma once
|
||||||
|
#include "Value.h"
|
||||||
|
|
||||||
|
class FloatValue : public Value
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
FloatValue(const long double& value);
|
||||||
|
|
||||||
|
private:
|
||||||
|
long double value;
|
||||||
|
};
|
17
Hazelnupp/Hazelnupp.cpp
Normal file
17
Hazelnupp/Hazelnupp.cpp
Normal file
@ -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;
|
||||||
|
}
|
15
Hazelnupp/Hazelnupp.h
Normal file
15
Hazelnupp/Hazelnupp.h
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#pragma once
|
||||||
|
#include "Parameter.h"
|
||||||
|
#include <unordered_map>
|
||||||
|
|
||||||
|
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<std::string, Parameter*> parameters;
|
||||||
|
};
|
@ -139,7 +139,26 @@
|
|||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ClCompile Include="FloatValue.cpp" />
|
||||||
|
<ClCompile Include="Hazelnupp.cpp" />
|
||||||
|
<ClCompile Include="IntValue.cpp" />
|
||||||
|
<ClCompile Include="ListValue.cpp" />
|
||||||
<ClCompile Include="main.cpp" />
|
<ClCompile Include="main.cpp" />
|
||||||
|
<ClCompile Include="Parameter.cpp" />
|
||||||
|
<ClCompile Include="StringValue.cpp" />
|
||||||
|
<ClCompile Include="Value.cpp" />
|
||||||
|
<ClCompile Include="VoidValue.cpp" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="FloatValue.h" />
|
||||||
|
<ClInclude Include="Hazelnupp.h" />
|
||||||
|
<ClInclude Include="IntValue.h" />
|
||||||
|
<ClInclude Include="ListValue.h" />
|
||||||
|
<ClInclude Include="Parameter.h" />
|
||||||
|
<ClInclude Include="DataType.h" />
|
||||||
|
<ClInclude Include="StringValue.h" />
|
||||||
|
<ClInclude Include="Value.h" />
|
||||||
|
<ClInclude Include="VoidValue.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
@ -18,5 +18,58 @@
|
|||||||
<ClCompile Include="main.cpp">
|
<ClCompile Include="main.cpp">
|
||||||
<Filter>Quelldateien</Filter>
|
<Filter>Quelldateien</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="Hazelnupp.cpp">
|
||||||
|
<Filter>Quelldateien</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Parameter.cpp">
|
||||||
|
<Filter>Quelldateien</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Value.cpp">
|
||||||
|
<Filter>Quelldateien</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="IntValue.cpp">
|
||||||
|
<Filter>Quelldateien</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="FloatValue.cpp">
|
||||||
|
<Filter>Quelldateien</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="VoidValue.cpp">
|
||||||
|
<Filter>Quelldateien</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="StringValue.cpp">
|
||||||
|
<Filter>Quelldateien</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="ListValue.cpp">
|
||||||
|
<Filter>Quelldateien</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="Hazelnupp.h">
|
||||||
|
<Filter>Headerdateien</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Parameter.h">
|
||||||
|
<Filter>Headerdateien</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Value.h">
|
||||||
|
<Filter>Headerdateien</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="DataType.h">
|
||||||
|
<Filter>Headerdateien</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="VoidValue.h">
|
||||||
|
<Filter>Headerdateien</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="StringValue.h">
|
||||||
|
<Filter>Headerdateien</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="ListValue.h">
|
||||||
|
<Filter>Headerdateien</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="IntValue.h">
|
||||||
|
<Filter>Headerdateien</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="FloatValue.h">
|
||||||
|
<Filter>Headerdateien</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
9
Hazelnupp/IntValue.cpp
Normal file
9
Hazelnupp/IntValue.cpp
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#include "IntValue.h"
|
||||||
|
|
||||||
|
IntValue::IntValue(const long long int& value)
|
||||||
|
:
|
||||||
|
Value(DATA_TYPE::INT),
|
||||||
|
value { value }
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
11
Hazelnupp/IntValue.h
Normal file
11
Hazelnupp/IntValue.h
Normal file
@ -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;
|
||||||
|
};
|
17
Hazelnupp/ListValue.cpp
Normal file
17
Hazelnupp/ListValue.cpp
Normal file
@ -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;
|
||||||
|
}
|
15
Hazelnupp/ListValue.h
Normal file
15
Hazelnupp/ListValue.h
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#pragma once
|
||||||
|
#include "Value.h"
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
class ListValue : public Value
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
~ListValue();
|
||||||
|
|
||||||
|
//! Will add this value to the list
|
||||||
|
void AddValue(const Value* value);
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::vector<Value*> value;
|
||||||
|
};
|
9
Hazelnupp/Parameter.cpp
Normal file
9
Hazelnupp/Parameter.cpp
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#include "Parameter.h"
|
||||||
|
|
||||||
|
Parameter::Parameter(const std::string& key, const Value& value)
|
||||||
|
:
|
||||||
|
key { key },
|
||||||
|
value { value }
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
13
Hazelnupp/Parameter.h
Normal file
13
Hazelnupp/Parameter.h
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#pragma once
|
||||||
|
#include "Value.h"
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
class Parameter
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
explicit Parameter(const std::string& key, const Value& value);
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::string key;
|
||||||
|
Value value;
|
||||||
|
};
|
9
Hazelnupp/StringValue.cpp
Normal file
9
Hazelnupp/StringValue.cpp
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#include "StringValue.h"
|
||||||
|
|
||||||
|
StringValue::StringValue(const std::string& value)
|
||||||
|
:
|
||||||
|
Value(DATA_TYPE::STRING),
|
||||||
|
value { value }
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
12
Hazelnupp/StringValue.h
Normal file
12
Hazelnupp/StringValue.h
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#pragma once
|
||||||
|
#include "Value.h"
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
class StringValue : public Value
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
StringValue(const std::string& value);
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::string value;
|
||||||
|
};
|
8
Hazelnupp/Value.cpp
Normal file
8
Hazelnupp/Value.cpp
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#include "Value.h"
|
||||||
|
|
||||||
|
Value::Value(DATA_TYPE type)
|
||||||
|
:
|
||||||
|
type { type }
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
10
Hazelnupp/Value.h
Normal file
10
Hazelnupp/Value.h
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#pragma once
|
||||||
|
#include "DataType.h"
|
||||||
|
|
||||||
|
class Value
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
Value(DATA_TYPE type);
|
||||||
|
|
||||||
|
DATA_TYPE type;
|
||||||
|
};
|
8
Hazelnupp/VoidValue.cpp
Normal file
8
Hazelnupp/VoidValue.cpp
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#include "VoidValue.h"
|
||||||
|
|
||||||
|
VoidValue::VoidValue()
|
||||||
|
:
|
||||||
|
Value(DATA_TYPE::VOID)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
8
Hazelnupp/VoidValue.h
Normal file
8
Hazelnupp/VoidValue.h
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#pragma once
|
||||||
|
#include "Value.h"
|
||||||
|
|
||||||
|
class VoidValue : public Value
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
VoidValue();
|
||||||
|
};
|
Loading…
x
Reference in New Issue
Block a user