Class PrettyPrint::GroupQueue
In: prettyprint.rb
Parent: Object

Methods

delete   deq   enq   new  

Public Class methods

[Source]

# File prettyprint.rb, line 313
    def initialize(*groups)
      @queue = []
      groups.each {|g| enq g}
    end

Public Instance methods

[Source]

# File prettyprint.rb, line 339
    def delete(group)
      @queue[group.depth].delete(group)
    end

[Source]

# File prettyprint.rb, line 324
    def deq
      @queue.each {|gs|
        (gs.length-1).downto(0) {|i|
          unless gs[i].breakables.empty?
            group = gs.slice!(i, 1).first
            group.break
            return group
          end
        }
        gs.each {|group| group.break}
        gs.clear
      }
      return nil
    end

[Source]

# File prettyprint.rb, line 318
    def enq(group)
      depth = group.depth
      @queue << [] until depth < @queue.length
      @queue[depth] << group
    end

[Validate]

ruby-doc.org is a community service provided by James Britt and Happy Camper Studios, a Phoenix, Arizona, Ruby application development company.

Documentation content on ruby-doc.org is provided by remarkable members of the Ruby community.

For more information on the Ruby programming language, visit ruby-lang.org.

Want to help improve Ruby's API docs? See Ruby Documentation Guidelines.