Documentation

Batteries.Data.ByteSlice

@[reducible, inline]

Test whether a byte slice is empty.

Equations
Instances For
    @[reducible, inline]

    Returns the subslice obtained by removing the last element.

    Equations
    Instances For
      @[reducible, inline]

      Returns the subslice obtained by removing the first element.

      Equations
      Instances For
        @[inline]
        def ByteSlice.foldlM {m : Type u_1 → Type u_2} {β : Type u_1} [Monad m] (s : ByteSlice) (f : βUInt8m β) (init : β) :
        m β

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

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

          Folds a function over a ByteSubarray from left to right.

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

            Implementation of forIn for a ByteSlice.

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

              Inner loop of the forIn implementation for ByteSlice.

              Equations
              Instances For
                @[deprecated ByteSlice (since := "2025-10-04")]

                A subarray of a ByteArray.

                Instances For
                  @[deprecated ByteSlice.size (since := "2025-10-04")]

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

                  Equations
                  Instances For
                    @[deprecated ByteSlice.isEmpty (since := "2025-10-04")]

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

                    Equations
                    Instances For
                      @[deprecated ByteSlice.stop_eq_start_add_size (since := "2025-10-04")]
                      @[deprecated ByteSlice.toByteArray (since := "2025-10-04")]

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

                      Equations
                      Instances For
                        @[inline, deprecated ByteSlice.get (since := "2025-10-04")]

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

                        Equations
                        Instances For
                          @[inline, deprecated ByteSlice.pop (since := "2025-10-04")]

                          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, deprecated ByteSlice.popFront (since := "2025-10-04")]

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

                            Equations
                            Instances For
                              @[inline, deprecated ByteSlice.foldlM (since := "2025-10-04")]
                              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, deprecated ByteSlice.foldl (since := "2025-10-04")]
                                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
                                      @[deprecated ByteArray.toByteSlice (since := "2025-10-04")]

                                      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