Denied an approach inheritance
This commit is contained in:
parent
3cf187a4ff
commit
c6d800111c
2 changed files with 103 additions and 127 deletions
67
List.hpp
67
List.hpp
|
@ -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;
|
||||
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue