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