diff --git a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroupEnumerator{T}.cs b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroupEnumerator{T}.cs
index 2c2ae9090..1bc44e33e 100644
--- a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroupEnumerator{T}.cs
+++ b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroupEnumerator{T}.cs
@@ -2,18 +2,20 @@
// Licensed under the Apache License, Version 2.0.
using System;
+using System.ComponentModel;
using System.Runtime.CompilerServices;
-namespace SixLabors.ImageSharp.Memory.DiscontiguousBuffers
+namespace SixLabors.ImageSharp.Memory
{
///
/// A value-type enumerator for instances.
///
/// The element type.
+ [EditorBrowsable(EditorBrowsableState.Never)]
public ref struct MemoryGroupEnumerator
where T : struct
{
- private readonly MemoryGroup memoryGroup;
+ private readonly IMemoryGroup memoryGroup;
private readonly int count;
private int index;
@@ -33,6 +35,14 @@ namespace SixLabors.ImageSharp.Memory.DiscontiguousBuffers
this.index = -1;
}
+ [MethodImpl(InliningOptions.ShortMethod)]
+ internal MemoryGroupEnumerator(MemoryGroupView memoryGroup)
+ {
+ this.memoryGroup = memoryGroup;
+ this.count = memoryGroup.Count;
+ this.index = -1;
+ }
+
///
public Memory Current
{