ÿØÿà JFIF H H ÿÛ C GIF89;
| System: Linux host57.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64 Current Path : /opt/alt/ruby30/share/gems/gems/rdoc-6.3.4.1/lib/rdoc/markup/ |
| Current File : //opt/alt/ruby30/share/gems/gems/rdoc-6.3.4.1/lib/rdoc/markup/attr_span.rb |
# frozen_string_literal: true
##
# An array of attributes which parallels the characters in a string.
class RDoc::Markup::AttrSpan
##
# Creates a new AttrSpan for +length+ characters
def initialize(length, exclusive)
@attrs = Array.new(length, 0)
@exclusive = exclusive
end
##
# Toggles +bits+ from +start+ to +length+
def set_attrs(start, length, bits)
updated = false
for i in start ... (start+length)
if (@exclusive & @attrs[i]) == 0 || (@exclusive & bits) != 0
@attrs[i] |= bits
updated = true
end
end
updated
end
##
# Accesses flags for character +n+
def [](n)
@attrs[n]
end
end