mirror of https://github.com/xfarrow/lasd.git
parent
a062709dc4
commit
599433ced3
|
@ -1,10 +1,29 @@
|
||||||
|
|
||||||
namespace lasd {
|
namespace lasd {
|
||||||
|
|
||||||
/* ************************************************************************** */
|
template <typename Data>
|
||||||
|
BST<Data>::BST(const BST<Data>& bst)
|
||||||
|
: BinaryTreeLnk<Data>(bst){}
|
||||||
|
|
||||||
// ...
|
template <typename Data>
|
||||||
|
BST<Data>::BST(BST<Data>&& bst) noexcept
|
||||||
|
: BinaryTreeLnk<Data>(std::move(bst)){}
|
||||||
|
|
||||||
/* ************************************************************************** */
|
template <typename Data>
|
||||||
|
BST<Data>::~BST(){
|
||||||
|
BinaryTreeLnk<Data>::Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename Data>
|
||||||
|
BST<Data>& BST<Data>::operator=(const BST<Data>& bst){
|
||||||
|
BinaryTreeLnk<Data>::operator=(bst);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename Data>
|
||||||
|
BST<Data>& BST<Data>::operator=(BST<Data>&& bst) noexcept{
|
||||||
|
BinaryTreeLnk<Data>::operator=(std::move(bst));
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,22 +13,18 @@ namespace lasd {
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
template <typename Data>
|
template <typename Data>
|
||||||
class BST { // Must extend BinaryTreeLnk<Data>
|
class BST : virtual public BinaryTreeLnk<Data> { // Must extend BinaryTreeLnk<Data>
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
// ...
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
// using BinaryTreeLnk<Data>::???;
|
using BinaryTreeLnk<Data>::size;
|
||||||
|
using BinaryTreeLnk<Data>::root;
|
||||||
|
using typename BinaryTreeLnk<Data>::NodeLnk;
|
||||||
|
|
||||||
// ...
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
// Default constructor
|
BST() = default;
|
||||||
// BST() specifiers;
|
|
||||||
|
|
||||||
/* ************************************************************************ */
|
/* ************************************************************************ */
|
||||||
|
|
||||||
|
@ -38,23 +34,23 @@ public:
|
||||||
/* ************************************************************************ */
|
/* ************************************************************************ */
|
||||||
|
|
||||||
// Copy constructor
|
// Copy constructor
|
||||||
// BST(argument) specifiers;
|
BST(const BST<Data>&);
|
||||||
|
|
||||||
// Move constructor
|
// Move constructor
|
||||||
// BST(argument) specifiers;
|
BST(BST<Data>&&) noexcept;
|
||||||
|
|
||||||
/* ************************************************************************ */
|
/* ************************************************************************ */
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
// ~BST() specifiers;
|
~BST();
|
||||||
|
|
||||||
/* ************************************************************************ */
|
/* ************************************************************************ */
|
||||||
|
|
||||||
// Copy assignment
|
// Copy assignment
|
||||||
// type operator=(argument) specifiers;
|
BST& operator=(const BST<Data>&);
|
||||||
|
|
||||||
// Move assignment
|
// Move assignment
|
||||||
// type operator=(argument) specifiers;
|
BST& operator=(BST<Data>&&) noexcept;
|
||||||
|
|
||||||
/* ************************************************************************ */
|
/* ************************************************************************ */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue