class RDoc::Markup::AttrSpan

An array of attributes which parallels the characters in a string.

Public Class Methods

new(length, exclusive) click to toggle source

Creates a new AttrSpan for length characters

# File rdoc/markup/attr_span.rb, line 10
def initialize(length, exclusive)
  @attrs = Array.new(length, 0)
  @exclusive = exclusive
end

Public Instance Methods

[](n) click to toggle source

Accesses flags for character n

# File rdoc/markup/attr_span.rb, line 31
def [](n)
  @attrs[n]
end
set_attrs(start, length, bits) click to toggle source

Toggles bits from start to length

# File rdoc/markup/attr_span.rb, line 17
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