Adjusted workflow.
This commit is contained in:
70
include/ehs/Link.h
Normal file
70
include/ehs/Link.h
Normal file
@@ -0,0 +1,70 @@
|
||||
#pragma once
|
||||
|
||||
namespace ehs
|
||||
{
|
||||
/// Test
|
||||
template<typename T>
|
||||
class Link
|
||||
{
|
||||
public:
|
||||
T value;
|
||||
Link<T> *child;
|
||||
|
||||
~Link()
|
||||
{
|
||||
delete child;
|
||||
}
|
||||
|
||||
Link()
|
||||
: value(), child(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
Link(const T value, Link* child)
|
||||
: value(value), child(child)
|
||||
{
|
||||
}
|
||||
|
||||
Link(const T value)
|
||||
: value(value), child(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
Link(const Link& link)
|
||||
: value(link.value), child(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
Link(Link&& link) noexcept
|
||||
: value(link.value), child(link.child)
|
||||
{
|
||||
link.value = 0;
|
||||
link.child = nullptr;
|
||||
}
|
||||
|
||||
Link& operator=(const Link& link)
|
||||
{
|
||||
if (this == &link)
|
||||
return *this;
|
||||
|
||||
value = link.value;
|
||||
child = nullptr;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
Link& operator=(Link&& link) noexcept
|
||||
{
|
||||
if (this == &link)
|
||||
return *this;
|
||||
|
||||
value = link.value;
|
||||
child = link.child;
|
||||
|
||||
link.value = 0;
|
||||
link.child = nullptr;
|
||||
|
||||
return *this;
|
||||
}
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user