00001 // -*- mode: c++; indent-tabs-mode: nil; c-basic-offset: 4; tab-width: 4; -*- 00002 #ifndef __CONFIGURATION_H__ 00003 #define __CONFIGURATION_H__ 00004 00005 #include "exportdef.h" 00006 #include <vector> 00007 #include <iostream> 00008 00009 namespace PathEngine { 00010 class HRPPLANNER_API Configuration 00011 { 00012 public: 00016 Configuration(unsigned int i_size); 00017 00023 const double value(unsigned int i_rank) const; 00024 const double operator[](unsigned int i_rank) const { return value(i_rank); } 00025 00031 double& value(unsigned int i_rank); 00032 double& operator[](unsigned int i_rank) { return value(i_rank); } 00033 00038 unsigned int size() const; 00039 00044 bool operator!=(const Configuration& cfg); 00045 00050 bool operator==(const Configuration& cfg); 00051 00052 private: 00053 std::vector<double> m_values; 00054 }; 00055 00056 std::ostream& operator<< (std::ostream& out, const PathEngine::Configuration& cfg); 00057 }; 00058 00059 00060 #endif