All pastes #718209 Raw Edit

Macca

public text v1 · immutable
#718209 ·published 2007-09-28 05:57 UTC
rendered paste body
Option Explicit
Option Base 0

Private InternalCount As Long
Private InternalList()

Public Property Get Count() As Long
  Count = InternalCount
End Property

Public Property Get At(I As Integer)
  If I < 0 Or I > InternalCount Then
    At = Null
  Else
    At = InternalList(I)
  End If
End Property

Public Function Pop()
  If InternalCount = 0 Then
    Pop = Null
  Else
    Pop = InternalList(UBound(InternalList) - 1)
    ReDim Preserve InternalList(UBound(InternalList) - 1)
  
    InternalCount = InternalCount - 1
  End If
End Function

Public Sub Add(X)
  ReDim Preserve InternalList(UBound(InternalList) + 1)
  InternalList(UBound(InternalList) - 1) = X
  
  InternalCount = InternalCount + 1
End Sub

Private Sub Class_Initialize()
  InternalCount = 0
  ReDim InternalList(0)
End Sub