#ifndef BINARYTREEVEC_HPP #define BINARYTREEVEC_HPP /* ************************************************************************** */ #include "../binarytree.hpp" #include "../../vector/vector.hpp" /* ************************************************************************** */ namespace lasd { /* ************************************************************************** */ template class BinaryTreeVec { // Must extend BinaryTree private: // ... protected: // using BinaryTree::???; // ... struct NodeVec { // Must extend Node private: // ... protected: // ... public: // ... }; public: // Default constructor // BinaryTreeVec() specifiers; /* ************************************************************************ */ // Specific constructors // BinaryTreeVec(argument) specifiers; // A binary tree obtained from a LinearContainer /* ************************************************************************ */ // Copy constructor // BinaryTreeVec(argument) specifiers; // Move constructor // BinaryTreeVec(argument) specifiers; /* ************************************************************************ */ // Destructor // ~BinaryTreeVec() specifiers; /* ************************************************************************ */ // Copy assignment // type operator=(argument) specifiers; // Move assignment // type operator=(argument) specifiers; /* ************************************************************************ */ // Comparison operators // type operator==(argument) specifiers; // type operator!=(argument) specifiers; /* ************************************************************************ */ // Specific member functions (inherited from BinaryTree) // type Root() specifiers; // Override BinaryTree member (throw std::length_error when empty) /* ************************************************************************ */ // Specific member functions (inherited from Container) // type Clear() specifiers; // Override Container member /* ************************************************************************ */ // Specific member functions (inherited from BreadthMappableContainer) // type MapBreadth(arguments) specifiers; // Override BreadthMappableContainer member /* ************************************************************************ */ // Specific member functions (inherited from BreadthFoldableContainer) // type FoldBreadth(arguments) specifiers; // Override BreadthFoldableContainer member }; /* ************************************************************************** */ } #include "binarytreevec.cpp" #endif