text: /*
   * Copyright 2018, Hoby Rakotoarivelo.
   *
   * Permission is hereby granted, free of charge, to any person obtaining a copy
   * of this software and associated documentation files (the “Software”),
   * to deal in the Software without restriction, including without limitation
   * the rights to use, copy, modify, merge, publish, distribute, sublicense,
   * and/or sell copies of the Software, and to permit persons to whom the
   * Software is furnished to do so, subject to the following conditions:
   *
   * The above copyright notice and this permission notice shall be included in
   * all copies or substantial portions of the Software.
   *
   * The Software is provided “as is”, without warranty of any kind, express
   * or implied, including but not limited to the warranties of merchantability,
   * fitness for a particular purpose and noninfringement.
   * In no event shall the authors or copyright holders be liable for any claim,
   * damages or other liability, whether in an action of contract, tort or
   * otherwise, arising from, out of or in connection with the software or
   * the use or other dealings in the Software.
   */
  /* -------------------------------------------------------------------------- */
  #pragma once
  /* -------------------------------------------------------------------------- */
  #include "base.h"
  /* -------------------------------------------------------------------------- */
  namespace wrappi {
  /**
   * An set of PAPI hardware counters that use custom-defined PAPI events.
   */
  class Misc : public Base {
  
  public:
    /**
     * Constructs a new papi_custom set using a specified set of PAPI events.
     * @param event_names Pairs of event names corresponding to the PAPI event
     * names and the human-readable headers for the custom events that should
     * be tracked
     * @post Constructs a new instance of a papi_custom set.
     */
    explicit Misc(std::vector<Event> const& events);
  
  private:
    void to_stream(std::ostream& os) const override;
  };
  /* -------------------------------------------------------------------------- */
  } // end namespace wrappi