| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Data.IP.Internal
Documentation
The abstract data type to express an IPv4 address.
To create this, use toIPv4. Or use read "192.0.2.1" :: IP, for example. Also, "192.0.2.1" can be used as literal with OverloadedStrings.
>>>read "192.0.2.1" :: IPv4192.0.2.1
Instances
| Data IPv4 Source # | |
Defined in Data.IP.Addr Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IPv4 -> c IPv4 Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IPv4 Source # toConstr :: IPv4 -> Constr Source # dataTypeOf :: IPv4 -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c IPv4) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IPv4) Source # gmapT :: (forall b. Data b => b -> b) -> IPv4 -> IPv4 Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IPv4 -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IPv4 -> r Source # gmapQ :: (forall d. Data d => d -> u) -> IPv4 -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> IPv4 -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> IPv4 -> m IPv4 Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IPv4 -> m IPv4 Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IPv4 -> m IPv4 Source # | |
| IsString IPv4 Source # | |
Defined in Data.IP.Addr Methods fromString :: String -> IPv4 Source # | |
| Bounded IPv4 Source # | |
| Enum IPv4 Source # | |
| Generic IPv4 Source # | |
| Read IPv4 Source # | |
| Show IPv4 Source # | |
| Eq IPv4 Source # | |
| Ord IPv4 Source # | |
| Addr IPv4 Source # | |
| Routable IPv4 Source # | |
| IsString (AddrRange IPv4) Source # | |
Defined in Data.IP.Range | |
| Read (AddrRange IPv4) Source # | |
| type Rep IPv4 Source # | |
Defined in Data.IP.Addr | |
The abstract data type to express an IPv6 address.
To create this, use toIPv6. Or use read "2001:DB8::1" :: IP, for example. Also, "2001:DB8::1" can be used as literal with OverloadedStrings.
>>>read "2001:db8:00:00:00:00:00:01" :: IPv62001:db8::1>>>read "2001:db8:11e:c00::101" :: IPv62001:db8:11e:c00::101>>>read "2001:db8:11e:c00:aa:bb:192.0.2.1" :: IPv62001:db8:11e:c00:aa:bb:c000:201>>>read "2001:db8::192.0.2.1" :: IPv62001:db8::c000:201>>>read "0::ffff:192.0.2.1" :: IPv6::ffff:192.0.2.1>>>read "0::0:c000:201" :: IPv6::192.0.2.1>>>read "::0.0.0.1" :: IPv6::1
Instances
| Data IPv6 Source # | |
Defined in Data.IP.Addr Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IPv6 -> c IPv6 Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IPv6 Source # toConstr :: IPv6 -> Constr Source # dataTypeOf :: IPv6 -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c IPv6) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IPv6) Source # gmapT :: (forall b. Data b => b -> b) -> IPv6 -> IPv6 Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IPv6 -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IPv6 -> r Source # gmapQ :: (forall d. Data d => d -> u) -> IPv6 -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> IPv6 -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> IPv6 -> m IPv6 Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IPv6 -> m IPv6 Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IPv6 -> m IPv6 Source # | |
| IsString IPv6 Source # | |
Defined in Data.IP.Addr Methods fromString :: String -> IPv6 Source # | |
| Bounded IPv6 Source # | |
| Enum IPv6 Source # | |
| Generic IPv6 Source # | |
| Read IPv6 Source # | |
| Show IPv6 Source # | |
| Eq IPv6 Source # | |
| Ord IPv6 Source # | |
| Addr IPv6 Source # | |
| Routable IPv6 Source # | |
| IsString (AddrRange IPv6) Source # | |
Defined in Data.IP.Range | |
| Read (AddrRange IPv6) Source # | |
| type Rep IPv6 Source # | |
Defined in Data.IP.Addr | |
The Addr range consists of an address, a contiguous mask, and mask length. The contiguous mask and the mask length are essentially same information but contained for pre calculation.
To create this, use makeAddrRange or read "192.0.2.0/24" :: AddrRange IP.
Also, "192.0.2.0/24" can be used as literal with OverloadedStrings.
>>>read "192.0.2.1/24" :: AddrRange IPv4192.0.2.0/24>>>read "2001:db8:00:00:00:00:00:01/48" :: AddrRange IPv62001:db8::/48
Constructors
| AddrRange | |
Instances
| Data a => Data (AddrRange a) Source # | |
Defined in Data.IP.Range Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AddrRange a -> c (AddrRange a) Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (AddrRange a) Source # toConstr :: AddrRange a -> Constr Source # dataTypeOf :: AddrRange a -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (AddrRange a)) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (AddrRange a)) Source # gmapT :: (forall b. Data b => b -> b) -> AddrRange a -> AddrRange a Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AddrRange a -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AddrRange a -> r Source # gmapQ :: (forall d. Data d => d -> u) -> AddrRange a -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> AddrRange a -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> AddrRange a -> m (AddrRange a) Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AddrRange a -> m (AddrRange a) Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AddrRange a -> m (AddrRange a) Source # | |
| IsString (AddrRange IPv4) Source # | |
Defined in Data.IP.Range | |
| IsString (AddrRange IPv6) Source # | |
Defined in Data.IP.Range | |
| Generic (AddrRange a) Source # | |
| Read (AddrRange IPv4) Source # | |
| Read (AddrRange IPv6) Source # | |
| Show a => Show (AddrRange a) Source # | |
| Eq a => Eq (AddrRange a) Source # | |
| Ord a => Ord (AddrRange a) Source # | |
Defined in Data.IP.Range Methods compare :: AddrRange a -> AddrRange a -> Ordering Source # (<) :: AddrRange a -> AddrRange a -> Bool Source # (<=) :: AddrRange a -> AddrRange a -> Bool Source # (>) :: AddrRange a -> AddrRange a -> Bool Source # (>=) :: AddrRange a -> AddrRange a -> Bool Source # | |
| type Rep (AddrRange a) Source # | |
Defined in Data.IP.Range type Rep (AddrRange a) = D1 ('MetaData "AddrRange" "Data.IP.Range" "iproute-1.7.12-JesLQDVlCYu40Jw6Rs1h3T" 'False) (C1 ('MetaCons "AddrRange" 'PrefixI 'True) (S1 ('MetaSel ('Just "addr") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: (S1 ('MetaSel ('Just "mask") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Just "mlen") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Int)))) | |