-- | Boxed @Vector@ unsafe functions. These perform no bounds
--   checking, and may cause segmentation faults etc.!  Import as:
--
-- > import qualified RIO.Vector.Boxed.Unsafe as VB'
module RIO.Vector.Boxed.Unsafe
  (
  -- * Accessors
  -- ** Indexing
    Data.Vector.unsafeIndex
  , Data.Vector.unsafeHead
  , Data.Vector.unsafeLast

  -- ** Monadic indexing
  , Data.Vector.unsafeIndexM
  , Data.Vector.unsafeHeadM
  , Data.Vector.unsafeLastM

  -- ** Extracting subvectors
  , Data.Vector.unsafeSlice
  , Data.Vector.unsafeInit
  , Data.Vector.unsafeTail
  , Data.Vector.unsafeTake
  , Data.Vector.unsafeDrop

  -- * Modifying vectors
  -- ** Bulk updates
  , Data.Vector.unsafeUpd
  , Data.Vector.unsafeUpdate
  , Data.Vector.unsafeUpdate_

  -- ** Accumulations
  , Data.Vector.unsafeAccum
  , Data.Vector.unsafeAccumulate
  , Data.Vector.unsafeAccumulate_

  -- ** Permutations
  , Data.Vector.unsafeBackpermute

  -- * Conversions
  -- ** Mutable vectors
  , Data.Vector.unsafeFreeze
  , Data.Vector.unsafeThaw
  , Data.Vector.unsafeCopy
  ) where

import qualified Data.Vector