Ipopt Documentation  
 
Loading...
Searching...
No Matches
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
17namespace Ipopt
18{
19
21{
26};
27
34{
35public:
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
108
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
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
188
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
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
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
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
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
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
508private:
509 std::string name_;
511 std::string long_description_;
514
522
524 std::string source,
525 std::string& dest
526 ) const;
527
529 Number value
530 ) const;
531
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{
556public:
559
561 : next_counter_(0),
562 current_registering_category_("Uncategorized")
563 { }
564
567 { }
569
570 DECLARE_STD_EXCEPTION(OPTION_ALREADY_REGISTERED)
571 ;
572
575
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
890 {
891 return registered_options_;
892 }
893
894private:
897 std::map<std::string, SmartPtr<RegisteredOption> > registered_options_;
898};
899
900} // namespace Ipopt
901
902#endif
#define DBG_ASSERT(test)
Definition: IpDebug.hpp:27
#define DECLARE_STD_EXCEPTION(__except_type)
double Number
Type for all number.
Class responsible for all message output.
Storing the reference count of all the smart pointers that currently reference it.
class to hold the valid string settings for a string option
std::string value_
std::string description_
string_entry(const std::string &value, const std::string &description)
Base class for registered options.
std::string registering_category_
virtual Number LowerNumber() const
get the Number version of the lower bound
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.
RegisteredOptionType type_
std::vector< string_entry > valid_strings_
RegisteredOption(Index counter)
Constructors / Destructors.
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)
virtual bool IsValidStringSetting(const std::string &value) const
Check if the String value is a valid setting.
virtual std::vector< string_entry > GetValidStrings() const
get the valid string settings
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...
virtual void SetRegisteringCategory(const std::string &registering_category)
Set the registering class.
virtual Index DefaultInteger() const
get the default as an Integer
virtual const RegisteredOptionType & Type() const
Get the Option's type.
std::string short_description_
virtual void AddValidStringSetting(const std::string value, const std::string description)
method to add valid string entries
virtual void OutputShortDescription(const Journalist &jnlst) const
output a more concise version
virtual const std::string & LongDescription() const
Get the long description.
virtual const bool & HasLower() const
check if the option has a lower bound
virtual void SetName(const std::string &name)
Set the option's name (tag in the input file)
virtual void OutputDoxygenDescription(const Journalist &jnlst) const
output a doxygen version
virtual const std::string & Name() const
Standard Get / Set Methods.
virtual Number UpperNumber() const
get the Number version of the upper bound
virtual void SetDefaultInteger(const Index &default_value)
Set the default as an Integer.
virtual void SetLowerInteger(const Index &lower)
set the Integer version of the lower bound
virtual bool IsValidNumberSetting(const Number &value) const
Check if the Number value is a valid setting.
virtual Number DefaultNumber() const
get the default as a Number
RegisteredOption(const std::string &name, const std::string &short_description, const std::string &long_description, const std::string &registering_category, Index counter)
void MakeValidLatexString(std::string source, std::string &dest) const
virtual void SetLongDescription(const std::string &long_description)
Set the long description.
virtual void OutputLatexDescription(const Journalist &jnlst) const
output a latex version
std::string MakeValidLatexNumber(Number value) const
virtual const bool & UpperStrict() const
check if the upper bound is strict
virtual void SetLowerNumber(const Number &lower, const bool &strict)
set the Number version of the lower bound
virtual Index UpperInteger() const
get the Integer version of the upper bound
virtual Index LowerInteger() const
get the Integer version of the lower bound
virtual void SetUpperNumber(const Number &upper, const bool &strict)
set the Number version of the upper bound
virtual void SetDefaultNumber(const Number &default_value)
Set the default as a Number.
virtual bool IsValidIntegerSetting(const Index &value) const
Check if the Integer value is a valid setting.
const Index counter_
Has the information as how many-th option this one was registered.
virtual void SetUpperInteger(const Index &upper)
set the Integer version of the upper bound
virtual void SetShortDescription(const std::string &short_description)
Set the short description.
virtual Index Counter() const
Counter.
std::string MakeValidHTMLNumber(Number value) const
virtual const std::string & ShortDescription() const
Get the short description.
virtual const bool & LowerStrict() const
check if the lower bound is strict
virtual void SetType(const RegisteredOptionType &type)
Get the Option's type.
virtual void SetDefaultString(const std::string &default_value)
Set the default as a string.
virtual const bool & HasUpper() const
check if the option has an upper bound
RegisteredOption(const RegisteredOption &copy)
virtual void OutputDescription(const Journalist &jnlst) const
output a description of the option
virtual const std::string & RegisteringCategory() const
Get the registering class.
virtual std::string DefaultString() const
get the default as a string
virtual Index DefaultStringAsEnum() const
get the default as a string, but as the index of the string in the list
Class for storing registered options.
virtual void OutputLatexOptionDocumentation(const Journalist &jnlst, std::list< std::string > &categories)
Output documentation in Latex format to include in a latex file.
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="")
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)
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)
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="")
RegisteredOptions()
Constructors / Destructors.
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="")
std::map< std::string, SmartPtr< RegisteredOption > > registered_options_
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="")
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="")
virtual void OutputOptionDocumentation(const Journalist &jnlst, std::list< std::string > &categories)
Output documentation for the options - gives a description, etc.
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="")
virtual std::string RegisteringCategory()
retrieve the value of the current registering category
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)
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)
virtual SmartPtr< const RegisteredOption > GetOption(const std::string &name)
Get a registered option.
virtual void SetRegisteringCategory(const std::string &registering_category)
Methods to interact with registered options.
virtual const RegOptionsList & RegisteredOptionsList() const
Giving access to iteratable representation of the registered options.
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)
virtual void OutputDoxygenOptionDocumentation(const Journalist &jnlst, std::list< std::string > &categories)
Output documentation in Doxygen format to include in doxygen documentation.
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)
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.
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="")
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)
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)
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="")
virtual ~RegisteredOptions()
Destructor.
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)
std::map< std::string, SmartPtr< RegisteredOption > > RegOptionsList
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="")
std::string current_registering_category_
Template class for Smart Pointers.
Definition: IpSmartPtr.hpp:172
#define IPOPTLIB_EXPORT
This file contains a base class for all exceptions and a set of macros to help with exceptions.
int Index
Type of all indices of vectors, matrices etc.
Definition: IpTypes.hpp:17
RegisteredOptionType
@ OT_Unknown
@ OT_Integer
double Number
Type of all numbers.
Definition: IpTypes.hpp:15