TSPLIB
src/ValidateInstance.hpp
Go to the documentation of this file.
00001 
00014 #ifndef _ValidateInstance_HPP_
00015 #define _ValidateInstance_HPP_
00016 
00017 #include <ios>
00018 #include <sstream>
00019 #include <string>
00020 
00021 #include "ValidateGraph.hpp"
00022 
00023 
00029 class Instance {
00030 private:
00034         std::string name;
00035 
00039         std::string source;
00040 
00044         std::string description;
00045 
00049         std::streamsize doublePrecision;
00050 
00055         std::streamsize ignoredDigits;
00056 
00060         double doubleZero;
00061 
00065         Graph *graph;
00066 
00078         void init(
00079                         const std::string &name,
00080                         const std::string &source,
00081                         const std::string &description,
00082                         const std::streamsize doublePrecision,
00083                         const std::streamsize ignoredDigits,
00084                         const Graph &graph);
00085 
00086 public:
00098         Instance(
00099                         const std::string &name,
00100                         const std::string &source,
00101                         const std::string &description,
00102                         const std::streamsize doublePrecision,
00103                         const std::streamsize ignoredDigits,
00104                         const Graph &graph);
00105 
00110         Instance(const Instance &instance);
00111 
00115         ~Instance();
00116 
00122         Instance &operator=(const Instance &instance);
00123 
00130         friend std::ostream &operator<<(std::ostream &os, Instance &instance);
00131 
00136         inline std::string getName() const {
00137                 return (name);
00138         }
00139 
00144         inline std::string getSource() const {
00145                 return (source);
00146         }
00147 
00152         inline std::string getDescription() const {
00153                 return (description);
00154         }
00155 
00160         inline std::streamsize getDoublePrecision() const {
00161                 return (doublePrecision);
00162         }
00163 
00172         inline std::streamsize getIgnoredDigits() const {
00173                 return (ignoredDigits);
00174         }
00175 
00180         inline double getDoubleZero() const {
00181                 return (doubleZero);
00182         }
00183 
00188         inline Graph *getGraph() const {
00189                 return (graph);
00190         }
00191 };
00192 
00193 
00194 #endif
 All Classes Files Functions Variables Friends Defines