{-# OPTIONS_GHC -Wall #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TypeFamilies #-}

module Data.Aviation.Casr.Logbook.Meta.Passenger(
  Passenger(Passenger)
, HasPassenger(..)
) where

import Control.Lens(makeWrapped, makeClassy)
import Data.Eq(Eq)
import Data.Ord(Ord)
import Data.String(String)
import Prelude(Show)

newtype Passenger =
  Passenger
    String
  deriving (Passenger -> Passenger -> Bool
(Passenger -> Passenger -> Bool)
-> (Passenger -> Passenger -> Bool) -> Eq Passenger
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Passenger -> Passenger -> Bool
== :: Passenger -> Passenger -> Bool
$c/= :: Passenger -> Passenger -> Bool
/= :: Passenger -> Passenger -> Bool
Eq, Eq Passenger
Eq Passenger =>
(Passenger -> Passenger -> Ordering)
-> (Passenger -> Passenger -> Bool)
-> (Passenger -> Passenger -> Bool)
-> (Passenger -> Passenger -> Bool)
-> (Passenger -> Passenger -> Bool)
-> (Passenger -> Passenger -> Passenger)
-> (Passenger -> Passenger -> Passenger)
-> Ord Passenger
Passenger -> Passenger -> Bool
Passenger -> Passenger -> Ordering
Passenger -> Passenger -> Passenger
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: Passenger -> Passenger -> Ordering
compare :: Passenger -> Passenger -> Ordering
$c< :: Passenger -> Passenger -> Bool
< :: Passenger -> Passenger -> Bool
$c<= :: Passenger -> Passenger -> Bool
<= :: Passenger -> Passenger -> Bool
$c> :: Passenger -> Passenger -> Bool
> :: Passenger -> Passenger -> Bool
$c>= :: Passenger -> Passenger -> Bool
>= :: Passenger -> Passenger -> Bool
$cmax :: Passenger -> Passenger -> Passenger
max :: Passenger -> Passenger -> Passenger
$cmin :: Passenger -> Passenger -> Passenger
min :: Passenger -> Passenger -> Passenger
Ord, Int -> Passenger -> String -> String
[Passenger] -> String -> String
Passenger -> String
(Int -> Passenger -> String -> String)
-> (Passenger -> String)
-> ([Passenger] -> String -> String)
-> Show Passenger
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
$cshowsPrec :: Int -> Passenger -> String -> String
showsPrec :: Int -> Passenger -> String -> String
$cshow :: Passenger -> String
show :: Passenger -> String
$cshowList :: [Passenger] -> String -> String
showList :: [Passenger] -> String -> String
Show)

makeWrapped '' Passenger
makeClassy '' Passenger