/**
* @file BlackBoardInterface.h
*
* @author <a href="mailto:mellmann@informatik.hu-berlin.de">Heinrich Mellmann</a>
* Implementation of class BlackBoardInterface
* Implements an interface to access the blackboard
*
*/
#ifndef _BlackBoardInterface_h_
#define _BlackBoardInterface_h_
//#include "BlackBoard.h"
class BlackBoard;
class BlackBoardInterface<--- class 'BlackBoardInterface' does not have a copy constructor which is recommended since the class contains a pointer to allocated memory.
{
private:
BlackBoard* theBlackBoard;
/** indicates whether this object has its own blackboard*/
bool blackBoardOwner;
protected:
/** inherits the blackboard */
BlackBoardInterface(BlackBoard* theBlackBoard);<--- Class 'BlackBoardInterface' has a constructor with 1 argument that is not explicit. [+]Class 'BlackBoardInterface' has a constructor with 1 argument that is not explicit. Such constructors should in general be explicit for type safety reasons. Using the explicit keyword in the constructor means some mistakes when using the class can be avoided.
/** create its own blackboard */
BlackBoardInterface();
virtual ~BlackBoardInterface();
/** getters */
BlackBoard& getBlackBoard();
const BlackBoard& getBlackBoard() const;
};
#endif //_BlackBoardInterface_h_