2023-07-21 21:54:03 +00:00
|
|
|
//
|
|
|
|
// NdbTagElem.swift
|
|
|
|
// damus
|
|
|
|
//
|
|
|
|
// Created by William Casarin on 2023-07-21.
|
|
|
|
//
|
|
|
|
|
|
|
|
import Foundation
|
|
|
|
|
|
|
|
struct NdbTagElem {
|
2023-07-22 23:56:13 +00:00
|
|
|
private let note: NdbNote
|
2023-07-21 21:54:03 +00:00
|
|
|
private let tag: UnsafeMutablePointer<ndb_tag>
|
|
|
|
let index: Int32
|
|
|
|
|
2023-07-22 23:56:13 +00:00
|
|
|
init(note: NdbNote, tag: UnsafeMutablePointer<ndb_tag>, index: Int32) {
|
2023-07-21 21:54:03 +00:00
|
|
|
self.note = note
|
|
|
|
self.tag = tag
|
|
|
|
self.index = index
|
|
|
|
}
|
|
|
|
|
2023-07-22 23:56:13 +00:00
|
|
|
func matches_char(_ c: AsciiCharacter) -> Bool {
|
|
|
|
return ndb_tag_matches_char(note.note, tag, index, c.cchar) == 1
|
2023-07-21 21:54:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func string() -> String {
|
2023-07-22 23:56:13 +00:00
|
|
|
return String(cString: ndb_tag_str(note.note, tag, index), encoding: .utf8) ?? ""
|
2023-07-21 21:54:03 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|