Ipopt Documentation  
IpRegOptions.hpp
Go to the documentation of this file.
1 // Copyright (C) 2004, 2007 International Business Machines and others.
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // Authors: Carl Laird, Andreas Waechter IBM 2005-06-18
6 
7 #ifndef __IPREGOPTIONS_HPP__
8 #define __IPREGOPTIONS_HPP__
9 
10 #include "IpUtils.hpp"
11 #include "IpReferenced.hpp"
12 #include "IpException.hpp"
13 #include "IpSmartPtr.hpp"
14 
15 #include <map>
16 
17 namespace Ipopt
18 {
19 
21 {
26 };
27 
34 {
35 public:
38  {
39  public:
41  const std::string& value,
42  const std::string& description
43  )
44  : value_(value),
45  description_(description)
46  { }
47 
48  std::string value_;
49  std::string description_;
50  };
51 
55  Index counter
56  )
57  : type_(OT_Unknown),
58  has_lower_(false),
59  has_upper_(false),
60  counter_(counter)
61  {
62  }
63 
65  const std::string& name,
66  const std::string& short_description,
67  const std::string& long_description,
68  const std::string& registering_category,
69  Index counter
70  )
71  : name_(name),
72  short_description_(short_description),
73  long_description_(long_description),
74  registering_category_(registering_category),
75  type_(OT_Unknown),
76  has_lower_(false),
77  has_upper_(false),
78  counter_(counter)
79  {
80  }
81 
83  const RegisteredOption& copy
84  )
85  : name_(copy.name_),
86  short_description_(copy.short_description_),
87  long_description_(copy.long_description_),
88  registering_category_(copy.registering_category_),
89  type_(copy.type_),
90  has_lower_(copy.has_lower_),
91  lower_(copy.lower_),
92  has_upper_(copy.has_upper_),
93  upper_(copy.upper_),
94  valid_strings_(copy.valid_strings_),
95  counter_(copy.counter_)
96  {
97  }
98 
100  { }
102 
103  DECLARE_STD_EXCEPTION(ERROR_CONVERTING_STRING_TO_ENUM)
104  ;
105 
109  virtual const std::string& Name() const
110  {
111  return name_;
112  }
114  virtual void SetName(
115  const std::string& name
116  )
117  {
118  name_ = name;
119  }
121  virtual const std::string& ShortDescription() const
122  {
123  return short_description_;
124  }
125 
127  virtual const std::string& LongDescription() const
128  {
129  return long_description_;
130  }
131 
133  virtual void SetShortDescription(
134  const std::string& short_description
135  )
136  {
137  short_description_ = short_description;
138  }
139 
141  virtual void SetLongDescription(
142  const std::string& long_description
143  )
144  {
145  long_description_ = long_description;
146  }
147 
149  virtual const std::string& RegisteringCategory() const
150  {
151  return registering_category_;
152  }
153 
156  const std::string& registering_category
157  )
158  {
159  registering_category_ = registering_category;
160  }
161 
163  virtual const RegisteredOptionType& Type() const
164  {
165  return type_;
166 
167  }
169  virtual void SetType(
170  const RegisteredOptionType& type
171  )
172  {
173  type_ = type;
174  }
175 
177  virtual Index Counter() const
178  {
179  return counter_;
180  }
182 
192  virtual const bool& HasLower() const
193  {
194  DBG_ASSERT(type_ == OT_Number || type_ == OT_Integer);
195  return has_lower_;
196  }
197 
202  virtual const bool& LowerStrict() const
203  {
204  DBG_ASSERT(type_ == OT_Number && has_lower_ == true);
205  return lower_strict_;
206  }
207 
212  virtual Number LowerNumber() const
213  {
214  DBG_ASSERT(has_lower_ == true && type_ == OT_Number);
215  return lower_;
216  }
217 
222  virtual void SetLowerNumber(
223  const Number& lower,
224  const bool& strict
225  )
226  {
227  DBG_ASSERT(type_ == OT_Number);
228  lower_ = lower;
229  lower_strict_ = strict, has_lower_ = true;
230  }
231 
236  virtual Index LowerInteger() const
237  {
238  DBG_ASSERT(has_lower_ == true && type_ == OT_Integer);
239  return (Index) lower_;
240  }
241 
246  virtual void SetLowerInteger(
247  const Index& lower
248  )
249  {
250  DBG_ASSERT(type_ == OT_Integer);
251  lower_ = (Number) lower;
252  has_lower_ = true;
253  }
254 
259  virtual const bool& HasUpper() const
260  {
261  DBG_ASSERT(type_ == OT_Number || type_ == OT_Integer);
262  return has_upper_;
263  }
264 
269  virtual const bool& UpperStrict() const
270  {
271  DBG_ASSERT(type_ == OT_Number && has_upper_ == true);
272  return upper_strict_;
273  }
274 
279  virtual Number UpperNumber() const
280  {
281  DBG_ASSERT(has_upper_ == true && type_ == OT_Number);
282  return upper_;
283  }
284 
289  virtual void SetUpperNumber(
290  const Number& upper,
291  const bool& strict
292  )
293  {
294  DBG_ASSERT(type_ == OT_Number);
295  upper_ = upper;
296  upper_strict_ = strict;
297  has_upper_ = true;
298  }
299 
304  virtual Index UpperInteger() const
305  {
306  DBG_ASSERT(has_upper_ == true && type_ == OT_Integer);
307  return (Index) upper_;
308  }
309 
314  virtual void SetUpperInteger(
315  const Index& upper
316  )
317  {
318  DBG_ASSERT(type_ == OT_Integer);
319  upper_ = (Number) upper;
320  has_upper_ = true;
321  }
322 
327  virtual void AddValidStringSetting(
328  const std::string value,
329  const std::string description)
330  {
331  DBG_ASSERT(type_ == OT_String);
332  valid_strings_.push_back(string_entry(value, description));
333  }
334 
339  virtual Number DefaultNumber() const
340  {
341  DBG_ASSERT(type_ == OT_Number);
342  return default_number_;
343  }
344 
349  virtual void SetDefaultNumber(
350  const Number& default_value
351  )
352  {
353  DBG_ASSERT(type_ == OT_Number);
354  default_number_ = default_value;
355  }
356 
361  virtual Index DefaultInteger() const
362  {
363  DBG_ASSERT(type_ == OT_Integer);
364  return (Index) default_number_;
365  }
366 
371  virtual void SetDefaultInteger(
372  const Index& default_value
373  )
374  {
375  DBG_ASSERT(type_ == OT_Integer);
376  default_number_ = (Number) default_value;
377  }
378 
383  virtual std::string DefaultString() const
384  {
385  DBG_ASSERT(type_ == OT_String);
386  return default_string_;
387  }
388 
395  virtual Index DefaultStringAsEnum() const
396  {
397  DBG_ASSERT(type_ == OT_String);
398  return MapStringSettingToEnum(default_string_);
399  }
400 
405  virtual void SetDefaultString(
406  const std::string& default_value
407  )
408  {
409  DBG_ASSERT(type_ == OT_String);
410  default_string_ = default_value;
411  }
412 
417  virtual std::vector<string_entry> GetValidStrings() const
418  {
419  DBG_ASSERT(type_ == OT_String);
420  return valid_strings_;
421  }
422 
427  virtual bool IsValidNumberSetting(
428  const Number& value
429  ) const
430  {
431  DBG_ASSERT(type_ == OT_Number);
432  if( has_lower_ && ((lower_strict_ == true && value <= lower_) || (lower_strict_ == false && value < lower_)) )
433  {
434  return false;
435  }
436  if( has_upper_ && ((upper_strict_ == true && value >= upper_) || (upper_strict_ == false && value > upper_)) )
437  {
438  return false;
439  }
440  return true;
441  }
442 
447  virtual bool IsValidIntegerSetting(
448  const Index& value
449  ) const
450  {
451  DBG_ASSERT(type_ == OT_Integer);
452  if( has_lower_ && value < lower_ )
453  {
454  return false;
455  }
456  if( has_upper_ && value > upper_ )
457  {
458  return false;
459  }
460  return true;
461  }
462 
467  virtual bool IsValidStringSetting(
468  const std::string& value
469  ) const;
470 
474  virtual std::string MapStringSetting(
475  const std::string& value
476  ) const;
477 
484  const std::string& value
485  ) const;
487 
489  virtual void OutputDescription(
490  const Journalist& jnlst
491  ) const;
492 
495  const Journalist& jnlst
496  ) const;
497 
500  const Journalist& jnlst
501  ) const;
502 
505  const Journalist& jnlst
506  ) const;
507 
508 private:
509  std::string name_;
510  std::string short_description_;
511  std::string long_description_;
514 
522 
524  std::string source,
525  std::string& dest
526  ) const;
527 
528  std::string MakeValidLatexNumber(
529  Number value
530  ) const;
531 
532  std::string MakeValidHTMLNumber(
533  Number value
534  ) const;
535 
538  const std::string& s1,
539  const std::string& s2
540  ) const;
541 
542  std::vector<string_entry> valid_strings_;
543  std::string default_string_;
544 
548 };
549 
555 {
556 public:
561  : next_counter_(0),
562  current_registering_category_("Uncategorized")
563  { }
564 
567  { }
569 
570  DECLARE_STD_EXCEPTION(OPTION_ALREADY_REGISTERED)
571  ;
572 
580  const std::string& registering_category
581  )
582  {
583  current_registering_category_ = registering_category;
584  }
585 
587  virtual std::string RegisteringCategory()
588  {
589  return current_registering_category_;
590  }
591 
593  virtual void AddNumberOption(
594  const std::string& name,
595  const std::string& short_description,
596  Number default_value,
597  const std::string& long_description = ""
598  );
599 
602  const std::string& name,
603  const std::string& short_description,
604  Number lower,
605  bool strict,
606  Number default_value,
607  const std::string& long_description = ""
608  );
609 
612  const std::string& name,
613  const std::string& short_description,
614  Number upper,
615  bool strict,
616  Number default_value,
617  const std::string& long_description = ""
618  );
619 
622  const std::string& name,
623  const std::string& short_description,
624  Number lower,
625  bool lower_strict,
626  Number upper,
627  bool upper_strict,
628  Number default_value,
629  const std::string& long_description = ""
630  );
631 
633  virtual void AddIntegerOption(
634  const std::string& name,
635  const std::string& short_description,
636  Index default_value,
637  const std::string& long_description = ""
638  );
639 
642  const std::string& name,
643  const std::string& short_description,
644  Index lower,
645  Index default_value,
646  const std::string& long_description = ""
647  );
648 
651  const std::string& name,
652  const std::string& short_description,
653  Index upper,
654  Index default_value,
655  const std::string& long_description = ""
656  );
657 
660  const std::string& name,
661  const std::string& short_description,
662  Index lower,
663  Index upper,
664  Index default_value,
665  const std::string& long_description = ""
666  );
667 
669  virtual void AddStringOption(
670  const std::string& name,
671  const std::string& short_description,
672  const std::string& default_value,
673  const std::vector<std::string>& settings,
674  const std::vector<std::string>& descriptions,
675  const std::string& long_description = ""
676  );
677 
679  virtual void AddStringOption1(
680  const std::string& name,
681  const std::string& short_description,
682  const std::string& default_value,
683  const std::string& setting1,
684  const std::string& description1,
685  const std::string& long_description = ""
686  );
687 
688  virtual void AddStringOption2(
689  const std::string& name,
690  const std::string& short_description,
691  const std::string& default_value,
692  const std::string& setting1,
693  const std::string& description1,
694  const std::string& setting2,
695  const std::string& description2,
696  const std::string& long_description = ""
697  );
698 
699  virtual void AddStringOption3(
700  const std::string& name,
701  const std::string& short_description,
702  const std::string& default_value,
703  const std::string& setting1,
704  const std::string& description1,
705  const std::string& setting2,
706  const std::string& description2,
707  const std::string& setting3,
708  const std::string& description3,
709  const std::string& long_description = ""
710  );
711 
712  virtual void AddStringOption4(
713  const std::string& name,
714  const std::string& short_description,
715  const std::string& default_value,
716  const std::string& setting1,
717  const std::string& description1,
718  const std::string& setting2,
719  const std::string& description2,
720  const std::string& setting3,
721  const std::string& description3,
722  const std::string& setting4,
723  const std::string& description4,
724  const std::string& long_description = ""
725  );
726 
727  virtual void AddStringOption5(
728  const std::string& name,
729  const std::string& short_description,
730  const std::string& default_value,
731  const std::string& setting1,
732  const std::string& description1,
733  const std::string& setting2,
734  const std::string& description2,
735  const std::string& setting3,
736  const std::string& description3,
737  const std::string& setting4,
738  const std::string& description4,
739  const std::string& setting5,
740  const std::string& description5,
741  const std::string& long_description = ""
742  );
743 
744  virtual void AddStringOption6(
745  const std::string& name,
746  const std::string& short_description,
747  const std::string& default_value,
748  const std::string& setting1,
749  const std::string& description1,
750  const std::string& setting2,
751  const std::string& description2,
752  const std::string& setting3,
753  const std::string& description3,
754  const std::string& setting4,
755  const std::string& description4,
756  const std::string& setting5,
757  const std::string& description5,
758  const std::string& setting6,
759  const std::string& description6,
760  const std::string& long_description = ""
761  );
762 
763  virtual void AddStringOption7(
764  const std::string& name,
765  const std::string& short_description,
766  const std::string& default_value,
767  const std::string& setting1,
768  const std::string& description1,
769  const std::string& setting2,
770  const std::string& description2,
771  const std::string& setting3,
772  const std::string& description3,
773  const std::string& setting4,
774  const std::string& description4,
775  const std::string& setting5,
776  const std::string& description5,
777  const std::string& setting6,
778  const std::string& description6,
779  const std::string& setting7,
780  const std::string& description7,
781  const std::string& long_description = ""
782  );
783 
784  virtual void AddStringOption8(
785  const std::string& name,
786  const std::string& short_description,
787  const std::string& default_value,
788  const std::string& setting1,
789  const std::string& description1,
790  const std::string& setting2,
791  const std::string& description2,
792  const std::string& setting3,
793  const std::string& description3,
794  const std::string& setting4,
795  const std::string& description4,
796  const std::string& setting5,
797  const std::string& description5,
798  const std::string& setting6,
799  const std::string& description6,
800  const std::string& setting7,
801  const std::string& description7,
802  const std::string& setting8,
803  const std::string& description8,
804  const std::string& long_description = ""
805  );
806 
807  virtual void AddStringOption9(
808  const std::string& name,
809  const std::string& short_description,
810  const std::string& default_value,
811  const std::string& setting1,
812  const std::string& description1,
813  const std::string& setting2,
814  const std::string& description2,
815  const std::string& setting3,
816  const std::string& description3,
817  const std::string& setting4,
818  const std::string& description4,
819  const std::string& setting5,
820  const std::string& description5,
821  const std::string& setting6,
822  const std::string& description6,
823  const std::string& setting7,
824  const std::string& description7,
825  const std::string& setting8,
826  const std::string& description8,
827  const std::string& setting9,
828  const std::string& description9,
829  const std::string& long_description = ""
830  );
831 
832  virtual void AddStringOption10(
833  const std::string& name,
834  const std::string& short_description,
835  const std::string& default_value,
836  const std::string& setting1,
837  const std::string& description1,
838  const std::string& setting2,
839  const std::string& description2,
840  const std::string& setting3,
841  const std::string& description3,
842  const std::string& setting4,
843  const std::string& description4,
844  const std::string& setting5,
845  const std::string& description5,
846  const std::string& setting6,
847  const std::string& description6,
848  const std::string& setting7,
849  const std::string& description7,
850  const std::string& setting8,
851  const std::string& description8,
852  const std::string& setting9,
853  const std::string& description9,
854  const std::string& setting10,
855  const std::string& description10,
856  const std::string& long_description = ""
857  );
858 
864  const std::string& name
865  );
866 
869  const Journalist& jnlst,
870  std::list<std::string>& categories
871  );
872 
875  const Journalist& jnlst,
876  std::list<std::string>& categories
877  );
878 
881  const Journalist& jnlst,
882  std::list<std::string>& categories
883  );
885 
886  typedef std::map<std::string, SmartPtr<RegisteredOption> > RegOptionsList;
887 
889  virtual const RegOptionsList& RegisteredOptionsList() const
890  {
891  return registered_options_;
892  }
893 
894 private:
897  std::map<std::string, SmartPtr<RegisteredOption> > registered_options_;
898 };
899 
900 } // namespace Ipopt
901 
902 #endif
IpUtils.hpp
Ipopt::RegisteredOptions::AddIntegerOption
virtual void AddIntegerOption(const std::string &name, const std::string &short_description, Index default_value, const std::string &long_description="")
Add a Integer option (with no restrictions)
Ipopt::RegisteredOptions::AddUpperBoundedNumberOption
virtual void AddUpperBoundedNumberOption(const std::string &name, const std::string &short_description, Number upper, bool strict, Number default_value, const std::string &long_description="")
Add a Number option (with a upper bound)
Ipopt::RegisteredOption::string_entry::description_
std::string description_
Definition: IpRegOptions.hpp:49
Ipopt::RegisteredOptions::OutputDoxygenOptionDocumentation
virtual void OutputDoxygenOptionDocumentation(const Journalist &jnlst, std::list< std::string > &categories)
Output documentation in Doxygen format to include in doxygen documentation.
Ipopt::RegisteredOption::default_string_
std::string default_string_
Definition: IpRegOptions.hpp:543
Ipopt::RegisteredOption::~RegisteredOption
virtual ~RegisteredOption()
Definition: IpRegOptions.hpp:99
Ipopt::RegisteredOptions::AddStringOption10
virtual void AddStringOption10(const std::string &name, const std::string &short_description, const std::string &default_value, const std::string &setting1, const std::string &description1, const std::string &setting2, const std::string &description2, const std::string &setting3, const std::string &description3, const std::string &setting4, const std::string &description4, const std::string &setting5, const std::string &description5, const std::string &setting6, const std::string &description6, const std::string &setting7, const std::string &description7, const std::string &setting8, const std::string &description8, const std::string &setting9, const std::string &description9, const std::string &setting10, const std::string &description10, const std::string &long_description="")
Ipopt::RegisteredOption::has_upper_
bool has_upper_
Definition: IpRegOptions.hpp:518
Ipopt::RegisteredOptions::AddStringOption
virtual void AddStringOption(const std::string &name, const std::string &short_description, const std::string &default_value, const std::vector< std::string > &settings, const std::vector< std::string > &descriptions, const std::string &long_description="")
Add a String option (with no restrictions)
Ipopt::RegisteredOptions::RegisteredOptions
RegisteredOptions()
Constructors / Destructors.
Definition: IpRegOptions.hpp:560
Ipopt::RegisteredOption::RegisteredOption
RegisteredOption(const std::string &name, const std::string &short_description, const std::string &long_description, const std::string &registering_category, Index counter)
Definition: IpRegOptions.hpp:64
Ipopt::RegisteredOptionType
RegisteredOptionType
Definition: IpRegOptions.hpp:21
Ipopt::RegisteredOptions::AddUpperBoundedIntegerOption
virtual void AddUpperBoundedIntegerOption(const std::string &name, const std::string &short_description, Index upper, Index default_value, const std::string &long_description="")
Add a Integer option (with a upper bound)
Ipopt::RegisteredOption::SetUpperNumber
virtual void SetUpperNumber(const Number &upper, const bool &strict)
set the Number version of the upper bound
Definition: IpRegOptions.hpp:289
Ipopt::RegisteredOptions::RegisteringCategory
virtual std::string RegisteringCategory()
retrieve the value of the current registering category
Definition: IpRegOptions.hpp:587
Ipopt::RegisteredOption::MakeValidHTMLNumber
std::string MakeValidHTMLNumber(Number value) const
IpSmartPtr.hpp
Ipopt::RegisteredOption::LowerNumber
virtual Number LowerNumber() const
get the Number version of the lower bound
Definition: IpRegOptions.hpp:212
Ipopt::RegisteredOption
Base class for registered options.
Definition: IpRegOptions.hpp:34
Ipopt::RegisteredOption::GetValidStrings
virtual std::vector< string_entry > GetValidStrings() const
get the valid string settings
Definition: IpRegOptions.hpp:417
Ipopt::RegisteredOptions::AddLowerBoundedNumberOption
virtual void AddLowerBoundedNumberOption(const std::string &name, const std::string &short_description, Number lower, bool strict, Number default_value, const std::string &long_description="")
Add a Number option (with a lower bound)
Ipopt::RegisteredOptions::OutputOptionDocumentation
virtual void OutputOptionDocumentation(const Journalist &jnlst, std::list< std::string > &categories)
Output documentation for the options - gives a description, etc.
Ipopt
This file contains a base class for all exceptions and a set of macros to help with exceptions.
Definition: IpInexactAlgBuilder.hpp:14
Ipopt::Number
double Number
Type of all numbers.
Definition: IpTypes.hpp:15
Ipopt::RegisteredOptions::AddStringOption1
virtual void AddStringOption1(const std::string &name, const std::string &short_description, const std::string &default_value, const std::string &setting1, const std::string &description1, const std::string &long_description="")
Methods that make adding string options with only a few entries easier.
Ipopt::OT_Unknown
@ OT_Unknown
Definition: IpRegOptions.hpp:25
Ipopt::OT_Number
@ OT_Number
Definition: IpRegOptions.hpp:22
Ipopt::RegisteredOption::upper_strict_
bool upper_strict_
Definition: IpRegOptions.hpp:519
Ipopt::RegisteredOption::upper_
Number upper_
Definition: IpRegOptions.hpp:520
Ipopt::RegisteredOptions::AddStringOption2
virtual void AddStringOption2(const std::string &name, const std::string &short_description, const std::string &default_value, const std::string &setting1, const std::string &description1, const std::string &setting2, const std::string &description2, const std::string &long_description="")
Ipopt::RegisteredOption::AddValidStringSetting
virtual void AddValidStringSetting(const std::string value, const std::string description)
method to add valid string entries
Definition: IpRegOptions.hpp:327
Ipopt::RegisteredOption::IsValidIntegerSetting
virtual bool IsValidIntegerSetting(const Index &value) const
Check if the Integer value is a valid setting.
Definition: IpRegOptions.hpp:447
Ipopt::RegisteredOption::string_entry
class to hold the valid string settings for a string option
Definition: IpRegOptions.hpp:38
Ipopt::RegisteredOption::lower_strict_
bool lower_strict_
Definition: IpRegOptions.hpp:516
Ipopt::RegisteredOptions::SetRegisteringCategory
virtual void SetRegisteringCategory(const std::string &registering_category)
Methods to interact with registered options.
Definition: IpRegOptions.hpp:579
Ipopt::RegisteredOptions::AddStringOption5
virtual void AddStringOption5(const std::string &name, const std::string &short_description, const std::string &default_value, const std::string &setting1, const std::string &description1, const std::string &setting2, const std::string &description2, const std::string &setting3, const std::string &description3, const std::string &setting4, const std::string &description4, const std::string &setting5, const std::string &description5, const std::string &long_description="")
IPOPTLIB_EXPORT
#define IPOPTLIB_EXPORT
Definition: config_default.h:16
Ipopt::RegisteredOption::SetLowerNumber
virtual void SetLowerNumber(const Number &lower, const bool &strict)
set the Number version of the lower bound
Definition: IpRegOptions.hpp:222
Ipopt::RegisteredOption::RegisteredOption
RegisteredOption(const RegisteredOption &copy)
Definition: IpRegOptions.hpp:82
Ipopt::RegisteredOption::SetUpperInteger
virtual void SetUpperInteger(const Index &upper)
set the Integer version of the upper bound
Definition: IpRegOptions.hpp:314
Ipopt::RegisteredOptions::AddStringOption7
virtual void AddStringOption7(const std::string &name, const std::string &short_description, const std::string &default_value, const std::string &setting1, const std::string &description1, const std::string &setting2, const std::string &description2, const std::string &setting3, const std::string &description3, const std::string &setting4, const std::string &description4, const std::string &setting5, const std::string &description5, const std::string &setting6, const std::string &description6, const std::string &setting7, const std::string &description7, const std::string &long_description="")
Ipopt::RegisteredOption::SetShortDescription
virtual void SetShortDescription(const std::string &short_description)
Set the short description.
Definition: IpRegOptions.hpp:133
Ipopt::RegisteredOptions
Class for storing registered options.
Definition: IpRegOptions.hpp:555
Ipopt::RegisteredOption::SetRegisteringCategory
virtual void SetRegisteringCategory(const std::string &registering_category)
Set the registering class.
Definition: IpRegOptions.hpp:155
Ipopt::RegisteredOptions::AddBoundedNumberOption
virtual void AddBoundedNumberOption(const std::string &name, const std::string &short_description, Number lower, bool lower_strict, Number upper, bool upper_strict, Number default_value, const std::string &long_description="")
Add a Number option (with a both bounds)
Ipopt::RegisteredOption::lower_
Number lower_
Definition: IpRegOptions.hpp:517
Ipopt::RegisteredOption::MakeValidLatexNumber
std::string MakeValidLatexNumber(Number value) const
Ipopt::Index
int Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:17
Ipopt::RegisteredOptions::OutputLatexOptionDocumentation
virtual void OutputLatexOptionDocumentation(const Journalist &jnlst, std::list< std::string > &categories)
Output documentation in Latex format to include in a latex file.
Ipopt::RegisteredOption::HasUpper
virtual const bool & HasUpper() const
check if the option has an upper bound
Definition: IpRegOptions.hpp:259
Ipopt::RegisteredOptions::GetOption
virtual SmartPtr< const RegisteredOption > GetOption(const std::string &name)
Get a registered option.
Ipopt::RegisteredOption::SetType
virtual void SetType(const RegisteredOptionType &type)
Get the Option's type.
Definition: IpRegOptions.hpp:169
Ipopt::RegisteredOption::Counter
virtual Index Counter() const
Counter.
Definition: IpRegOptions.hpp:177
Ipopt::RegisteredOption::UpperStrict
virtual const bool & UpperStrict() const
check if the upper bound is strict
Definition: IpRegOptions.hpp:269
Ipopt::RegisteredOption::MapStringSettingToEnum
virtual Index MapStringSettingToEnum(const std::string &value) const
Map a user setting (allowing any case) to the index of the matched setting in the list of string sett...
Ipopt::RegisteredOption::UpperNumber
virtual Number UpperNumber() const
get the Number version of the upper bound
Definition: IpRegOptions.hpp:279
Ipopt::SmartPtr
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
Ipopt::RegisteredOptions::~RegisteredOptions
virtual ~RegisteredOptions()
Destructor.
Definition: IpRegOptions.hpp:566
Ipopt::RegisteredOption::name_
std::string name_
Definition: IpRegOptions.hpp:509
Ipopt::RegisteredOptions::current_registering_category_
std::string current_registering_category_
Definition: IpRegOptions.hpp:896
Ipopt::RegisteredOption::RegisteringCategory
virtual const std::string & RegisteringCategory() const
Get the registering class.
Definition: IpRegOptions.hpp:149
Ipopt::RegisteredOptions::AddLowerBoundedIntegerOption
virtual void AddLowerBoundedIntegerOption(const std::string &name, const std::string &short_description, Index lower, Index default_value, const std::string &long_description="")
Add a Integer option (with a lower bound)
Ipopt::RegisteredOptions::registered_options_
std::map< std::string, SmartPtr< RegisteredOption > > registered_options_
Definition: IpRegOptions.hpp:897
Ipopt::RegisteredOption::UpperInteger
virtual Index UpperInteger() const
get the Integer version of the upper bound
Definition: IpRegOptions.hpp:304
Ipopt::RegisteredOption::LongDescription
virtual const std::string & LongDescription() const
Get the long description.
Definition: IpRegOptions.hpp:127
Ipopt::RegisteredOptions::RegisteredOptionsList
virtual const RegOptionsList & RegisteredOptionsList() const
Giving access to iteratable representation of the registered options.
Definition: IpRegOptions.hpp:889
Ipopt::RegisteredOption::OutputDoxygenDescription
virtual void OutputDoxygenDescription(const Journalist &jnlst) const
output a doxygen version
IpReferenced.hpp
Ipopt::OT_Integer
@ OT_Integer
Definition: IpRegOptions.hpp:23
Ipopt::RegisteredOptions::next_counter_
Index next_counter_
Definition: IpRegOptions.hpp:895
Ipopt::RegisteredOption::SetName
virtual void SetName(const std::string &name)
Set the option's name (tag in the input file)
Definition: IpRegOptions.hpp:114
Ipopt::OT_String
@ OT_String
Definition: IpRegOptions.hpp:24
Ipopt::RegisteredOption::long_description_
std::string long_description_
Definition: IpRegOptions.hpp:511
Ipopt::RegisteredOptions::RegOptionsList
std::map< std::string, SmartPtr< RegisteredOption > > RegOptionsList
Definition: IpRegOptions.hpp:886
Ipopt::RegisteredOptions::AddNumberOption
virtual void AddNumberOption(const std::string &name, const std::string &short_description, Number default_value, const std::string &long_description="")
Add a Number option (with no restrictions)
Ipopt::Journalist
Class responsible for all message output.
Definition: IpJournalist.hpp:117
Ipopt::RegisteredOption::DefaultString
virtual std::string DefaultString() const
get the default as a string
Definition: IpRegOptions.hpp:383
Ipopt::RegisteredOption::LowerInteger
virtual Index LowerInteger() const
get the Integer version of the lower bound
Definition: IpRegOptions.hpp:236
Ipopt::RegisteredOption::type_
RegisteredOptionType type_
Definition: IpRegOptions.hpp:513
Ipopt::RegisteredOption::Name
virtual const std::string & Name() const
Standard Get / Set Methods.
Definition: IpRegOptions.hpp:109
Ipopt::RegisteredOption::HasLower
virtual const bool & HasLower() const
check if the option has a lower bound
Definition: IpRegOptions.hpp:192
Ipopt::RegisteredOption::IsValidNumberSetting
virtual bool IsValidNumberSetting(const Number &value) const
Check if the Number value is a valid setting.
Definition: IpRegOptions.hpp:427
Ipopt::RegisteredOption::string_entry::value_
std::string value_
Definition: IpRegOptions.hpp:48
Ipopt::RegisteredOption::MapStringSetting
virtual std::string MapStringSetting(const std::string &value) const
Map a user setting (allowing any case) to the case used when the setting was registered.
Ipopt::RegisteredOption::RegisteredOption
RegisteredOption(Index counter)
Constructors / Destructors.
Definition: IpRegOptions.hpp:54
Ipopt::RegisteredOption::Type
virtual const RegisteredOptionType & Type() const
Get the Option's type.
Definition: IpRegOptions.hpp:163
Ipopt::RegisteredOption::DefaultNumber
virtual Number DefaultNumber() const
get the default as a Number
Definition: IpRegOptions.hpp:339
Ipopt::RegisteredOption::registering_category_
std::string registering_category_
Definition: IpRegOptions.hpp:512
Ipopt::RegisteredOption::OutputDescription
virtual void OutputDescription(const Journalist &jnlst) const
output a description of the option
Ipopt::RegisteredOption::default_number_
Number default_number_
Definition: IpRegOptions.hpp:521
Ipopt::RegisteredOptions::AddBoundedIntegerOption
virtual void AddBoundedIntegerOption(const std::string &name, const std::string &short_description, Index lower, Index upper, Index default_value, const std::string &long_description="")
Add a Integer option (with a both bounds)
Ipopt::RegisteredOptions::AddStringOption8
virtual void AddStringOption8(const std::string &name, const std::string &short_description, const std::string &default_value, const std::string &setting1, const std::string &description1, const std::string &setting2, const std::string &description2, const std::string &setting3, const std::string &description3, const std::string &setting4, const std::string &description4, const std::string &setting5, const std::string &description5, const std::string &setting6, const std::string &description6, const std::string &setting7, const std::string &description7, const std::string &setting8, const std::string &description8, const std::string &long_description="")
Ipopt::RegisteredOption::DefaultStringAsEnum
virtual Index DefaultStringAsEnum() const
get the default as a string, but as the index of the string in the list
Definition: IpRegOptions.hpp:395
IpException.hpp
Ipopt::RegisteredOption::SetDefaultString
virtual void SetDefaultString(const std::string &default_value)
Set the default as a string.
Definition: IpRegOptions.hpp:405
Ipopt::DECLARE_STD_EXCEPTION
DECLARE_STD_EXCEPTION(FATAL_ERROR_IN_LINEAR_SOLVER)
Ipopt::RegisteredOption::short_description_
std::string short_description_
Definition: IpRegOptions.hpp:510
Ipopt::RegisteredOption::valid_strings_
std::vector< string_entry > valid_strings_
Definition: IpRegOptions.hpp:542
Ipopt::RegisteredOption::SetDefaultInteger
virtual void SetDefaultInteger(const Index &default_value)
Set the default as an Integer.
Definition: IpRegOptions.hpp:371
DBG_ASSERT
#define DBG_ASSERT(test)
Definition: IpDebug.hpp:28
Ipopt::RegisteredOptions::AddStringOption6
virtual void AddStringOption6(const std::string &name, const std::string &short_description, const std::string &default_value, const std::string &setting1, const std::string &description1, const std::string &setting2, const std::string &description2, const std::string &setting3, const std::string &description3, const std::string &setting4, const std::string &description4, const std::string &setting5, const std::string &description5, const std::string &setting6, const std::string &description6, const std::string &long_description="")
Ipopt::RegisteredOption::counter_
const Index counter_
Has the information as how many-th option this one was registered.
Definition: IpRegOptions.hpp:547
Ipopt::RegisteredOption::string_equal_insensitive
bool string_equal_insensitive(const std::string &s1, const std::string &s2) const
Compare two strings and return true if they are equal (case insensitive comparison)
Ipopt::RegisteredOption::string_entry::string_entry
string_entry(const std::string &value, const std::string &description)
Definition: IpRegOptions.hpp:40
Ipopt::RegisteredOptions::AddStringOption3
virtual void AddStringOption3(const std::string &name, const std::string &short_description, const std::string &default_value, const std::string &setting1, const std::string &description1, const std::string &setting2, const std::string &description2, const std::string &setting3, const std::string &description3, const std::string &long_description="")
Ipopt::ReferencedObject
Storing the reference count of all the smart pointers that currently reference it.
Definition: IpReferenced.hpp:170
Ipopt::RegisteredOption::OutputLatexDescription
virtual void OutputLatexDescription(const Journalist &jnlst) const
output a latex version
Ipopt::RegisteredOption::SetLongDescription
virtual void SetLongDescription(const std::string &long_description)
Set the long description.
Definition: IpRegOptions.hpp:141
Ipopt::RegisteredOption::LowerStrict
virtual const bool & LowerStrict() const
check if the lower bound is strict
Definition: IpRegOptions.hpp:202
Ipopt::RegisteredOption::DefaultInteger
virtual Index DefaultInteger() const
get the default as an Integer
Definition: IpRegOptions.hpp:361
Ipopt::RegisteredOption::MakeValidLatexString
void MakeValidLatexString(std::string source, std::string &dest) const
Ipopt::RegisteredOption::OutputShortDescription
virtual void OutputShortDescription(const Journalist &jnlst) const
output a more concise version
Ipopt::RegisteredOption::IsValidStringSetting
virtual bool IsValidStringSetting(const std::string &value) const
Check if the String value is a valid setting.
Ipopt::RegisteredOptions::AddStringOption9
virtual void AddStringOption9(const std::string &name, const std::string &short_description, const std::string &default_value, const std::string &setting1, const std::string &description1, const std::string &setting2, const std::string &description2, const std::string &setting3, const std::string &description3, const std::string &setting4, const std::string &description4, const std::string &setting5, const std::string &description5, const std::string &setting6, const std::string &description6, const std::string &setting7, const std::string &description7, const std::string &setting8, const std::string &description8, const std::string &setting9, const std::string &description9, const std::string &long_description="")
Ipopt::RegisteredOption::has_lower_
bool has_lower_
Definition: IpRegOptions.hpp:515
Ipopt::RegisteredOption::SetDefaultNumber
virtual void SetDefaultNumber(const Number &default_value)
Set the default as a Number.
Definition: IpRegOptions.hpp:349
Ipopt::RegisteredOption::SetLowerInteger
virtual void SetLowerInteger(const Index &lower)
set the Integer version of the lower bound
Definition: IpRegOptions.hpp:246
Ipopt::RegisteredOptions::AddStringOption4
virtual void AddStringOption4(const std::string &name, const std::string &short_description, const std::string &default_value, const std::string &setting1, const std::string &description1, const std::string &setting2, const std::string &description2, const std::string &setting3, const std::string &description3, const std::string &setting4, const std::string &description4, const std::string &long_description="")
Ipopt::RegisteredOption::ShortDescription
virtual const std::string & ShortDescription() const
Get the short description.
Definition: IpRegOptions.hpp:121