]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Remove some unneeded virtual functions. 2078/head
authorDavid Wells <wellsd2@rpi.edu>
Mon, 18 Jan 2016 20:46:24 +0000 (15:46 -0500)
committerDavid Wells <wellsd2@rpi.edu>
Tue, 19 Jan 2016 02:12:19 +0000 (21:12 -0500)
These functions immediately call the base class versions of themselves
so there is no need for them to be reimplemented.

include/deal.II/base/parameter_handler.h
source/base/parameter_handler.cc

index 696075e610c5e3ed3794370e247ce3f0eecb52be..0e7349386d1a572c0f98173aa7c16583eb010be9 100644 (file)
@@ -2264,30 +2264,23 @@ public:
    * from; this is only used when creating output for error messages.
    *
    * Return whether the read was successful.
+   *
+   * @note Of the three <tt>read_input</tt> functions implemented by
+   * ParameterHandler, this is the only one overridden with new behavior by
+   * this class. This is because the other two <tt>read_input</tt> functions
+   * just reformat their inputs and then call this version.
    */
   virtual bool read_input (std::istream &input,
                            const std::string &filename = "input file");
 
   /**
-   * Read input from a file the name of which is given. The PathSearch class
-   * "PARAMETERS" is used to find the file.
-   *
-   * Return whether the read was successful.
-   *
-   * Unless <tt>optional</tt> is <tt>true</tt>, this function will
-   * automatically generate the requested file with default values if the file
-   * did not exist. This file will not contain additional comments if
-   * <tt>write_stripped_file</tt> is <tt>true</tt>.
-   */
-  virtual bool read_input (const std::string &FileName,
-                           const bool optional = false,
-                           const bool write_stripped_file = false);
-
-  /**
-   * Read input from a string in memory. The lines in memory have to be
-   * separated by <tt>@\n</tt> characters.
+   * Overriding virtual functions which are overloaded (like
+   * ParameterHandler::read_input, which has two different sets of input
+   * argument types) causes the non-overridden functions to be hidden. Get
+   * around this by explicitly using both variants of
+   * ParameterHandler::read_input and then overriding the one we care about.
    */
-  virtual bool read_input_from_string (const char *s);
+  using ParameterHandler::read_input;
 
   /**
    * run the central loop.
index fa072ed560eb1d5f43c585f9c260be77a5287eac..221bc3d0452eecd665c2371750649db9d04a6877 100644 (file)
@@ -2820,28 +2820,6 @@ bool MultipleParameterLoop::read_input (std::istream &input,
 
 
 
-bool MultipleParameterLoop::read_input (const std::string &filename,
-                                        bool optional,
-                                        bool write_compact)
-{
-  return ParameterHandler::read_input (filename, optional, write_compact);
-  // don't call init_branches, since this read_input
-  // function calls
-  // MultipleParameterLoop::read_input(std::istream &, std::ostream &)
-  // which itself calls init_branches.
-}
-
-
-
-bool MultipleParameterLoop::read_input_from_string (const char *s)
-{
-  bool x = ParameterHandler::read_input (s);
-  init_branches ();
-  return x;
-}
-
-
-
 void MultipleParameterLoop::loop (MultipleParameterLoop::UserClass &uc)
 {
   for (unsigned int run_no=0; run_no<n_branches; ++run_no)

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.