• Mark OLESEN's avatar
    ENH: add missing Hash function for List/UList (issue #966) · dd9ecd49
    Mark OLESEN authored
    - there were previously no hashing mechanisms for lists so they
      would fall back to the definition for primitives and hash the
      memory location of the allocated List object.
    - provide a UList::Hash<> sub-class for inheritance, and also a global
      specialization for UList<T>, List<T> such that the hash value for
      List<List<T>> cascades properly.
    - provide similar function in triFace to ensure that it remains
      similar in behaviour to face.
    - added SymmHash to Pair, for use when order is unimportant.
    STYLE: use string::hash() more consistently
    - no particular reason to use Hash<word>() which forwards to
      string::hash() anyhow