             flags = Flags(json: json["flags"])
         }
     }
+}
+
+extension DataPoint : Equatable {}
+
+public func ==(lhs: DataPoint, rhs: DataPoint) -> Bool {
+    return lhs.time == rhs.time && lhs.summary == rhs.summary && lhs.icon == rhs.icon && lhs.sunriseTime == rhs.sunriseTime && lhs.sunsetTime == rhs.sunsetTime && lhs.moonPhase == rhs.moonPhase && lhs.nearestStormDistance == rhs.nearestStormDistance && lhs.nearestStormBearing == rhs.nearestStormBearing && lhs.precipProbability == rhs.precipProbability && lhs.precipType == rhs.precipType && lhs.precipAccumulation == rhs.precipAccumulation && lhs.temperature == rhs.temperature && lhs.temperatureMin == rhs.temperatureMin && lhs.temperatureMinTime == rhs.temperatureMinTime && lhs.temperatureMax == rhs.temperatureMax && lhs.temperatureMaxTime == rhs.temperatureMaxTime && lhs.apparentTemperature == rhs.apparentTemperature && lhs.apparentTemperatureMin == rhs.apparentTemperatureMin && lhs.apparentTemperatureMinTime == rhs.apparentTemperatureMinTime && lhs.apparentTemperatureMax == rhs.apparentTemperatureMax && lhs.apparentTemperatureMaxTime == rhs.apparentTemperatureMaxTime && lhs.dewPoint == rhs.dewPoint && lhs.windSpeed == rhs.windSpeed && lhs.windBearing == rhs.windBearing && lhs.cloudCover == rhs.cloudCover && lhs.humidity == rhs.humidity && lhs.pressure == rhs.pressure && lhs.visibility == rhs.visibility && lhs.ozone == rhs.ozone
 }
 
 public struct DataPoint {

import AFNetworking
import SwiftyJSON

public struct Forecast {
    public var latitude: Double
    public var longitude: Double

//
//  ForecastIOClient.swift
//  ForecastIOClient
//
//  Created by Peter Willsey on 8/5/15.
//  Copyright (c) 2015 Peter Willsey
