lasd/librerie/exercise4/zmytest/test.hpp

112 lines
2.5 KiB
C++
Raw Normal View History

2021-05-11 06:51:06 +02:00
#ifndef MYTEST_HPP
#define MYTEST_HPP
2021-05-17 11:51:00 +02:00
#include"../binarytree/lnk/binarytreelnk.hpp"
#include"../bst/bst.hpp"
2021-05-11 06:51:06 +02:00
/* ************************************************************************** */
2021-05-17 11:51:00 +02:00
enum class DataType{integer,ffloat,sstring};
2021-05-11 06:51:06 +02:00
2021-05-17 11:51:00 +02:00
/* ---- integer functions ---- */
template <typename T>
void IntegerFunctions(T&);
template <typename T>
void ProductsElementsLessThan(T&);
void AccumulateProduct(const int&, const void*, void*);
/* ----- float functions ----- */
template <typename T>
void FloatFunctions(T&);
template <typename T>
void SumElementsGreaterThan(T&);
void AccumulateSum(const float&, const void*, void*);
/* ----- string functions ----- */
template <typename T>
void StringFunctions(T&);
template <typename T>
void ConcatLessThan(T&);
void ConcatAString(const std::string&, const void*, void*);
/* ---- shared functions ---- */
void menu();
template <template <typename...> class Tree, typename DTType>
void PrintTree(Tree<DTType>&);
template <typename Data>
void PrintSingleElement(Data& data, void* _);
template <template <typename...> class Tree, typename DTType>
void CheckExistence(Tree<DTType>& tree);
template <template <typename...> class Tree, typename DTType>
void InsertElement(Tree<DTType>&);
template <template <typename...> class Tree, typename DTType>
void RemoveElement(Tree<DTType>&);
template <typename T>
void PrintMinimum(T&);
template <typename T>
void PrintMinimumNDelete(T&);
template <typename T>
void RemoveMin(T&);
template <typename T>
void PrintMaximum(T&);
template <typename T>
void PrintMaximumNDelete(T&);
template <typename T>
void RemoveMax(T&);
template <template <typename...> class Tree, typename DTType>
void PrintPredecessor(Tree<DTType>&);
template <template <typename...> class Tree, typename DTType>
void PredecessorNRemove(Tree<DTType>&);
template <template <typename...> class Tree, typename DTType>
void RemovePredecessor(Tree<DTType>&);
template <template <typename...> class Tree, typename DTType>
void PrintSuccessor(Tree<DTType>&);
template <template <typename...> class Tree, typename DTType>
void SuccessorNRemove(Tree<DTType>&);
template <template <typename...> class Tree, typename DTType>
void RemoveSuccessor(Tree<DTType>&);
template <typename T>
void NodeOperations(T&);
/* ----- generator functions ----- */
DataType ChooseDataType(); //choose data type
void UseChosenType(DataType);
template <typename T>
T GenerateIntegerBST(T&);
template <typename T>
T GenerateFloatBST(T&);
template <typename T>
T GenerateStringsBST(T&);
std::string generateRandomString(ulong);
ulong getDimension();
2021-05-11 06:51:06 +02:00
#endif