Use C++11's inline member initialization syntax

Migrate all Option and Summary structs to use
inline member initialization syntax.

This reduces the amount of code, and collocates the
default values with the documentation for the corresponding
member variable.

Change-Id: I8e6b9ee3b31464699d678667f6166ace5fc137c9
diff --git a/include/ceres/tiny_solver.h b/include/ceres/tiny_solver.h
index 3cf1c32..d447665 100644
--- a/include/ceres/tiny_solver.h
+++ b/include/ceres/tiny_solver.h
@@ -148,32 +148,20 @@
   };
 
   struct Options {
-    Options()
-        : gradient_tolerance(1e-10),
-          parameter_tolerance(1e-8),
-          cost_threshold(std::numeric_limits<Scalar>::epsilon()),
-          initial_trust_region_radius(1e4),
-          max_num_iterations(50) {}
-    Scalar gradient_tolerance;   // eps > max(J'*f(x))
-    Scalar parameter_tolerance;  // eps > ||dx|| / ||x||
-    Scalar cost_threshold;       // eps > ||f(x)||
-    Scalar initial_trust_region_radius;
-    int max_num_iterations;
+    Scalar gradient_tolerance = 1e-10;  // eps > max(J'*f(x))
+    Scalar parameter_tolerance = 1e-8;  // eps > ||dx|| / ||x||
+    Scalar cost_threshold =             // eps > ||f(x)||
+        std::numeric_limits<Scalar>::epsilon();
+    Scalar initial_trust_region_radius = 1e4;
+    int max_num_iterations = 50;
   };
 
   struct Summary {
-    Summary()
-        : initial_cost(-1),
-          final_cost(-1),
-          gradient_max_norm(-1),
-          iterations(0),
-          status(HIT_MAX_ITERATIONS) {}
-
-    Scalar initial_cost;       // 1/2 ||f(x)||^2
-    Scalar final_cost;         // 1/2 ||f(x)||^2
-    Scalar gradient_max_norm;  // max(J'f(x))
-    int iterations;
-    Status status;
+    Scalar initial_cost = -1;       // 1/2 ||f(x)||^2
+    Scalar final_cost = -1;         // 1/2 ||f(x)||^2
+    Scalar gradient_max_norm = -1;  // max(J'f(x))
+    int iterations = -1;
+    Status status = HIT_MAX_ITERATIONS;
   };
 
   bool Update(const Function& function, const Parameters &x) {
@@ -211,6 +199,7 @@
     assert(x_and_min);
     Parameters& x = *x_and_min;
     summary = Summary();
+    summary.iterations = 0;
 
     // TODO(sameeragarwal): Deal with failure here.
     Update(function, x);