message: Implemented replace with arrays
diff: @@ -438,6 +438,41 @@ public: // Other public interfaces
  template<typename ... types>
  void drop_missing(drop_policy policy, size_type threshold = 0);
  + // It iterates over the column named col_name
  + // (or index, if col_name == "INDEX") and replaces all values in old_valuse
  + // with the corresponding values in new_values up tp the limit. If limit is
  + // omitted, all values will be replaced.
  + // It returns number of items replaced.
  + //
  + // T: Type on column col_name. If this is index it would be the same as TS.
  + // N: Size of old_values and new_values arrays
  + // col_name: Name of the column
  + // old_array: An array of values to be replaced in col_name column
  + // new_array: An array of values to to replace the old_values in col_name
  + // column
  + // limit: limit of how many items to replace. Default is to rteplace all.
  + //
  + template<typename T, size_t N>
  + size_type replace(const char *col_name,
  + const std::array<T, N> old_values,
  + const std::array<T, N> new_values,
  + int limit = -1);
  +
  + // Same as replace() above, but executed asynchronously
  + // NOTE: multiple instances of replace_async() maybe executed for
  + // different columns at the same time with no problem.
  + //
  + template<typename T, size_t N>
  + std::future<size_type>
  + replace_async(const char *col_name,
  + const std::array<T, N> old_values,
  + const std::array<T, N> new_values,
  + int limit = -1);
  +
  + // This is similar to replace() above.
  + template<typename T, typename F>
  + void replace(const char *col_name, F functor);
  +
  // Make all data columns the same length as the index.
  // If any data column is shorter than the index column, it will be padded
  // by nan.
  