UnarLinkList/List.hpp
2025-05-25 13:29:15 +03:00

69 lines
884 B
C++

#ifndef LIST_HPP
#define LIST_HPP
#include <iostream>
#include "tools.hpp"
#include <strstream>
namespace components{
struct unNode{
unNode *p_next;;
tls::Value value;
unNode();
};
struct dualNode:unNode {
tls::Value *p_prev;;
};
}
namespace strs{
struct Skeleton {
tls::Size get_size();
void pop();
void term();
void remove();
void append(tls::Value new_value);
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;
//
//
// }
//
//
//
// };
}
#endif