vnl_io_nonlinear_minimizer.h
Go to the documentation of this file.
1 // This is core/vnl/io/vnl_io_nonlinear_minimizer.h
2 #ifndef vnl_io_nonlinear_minimizer_h
3 #define vnl_io_nonlinear_minimizer_h
4 //:
5 // \file
6 // \author dac
7 // \date 21-Mar-2001
8 
9 #include <string>
10 #include <vsl/vsl_binary_io.h>
12 #ifdef _MSC_VER
13 # include <vcl_msvc_warnings.h>
14 #endif
15 
16 //: Base for objects which provide IO
17 // for classes derived from vnl_nonlinear_minimizer
19 {
20  public:
21  //: Constructor
22  vnl_io_nonlinear_minimizer() = default;
23 
24  //: Destructor
25  virtual ~vnl_io_nonlinear_minimizer() = default;
26 
27  //: Create new object of type vnl_nonlinear_minimizer on heap
28  virtual vnl_nonlinear_minimizer* new_object() const;
29 
30  //: Write derived class to os using vnl_nonlinear_minimizer reference
31  virtual void b_write_by_base(vsl_b_ostream& os,
32  const vnl_nonlinear_minimizer& base) const;
33 
34  //: Write derived class to os using vnl_nonlinear_minimizer reference
35  virtual void b_read_by_base(vsl_b_istream& is,
36  vnl_nonlinear_minimizer& base) const;
37 
38  //: Print summary of derived class to os
39  // using vnl_nonlinear_minimizer reference
40  virtual void print_summary_by_base(std::ostream& os,
41  const vnl_nonlinear_minimizer& base) const;
42 
43  //: Copy this object onto the heap and return a pointer
44  virtual vnl_io_nonlinear_minimizer* clone() const;
45 
46  //: Return name of class for which this object provides IO
47  virtual std::string target_classname() const { return "vnl_nonlinear_minimizer"; }
48 
49  //: Return true if b is of class target_classname()
50  // Typically this will just be "return b.is_a()==target_classname()"
51  // However, third party libraries may use a different system
52  virtual bool is_io_for(const vnl_nonlinear_minimizer& b) const
53  { return b.is_a()==target_classname(); }
54 };
55 
56 //: Add example object to list of those that can be loaded
57 // The vsl_binary_loader must see an example of each derived class
58 // before it knows how to deal with them.
59 // A clone is taken of b
61 
62 //: Binary save to stream by vnl_nonlinear_minimizer pointer
63 void vsl_b_write(vsl_b_ostream &os, const vnl_nonlinear_minimizer * b);
64 
65 //: Binary read from stream by vnl_nonlinear_minimizer pointer
66 void vsl_b_read(vsl_b_istream &is, vnl_nonlinear_minimizer* &b);
67 
68 //: Print summary to stream by vnl_nonlinear_minimizer pointer
69 void vsl_print_summary(std::ostream &os, const vnl_nonlinear_minimizer * b);
70 
71 //: Binary save vnl_real_polynomial to stream.
72 void vsl_b_write(vsl_b_ostream &os, const vnl_nonlinear_minimizer & v);
73 
74 //: Binary load vnl_real_polynomial from stream.
75 void vsl_b_read(vsl_b_istream &is, vnl_nonlinear_minimizer & v);
76 
77 //: Print human readable summary of object to a stream
78 void vsl_print_summary(std::ostream& os,const vnl_nonlinear_minimizer & b);
79 
80 #endif // vnl_io_nonlinear_minimizer_h
virtual void b_write_by_base(vsl_b_ostream &os, const vnl_nonlinear_minimizer &base) const
Write derived class to os using vnl_nonlinear_minimizer reference.
virtual vnl_io_nonlinear_minimizer * clone() const
Copy this object onto the heap and return a pointer.
virtual std::string is_a() const
Return the name of the class.
virtual vnl_nonlinear_minimizer * new_object() const
Create new object of type vnl_nonlinear_minimizer on heap.
void vsl_print_summary(std::ostream &os, vnl_bignum const &b)
Print human readable summary of object to a stream.
vnl_io_nonlinear_minimizer()=default
Constructor.
virtual ~vnl_io_nonlinear_minimizer()=default
Destructor.
virtual void print_summary_by_base(std::ostream &os, const vnl_nonlinear_minimizer &base) const
Print summary of derived class to os.
virtual void b_read_by_base(vsl_b_istream &is, vnl_nonlinear_minimizer &base) const
Write derived class to os using vnl_nonlinear_minimizer reference.
vnl_nonlinear_minimizer is a base class for nonlinear optimization.
#define v
Definition: vnl_vector.h:42
virtual std::string target_classname() const
Return name of class for which this object provides IO.
virtual bool is_io_for(const vnl_nonlinear_minimizer &b) const
Return true if b is of class target_classname().
void vsl_b_read(vsl_b_istream &is, vnl_bignum &v)
Binary load vnl_bignum from stream.
void vsl_b_write(vsl_b_ostream &os, vnl_bignum const &v)
Binary save vnl_bignum to stream.
Base class for nonlinear optimization.
void vsl_add_to_binary_loader(const vnl_io_nonlinear_minimizer &b)
Add example object to list of those that can be loaded.
Base for objects which provide IO.