00001 #include "Sti/Base/Parameter.h"
00002 #include "Sti/Base/Factory.h"
00003 #include "Sti/Base/Parameters.h"
00004 #include <stdexcept>
00005
00006 Parameters::Parameters()
00007 : Named("noName"),
00008 Described("noDesc")
00009 {}
00010
00011 Parameters::Parameters(const string & name, const string & description)
00012 : Named(name),
00013 Described(description)
00014 {}
00015
00016 Parameters::Parameters(const Parameters & parameter)
00017 {
00018
00019
00020
00021
00022
00023
00024
00025
00026 }
00027
00028 Parameters::~Parameters()
00029 {
00030 }
00031
00032 const Parameters & Parameters::operator=(const Parameters & parameter)
00033 {
00034 return *this;
00035 }
00036
00037 Parameter * Parameters::add(Parameter * parameter)
00038 {
00039 parameterVector.push_back(parameter);
00040 return parameter;
00041 }
00042
00043 ParameterIterator Parameters::begin()
00044 {
00045 return parameterVector.begin();
00046 }
00047
00048 ParameterIterator Parameters::end()
00049 {
00050 return parameterVector.end();
00051 }
00052
00053 ParameterConstIterator Parameters::begin() const
00054 {
00055 return parameterVector.begin();
00056 }
00057
00058 ParameterConstIterator Parameters::end() const
00059 {
00060 return parameterVector.end();
00061 }
00062
00063 Parameter * Parameters::getParameter(const string name)
00064 {
00065 ParameterIterator iter;
00066 for (iter=parameterVector.begin();
00067 iter!=parameterVector.end();
00068 iter++)
00069 {
00070 if ((*iter)->isName(name))
00071 return *iter;
00072 }
00073 throw runtime_error("Parameters::getParameter(name) -E- Requested name not found");
00074 }
00075
00076