text: /**
   * @file passenger.h
   *
   * @copyright 2019 3081 Staff, All rights reserved.
   */
  #ifndef SRC_PASSENGER_H_
  #define SRC_PASSENGER_H_
  
  /*******************************************************************************
   * Includes
   ******************************************************************************/
  #include <iostream>
  #include <string>
  
  /*******************************************************************************
   * Class Definitions
   ******************************************************************************/
  /**
   * @brief The main class for passengers.
   *
   * Calls to \ref Update function to increase the time of passengers waiting at the stop by 1.
   * Calls to \ref GetOnBus function to set the time on bus to 1.
   */
  class Passenger {  // : public Reporter {
   public:
    explicit Passenger(int = -1, std::string = "Nobody");
   /**
    * @brief Increase the time of a passenger waiting at the stop by 1.
    *
    * This function will be used for simulation purposes.
    */
    void Update();
    void GetOnBus();
    int GetTotalWait() const;
    bool IsOnBus() const;
    int GetDestination() const;
    void Report(std::ostream&) const;
   private:
    std::string name_;
    int destination_stop_id_;
    int wait_at_stop_;
    int time_on_bus_;
    int id_;
    static int count_;  // global count, used to set ID for new instances
  };
  #endif  // SRC_PASSENGER_H_
  