Denied an approach inheritance

This commit is contained in:
glazirgeek 2025-05-25 18:59:00 +03:00
parent 3cf187a4ff
commit c6d800111c
2 changed files with 103 additions and 127 deletions

View file

@ -3,64 +3,67 @@
#include <iostream>
#include "tools.hpp"
#include <strstream>
#include <sstream>
namespace components{
struct unNode{
unNode *p_next;;
unNode *p_next;
tls::Value value;
unNode();
};
struct dualNode:unNode {
tls::Value *p_prev;;
struct dualNode {
tls::Value value;
dualNode *p_next;
dualNode *p_prev;
dualNode();
};
}
namespace strs{
struct Skeleton {
struct unarList {
unarList();
tls::Size get_size();
components::unNode operator() (tls::Size set_size);
components::unNode& operator[] (tls::Index index);
void pop();
void term();
void remove();
void append(tls::Value new_value);
tls::Size get_size();
protected:
tls::Size size;
};
struct unarList:Skeleton {
components::unNode operator() (tls::Size get_size);
components::unNode& operator[] (tls::Index index);
unarList();
components::unNode *first_element;
components::unNode *last_element;
};
// struct dualList:unarList {
//
// dualList() {
// first_element = new components::dual_Node;
//
//
// }
//
//
//
// };
struct dualList {
dualList();
components::dualNode operator() (tls::Size set_size);
components::dualNode& operator[] (tls::Index index);
void pop();
void term();
void remove();
void append(tls::Value new_value);
tls::Size get_size();
protected:
tls::Size size;
components::dualNode *first_element;
components::dualNode *last_element;
};
}