Option Explicit
'This class creates a simple stack data structure. Dim m_Col As Collection Public Sub Push(ByVal vData As Variant) If m_Col.Count > 0 Then m_Col.Add vData, , 1 Else m_Col.Add vData End If End Sub Public Property Get TopVal() As Variant If m_Col.Count > 0 Then If Not IsObject(m_Col.Item(1)) Then TopVal = m_Col.Item(1) End If Else TopVal = vbNullString End If End Property Public Property Get Count() As Integer Count = m_Col.Count End Property Public Function Pop() As Variant If m_Col.Count > 0 Then If IsObject(m_Col.Item(1)) Then Set Pop = m_Col.Item(1) Else Pop = m_Col.Item(1) End If m_Col.Remove 1 End If End Function Public Function More() As Boolean More = (m_Col.Count > 0) End Function Private Sub Class_Initialize() Set m_Col = New Collection End Sub Private Sub Class_Terminate() Set m_Col = Nothing End Sub |