owlps/owlps-positioning/src/result.hh

68 lines
1.2 KiB
C++

#ifndef _OWLPS_POSITIONING_RESULT_HH_
#define _OWLPS_POSITIONING_RESULT_HH_
class Request ;
#include "point3d.hh"
/// Represents a result computed by a positioning algorithm
class Result
{
protected:
Point3D position ;
Request *request ;
public:
Result(const Request *_request = NULL):
request(const_cast<Request*>(_request)) {}
Result(const Request *_request, const Point3D &_position):
position(_position), request(const_cast<Request*>(_request)) {}
~Result(void) {}
/** @name Read accessors */
//@{
const Point3D& get_position(void) const ;
const Request* get_request(void) const ;
//@}
/** @name Operators */
//@{
const Result& operator=(const Result &source) ;
bool operator==(const Result &source) const ;
bool operator!=(const Result &source) const ;
//@}
/// Displays a Result
friend std::ostream& operator<<(std::ostream &os, const Result &r) ;
} ;
/* *** Read accessors *** */
inline const Point3D& Result::get_position() const
{
return position ;
}
inline const Request* Result::get_request() const
{
return request ;
}
/* *** Operators *** */
inline bool Result::operator!=(const Result &source) const
{
return !(*this == source) ;
}
#endif // _OWLPS_POSITIONING_RESULT_HH_