class RDoc::Markup::AttrSpan - rdoc: Ruby Standard Library Documentation

# 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