mirror of https://github.com/xfarrow/lasd.git
72 lines
2.1 KiB
C++
Executable File
72 lines
2.1 KiB
C++
Executable File
|
|
#ifndef MYTEST_HPP
|
|
#define MYTEST_HPP
|
|
#include<iostream>
|
|
#include"../vector/vector.hpp"
|
|
#include"../list/list.hpp"
|
|
#include"../queue/queue.hpp"
|
|
#include"../queue/lst/queuelst.hpp"
|
|
#include"../queue/vec/queuevec.hpp"
|
|
#include"../stack/stack.hpp"
|
|
#include"../stack/lst/stacklst.hpp"
|
|
#include"../stack/vec/stackvec.hpp"
|
|
/* ************************************************************************** */
|
|
enum class DataStructure{stack,queue};
|
|
enum class DataType{integer,ffloat,sstring};
|
|
enum class Implementation{vector,list};
|
|
|
|
void menu();
|
|
|
|
DataType ChooseDataType(); //choose data type
|
|
DataStructure ChooseDataStructure();
|
|
Implementation ChooseImplementation();
|
|
void UseChosenType(DataStructure, DataType, Implementation);
|
|
|
|
lasd::QueueLst<int> generateRandomQueueListInt();
|
|
lasd::QueueLst<float> generateRandomQueueListFloat();
|
|
lasd::QueueLst<std::string> generateRandomQueueListString();
|
|
lasd::QueueVec<int> generateRandomQueueVecInt();
|
|
lasd::QueueVec<float> generateRandomQueueVecFloat();
|
|
lasd::QueueVec<std::string> generateRandomQueueVecString();
|
|
lasd::StackLst<int> generateRandomStackLstInt();
|
|
lasd::StackLst<float> generateRandomStackLstFloat();
|
|
lasd::StackLst<std::string> generateRandomStackLstString();
|
|
lasd::StackVec<int> generateRandomStackVecInt();
|
|
lasd::StackVec<float> generateRandomStackVecFloat();
|
|
lasd::StackVec<std::string> generateRandomStackVecString();
|
|
|
|
template <typename T>
|
|
void StackFunctions(T&);
|
|
|
|
template <template <typename...> class C, typename T>
|
|
void Push(C<T>&);
|
|
template <typename T>
|
|
void Pop(T&);
|
|
template <typename T>
|
|
void TopNPop(T&);
|
|
template <typename T>
|
|
void Top(T&);
|
|
template <typename T>
|
|
void Empty(T&);
|
|
template <typename T>
|
|
void Size(T&);
|
|
template <typename T>
|
|
void Clear(T&);
|
|
|
|
template <typename T>
|
|
void QueueFunctions(T&);
|
|
template <template <typename...> class C, typename T>
|
|
void Enqueue(C<T>&);
|
|
template <typename T>
|
|
void Dequeue(T&);
|
|
template <typename T>
|
|
void HeadNDequeue(T&);
|
|
template <typename T>
|
|
void Head(T&);
|
|
|
|
std::string generateRandomString(ulong);
|
|
ulong getDimension();
|
|
|
|
/* ************************************************************************** */
|
|
#endif
|