tree 329fef36777519534b059da8b932d4ebbb4e3377
parent 4ca2f7a6a1ebd89ad40fd1016c8c42ebe1974e29
author Henner Zeller <h.zeller@acm.org> 1574328984 -0800
committer Henner Zeller <h.zeller@acm.org> 1574330052 -0800

Code-clean: Modernize class Value and its implementations.

Mostly to improve code robustness and follow style-guides.

General cleanup:

  * Add a virtual destructor in the base class (otherwise strange things
    might happen)
  * Use 'final' overridden virtuals. This allows compiler errors if
    signature changes in base-class thus robust ways to refactor. Also,
    'final' allows the compiler to optimize away a virtual method look-up
    if it can infer the exact type at compile-time.
  * Use constructor initializer lists instead of assigning in constructor
    body.
  * Type enum: use enum class for more type-safe and enforced scoped use.
    (this required some small changes outside the Value.{h,cpp} files).
  * Use nullptr instead of NULL.

Const cleanness:

  * Getter methods that don't change anything: make const. This way they can be
    used in a const context.
  * operators < and ==: make const member operators and also have their parameters
    be const (otherwise all kinds of algorithms will stumble upon this)
  * Make setter take a const std::string& instead of std::string by value.
  * Copy constructors: take const reference parameter
  * Make parameters whose values are guaranteed to not be modifed const
    e.g. plus()/minus()/.. etc)

Behavior change:

  * Use strtod() instead of atof() to parse double value (avoid
    loss of precision)

Signed-off-by: Henner Zeller <h.zeller@acm.org>
