//  The C++ Booch Components (Version 2.0)
//  (C) Copyright 1990-1993 Grady Booch. All Rights Reserved.
//
//  BCSearcT.h
//
//  This file contains the declaration of the tree searching tools.

#ifndef BCSEARCT_H
#define BCSEARCT_H 1

#include "BCType.h"

// Binary tree searching class

template<class Tree>
class BC_TBinaryTreeSearch {
public:

  BC_TBinaryTreeSearch();
  virtual ~BC_TBinaryTreeSearch();
  
  virtual BC_Boolean PreOrder(const Tree& target, BC_Boolean (*process)(const Tree&));
  virtual BC_Boolean InOrder(const Tree& target, BC_Boolean (*process)(const Tree&));
  virtual BC_Boolean PostOrder(const Tree& target, BC_Boolean (*process)(const Tree&));

};

#endif
