Add const accessor for Problem::Options used by Problem

Change-Id: I0fc48178c411887d4487a34599050d342f5344a2
diff --git a/include/ceres/problem.h b/include/ceres/problem.h
index fd29978..fac57c9 100644
--- a/include/ceres/problem.h
+++ b/include/ceres/problem.h
@@ -537,6 +537,9 @@
       double* residuals,
       double** jacobians) const;
 
+  // Returns reference to the options with which the Problem was constructed.
+  const Options & options() const;
+
   // Returns pointer to Problem implementation
   internal::ProblemImpl* mutable_impl();
 
diff --git a/internal/ceres/problem.cc b/internal/ceres/problem.cc
index 8c6d504..e51fdd1 100644
--- a/internal/ceres/problem.cc
+++ b/internal/ceres/problem.cc
@@ -212,6 +212,8 @@
   impl_->GetResidualBlocksForParameterBlock(values, residual_blocks);
 }
 
+const Problem::Options & Problem::options() const { return impl_->options(); }
+
 internal::ProblemImpl* Problem::mutable_impl() { return impl_.get(); }
 
 }  // namespace ceres
diff --git a/internal/ceres/problem_impl.h b/internal/ceres/problem_impl.h
index 88f09e0..22b37b6 100644
--- a/internal/ceres/problem_impl.h
+++ b/internal/ceres/problem_impl.h
@@ -166,6 +166,8 @@
     return residual_block_set_;
   }
 
+  const Problem::Options & options() const { return options_; }
+
   ContextImpl* context() { return context_impl_; }
 
  private: