Documentation

Batteries.Data.ByteSubarray

A subarray of a ByteArray.

Instances For

    O(1). Get the size of a ByteSubarray.

    Equations
    Instances For

      O(1). Test if a ByteSubarray is empty.

      Equations
      Instances For

        O(n). Extract a ByteSubarray to a ByteArray.

        Equations
        Instances For
          @[inline]

          O(1). Get the element at index i from the start of a ByteSubarray.

          Equations
          Instances For
            Equations
            @[inline]

            O(1). Pop the last element of a ByteSubarray.

            Equations
            • self.pop = if h : self.start = self.stop then self else { array := self.array, start := self.start, stop := self.stop - 1, start_le_stop := , stop_le_array_size := }
            Instances For
              @[inline]

              O(1). Pop the first element of a ByteSubarray.

              Equations
              • self.popFront = if h : self.start = self.stop then self else { array := self.array, start := self.start + 1, stop := self.stop, start_le_stop := , stop_le_array_size := }
              Instances For
                @[inline]
                def Batteries.ByteSubarray.foldlM {m : Type u_1 → Type u_2} {β : Type u_1} [Monad m] (self : ByteSubarray) (f : βUInt8m β) (init : β) :
                m β

                Folds a monadic function over a ByteSubarray from left to right.

                Equations
                Instances For
                  @[inline]
                  def Batteries.ByteSubarray.foldl {β : Type u_1} (self : ByteSubarray) (f : βUInt8β) (init : β) :
                  β

                  Folds a function over a ByteSubarray from left to right.

                  Equations
                  Instances For
                    @[specialize #[]]
                    def Batteries.ByteSubarray.forIn {m : Type u_1 → Type u_2} {β : Type u_1} [Monad m] (self : ByteSubarray) (init : β) (f : UInt8βm (ForInStep β)) :
                    m β

                    Implementation of forIn for a ByteSubarray.

                    Equations
                    Instances For
                      def Batteries.ByteSubarray.forIn.loop {m : Type u_1 → Type u_2} {β : Type u_1} [Monad m] (self : ByteSubarray) (f : UInt8βm (ForInStep β)) (i : Nat) (h : i self.size) (b : β) :
                      m β

                      Inner loop of the forIn implementation for ByteSubarray.

                      Equations
                      Instances For

                        O(1). Coerce a byte array into a byte slice.

                        Equations
                        • array.toByteSubarray = { array := array, start := 0, stop := array.size, start_le_stop := , stop_le_array_size := }
                        Instances For