Add accessors to GradientProblem

Change-Id: Ic818eec240fe69b09815f1cc54f7f132cca0abb8
diff --git a/include/ceres/gradient_problem.h b/include/ceres/gradient_problem.h
index 49d605e..7caeef1 100644
--- a/include/ceres/gradient_problem.h
+++ b/include/ceres/gradient_problem.h
@@ -105,6 +105,15 @@
   bool Evaluate(const double* parameters, double* cost, double* gradient) const;
   bool Plus(const double* x, const double* delta, double* x_plus_delta) const;
 
+  const FirstOrderFunction* function() const { return function_.get(); }
+  FirstOrderFunction* mutable_function() { return function_.get(); }
+  const LocalParameterization* parameterization() const {
+    return parameterization_.get();
+  }
+  LocalParameterization* mutable_parameterization() {
+    return parameterization_.get();
+  }
+
  private:
   std::unique_ptr<FirstOrderFunction> function_;
   std::unique_ptr<LocalParameterization> parameterization_;