write a tree

master
この中二病に爆焔を! 3 years ago
parent 408dda1a62
commit a89af00930

@ -1,3 +1,36 @@
Module IndexWriter
Imports System.IO
Imports Microsoft.VisualBasic.Data.GraphTheory
Imports Microsoft.VisualBasic.Data.IO
End Module
Public Class IndexWriter
Dim file As BinaryDataWriter
Sub New(file As Stream)
Me.file = New BinaryDataWriter(file)
End Sub
Public Sub Write(tree As Trie(Of NodeMap))
Call Write(tree.Root)
End Sub
Public Sub Write(node As CharacterNode(Of NodeMap))
Call file.Write(node.Character)
Call file.Write(node.Ends)
Call file.Write(node.data.size)
For Each si As String In node.data.resources
Call file.Write(si, BinaryStringFormat.ZeroTerminated)
Next
Call file.Write(node.ID)
Call file.Write(node.label, BinaryStringFormat.ZeroTerminated)
Call file.Write(node.Childs.Count)
For Each val As CharacterNode(Of NodeMap) In node.Childs.Values
Call Write(val)
Next
End Sub
End Class

@ -6,5 +6,10 @@
Public Class NodeMap
Public Property resources As List(Of String)
Public ReadOnly Property size As Integer
Get
Return resources.Count
End Get
End Property
End Class

Loading…
Cancel
Save