Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module adds support for some of PostgreSQL operators on IP addresses and networks. See http://www.postgresql.org/docs/9.4/static/functions-net.html for more detailed documentation
Synopsis
- (<:<.) :: EntityField record IPRange -> IPRange -> Filter record
- (>:>.) :: EntityField record IPRange -> IPRange -> Filter record
- (<:<=) :: EntityField record IPRange -> IPRange -> Filter record
- (>:>=) :: EntityField record IPRange -> IPRange -> Filter record
- (<.<.) :: EntityField record IP -> IPRange -> Filter record
- (>.>.) :: EntityField record IPRange -> IP -> Filter record
- data IP
- data IPRange
Documentation
(<:<.) :: EntityField record IPRange -> IPRange -> Filter record Source #
The record range is contained within the specified range. Corresponds to PgSQL operator <<.
(>:>.) :: EntityField record IPRange -> IPRange -> Filter record Source #
The record range contains the specified range. Corresponds to PgSQL operator >>.
(<:<=) :: EntityField record IPRange -> IPRange -> Filter record Source #
The record range is contained within or equals to the specified range. Corresponds to PgSQL operator <<=.
(>:>=) :: EntityField record IPRange -> IPRange -> Filter record Source #
The record range contains or equals to the specified range. Corresponds to PgSQL operator >>=.
(<.<.) :: EntityField record IP -> IPRange -> Filter record Source #
The record address is contained within the specified range. Corresponds to PgSQL operator <<.
(>.>.) :: EntityField record IPRange -> IP -> Filter record Source #
The record range contains the specified address. Corresponds to PgSQL operator >>.
A unified IP data for IP
and IP
.
To create this, use the data constructors. 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" :: IP) == IPv4 (read "192.0.2.1" :: IPv4)
True>>>
(read "2001:db8:00:00:00:00:00:01" :: IP) == IPv6 (read "2001:db8:00:00:00:00:00:01" :: IPv6)
True
Instances
Enum IP | |
Eq IP | Equality over IP addresses. Correctly compare IPv4 and IPv4-embedded-in-IPv6 addresses.
|
Data IP | |
Defined in Data.IP.Addr gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IP -> c IP # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IP # dataTypeOf :: IP -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c IP) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IP) # gmapT :: (forall b. Data b => b -> b) -> IP -> IP # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IP -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IP -> r # gmapQ :: (forall d. Data d => d -> u) -> IP -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> IP -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> IP -> m IP # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IP -> m IP # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IP -> m IP # | |
Ord IP | |
Read IP | |
Show IP | |
IsString IP | |
Defined in Data.IP.Addr fromString :: String -> IP # | |
Generic IP | |
ToHttpApiData IP Source # | |
Defined in Database.Persist.Instances.IP toUrlPiece :: IP -> Text # toEncodedUrlPiece :: IP -> Builder # toHeader :: IP -> ByteString # toQueryParam :: IP -> Text # | |
FromHttpApiData IP Source # | |
Defined in Database.Persist.Instances.IP parseUrlPiece :: Text -> Either Text IP # parseHeader :: ByteString -> Either Text IP # | |
PathPiece IP Source # | |
Defined in Database.Persist.Instances.IP fromPathPiece :: Text -> Maybe IP # toPathPiece :: IP -> Text # | |
PersistFieldSql IP Source # | |
PersistField IP Source # | |
Defined in Database.Persist.Instances.IP toPersistValue :: IP -> PersistValue # fromPersistValue :: PersistValue -> Either Text IP # | |
type Rep IP | |
Defined in Data.IP.Addr type Rep IP = D1 (MetaData "IP" "Data.IP.Addr" "iproute-1.7.8-Jnpe4HnI04DAp0lqTLwiA6" False) (C1 (MetaCons "IPv4" PrefixI True) (S1 (MetaSel (Just "ipv4") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 IPv4)) :+: C1 (MetaCons "IPv6" PrefixI True) (S1 (MetaSel (Just "ipv6") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 IPv6))) |
A unified data for AddrRange
IP
and AddrRange
IP
.
To create this, use read
"192.0.2.0/24"
:: IPRange
.
Also, "192.0.2.0/24"
can be used as literal with OverloadedStrings.
>>>
(read "192.0.2.1/24" :: IPRange) == IPv4Range (read "192.0.2.0/24" :: AddrRange IPv4)
True>>>
(read "2001:db8:00:00:00:00:00:01/48" :: IPRange) == IPv6Range (read "2001:db8:00:00:00:00:00:01/48" :: AddrRange IPv6)
True