Extension [ <persistent> extension #118 pthreads version 2.0.7 ] {

  - Constants [10] {
    Constant [ integer PTHREADS_INHERIT_ALL ] { 1118481 }
    Constant [ integer PTHREADS_INHERIT_NONE ] { 0 }
    Constant [ integer PTHREADS_INHERIT_INI ] { 1 }
    Constant [ integer PTHREADS_INHERIT_CONSTANTS ] { 16 }
    Constant [ integer PTHREADS_INHERIT_CLASSES ] { 4096 }
    Constant [ integer PTHREADS_INHERIT_FUNCTIONS ] { 256 }
    Constant [ integer PTHREADS_INHERIT_INCLUDES ] { 65536 }
    Constant [ integer PTHREADS_INHERIT_COMMENTS ] { 1048576 }
    Constant [ integer PTHREADS_ALLOW_HEADERS ] { 268435456 }
    Constant [ integer PTHREADS_ALLOW_GLOBALS ] { 16777216 }
  }

  - Classes [7] {
    Class [ <internal:pthreads> <iterateable> class Threaded implements Traversable, Countable ] {

      - Constants [0] {
      }

      - Static properties [0] {
      }

      - Static methods [0] {
      }

      - Properties [0] {
      }

      - Methods [15] {
        Method [ <internal:pthreads> public method run ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method wait ] {

          - Parameters [1] {
            Parameter #0 [ <optional> $timeout ]
          }
        }

        Method [ <internal:pthreads> public method notify ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method isRunning ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method isWaiting ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method isTerminated ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method getTerminationInfo ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method synchronized ] {

          - Parameters [1] {
            Parameter #0 [ <required> $function ]
          }
        }

        Method [ <internal:pthreads> public method lock ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method unlock ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method merge ] {

          - Parameters [2] {
            Parameter #0 [ <required> $from ]
            Parameter #1 [ <optional> $overwrite ]
          }
        }

        Method [ <internal:pthreads> public method shift ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method chunk ] {

          - Parameters [2] {
            Parameter #0 [ <required> $size ]
            Parameter #1 [ <optional> $preserve ]
          }
        }

        Method [ <internal:pthreads> public method pop ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, prototype Countable> public method count ] {

          - Parameters [0] {
          }
        }
      }
    }

    Class [ <internal:pthreads> <iterateable> class Threaded implements Traversable, Countable ] {

      - Constants [0] {
      }

      - Static properties [0] {
      }

      - Static methods [0] {
      }

      - Properties [0] {
      }

      - Methods [15] {
        Method [ <internal:pthreads> public method run ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method wait ] {

          - Parameters [1] {
            Parameter #0 [ <optional> $timeout ]
          }
        }

        Method [ <internal:pthreads> public method notify ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method isRunning ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method isWaiting ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method isTerminated ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method getTerminationInfo ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method synchronized ] {

          - Parameters [1] {
            Parameter #0 [ <required> $function ]
          }
        }

        Method [ <internal:pthreads> public method lock ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method unlock ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method merge ] {

          - Parameters [2] {
            Parameter #0 [ <required> $from ]
            Parameter #1 [ <optional> $overwrite ]
          }
        }

        Method [ <internal:pthreads> public method shift ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method chunk ] {

          - Parameters [2] {
            Parameter #0 [ <required> $size ]
            Parameter #1 [ <optional> $preserve ]
          }
        }

        Method [ <internal:pthreads> public method pop ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, prototype Countable> public method count ] {

          - Parameters [0] {
          }
        }
      }
    }

    Class [ <internal:pthreads> <iterateable> class Thread extends Threaded implements Countable, Traversable ] {

      - Constants [0] {
      }

      - Static properties [0] {
      }

      - Static methods [3] {
        Method [ <internal:pthreads> static public method getCurrentThreadId ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> static public method getCurrentThread ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> static public method globally ] {

          - Parameters [2] {
            Parameter #0 [ <required> $block ]
            Parameter #1 [ <optional> $args ]
          }
        }
      }

      - Properties [0] {
      }

      - Methods [23] {
        Method [ <internal:pthreads> public method start ] {

          - Parameters [1] {
            Parameter #0 [ <optional> $options ]
          }
        }

        Method [ <internal:pthreads> public method join ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method detach ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method isStarted ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method isJoined ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method getThreadId ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method getCreatorId ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method kill ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method run ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method wait ] {

          - Parameters [1] {
            Parameter #0 [ <optional> $timeout ]
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method notify ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method isRunning ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method isWaiting ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method isTerminated ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method getTerminationInfo ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method synchronized ] {

          - Parameters [1] {
            Parameter #0 [ <required> $function ]
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method lock ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method unlock ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method merge ] {

          - Parameters [2] {
            Parameter #0 [ <required> $from ]
            Parameter #1 [ <optional> $overwrite ]
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method shift ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method chunk ] {

          - Parameters [2] {
            Parameter #0 [ <required> $size ]
            Parameter #1 [ <optional> $preserve ]
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method pop ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Threaded, prototype Countable> public method count ] {

          - Parameters [0] {
          }
        }
      }
    }

    Class [ <internal:pthreads> <iterateable> class Worker extends Thread implements Traversable, Countable ] {

      - Constants [0] {
      }

      - Static properties [0] {
      }

      - Static methods [3] {
        Method [ <internal:pthreads, inherits Thread> static public method getCurrentThreadId ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Thread> static public method getCurrentThread ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Thread> static public method globally ] {

          - Parameters [2] {
            Parameter #0 [ <required> $block ]
            Parameter #1 [ <optional> $args ]
          }
        }
      }

      - Properties [0] {
      }

      - Methods [29] {
        Method [ <internal:pthreads> public method shutdown ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method stack ] {

          - Parameters [1] {
            Parameter #0 [ <required> &$work ]
          }
        }

        Method [ <internal:pthreads> public method unstack ] {

          - Parameters [1] {
            Parameter #0 [ <optional> &$work ]
          }
        }

        Method [ <internal:pthreads> public method getStacked ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method isShutdown ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> public method isWorking ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Thread> public method start ] {

          - Parameters [1] {
            Parameter #0 [ <optional> $options ]
          }
        }

        Method [ <internal:pthreads, inherits Thread> public method join ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Thread> public method detach ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Thread> public method isStarted ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Thread> public method isJoined ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Thread> public method getThreadId ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Thread> public method getCreatorId ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Thread> public method kill ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method run ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method wait ] {

          - Parameters [1] {
            Parameter #0 [ <optional> $timeout ]
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method notify ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method isRunning ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method isWaiting ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method isTerminated ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method getTerminationInfo ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method synchronized ] {

          - Parameters [1] {
            Parameter #0 [ <required> $function ]
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method lock ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method unlock ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method merge ] {

          - Parameters [2] {
            Parameter #0 [ <required> $from ]
            Parameter #1 [ <optional> $overwrite ]
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method shift ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method chunk ] {

          - Parameters [2] {
            Parameter #0 [ <required> $size ]
            Parameter #1 [ <optional> $preserve ]
          }
        }

        Method [ <internal:pthreads, inherits Threaded> public method pop ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads, inherits Threaded, prototype Countable> public method count ] {

          - Parameters [0] {
          }
        }
      }
    }

    Class [ <internal:pthreads> class Mutex ] {

      - Constants [0] {
      }

      - Static properties [0] {
      }

      - Static methods [5] {
        Method [ <internal:pthreads> final static public method create ] {

          - Parameters [1] {
            Parameter #0 [ <optional> $lock ]
          }
        }

        Method [ <internal:pthreads> final static public method lock ] {

          - Parameters [1] {
            Parameter #0 [ <required> $mutex ]
          }
        }

        Method [ <internal:pthreads> final static public method trylock ] {

          - Parameters [1] {
            Parameter #0 [ <required> $mutex ]
          }
        }

        Method [ <internal:pthreads> final static public method unlock ] {

          - Parameters [2] {
            Parameter #0 [ <required> $mutex ]
            Parameter #1 [ <optional> $destroy ]
          }
        }

        Method [ <internal:pthreads> final static public method destroy ] {

          - Parameters [1] {
            Parameter #0 [ <required> $mutex ]
          }
        }
      }

      - Properties [0] {
      }

      - Methods [1] {
        Method [ <internal:pthreads, ctor> final public method __construct ] {

          - Parameters [0] {
          }
        }
      }
    }

    Class [ <internal:pthreads> class Cond ] {

      - Constants [0] {
      }

      - Static properties [0] {
      }

      - Static methods [5] {
        Method [ <internal:pthreads> final static public method create ] {

          - Parameters [0] {
          }
        }

        Method [ <internal:pthreads> final static public method signal ] {

          - Parameters [1] {
            Parameter #0 [ <required> $condition ]
          }
        }

        Method [ <internal:pthreads> final static public method wait ] {

          - Parameters [3] {
            Parameter #0 [ <required> $condition ]
            Parameter #1 [ <required> $mutex ]
            Parameter #2 [ <optional> $timeout ]
          }
        }

        Method [ <internal:pthreads> final static public method broadcast ] {

          - Parameters [1] {
            Parameter #0 [ <required> $condition ]
          }
        }

        Method [ <internal:pthreads> final static public method destroy ] {

          - Parameters [1] {
            Parameter #0 [ <required> $condition ]
          }
        }
      }

      - Properties [0] {
      }

      - Methods [1] {
        Method [ <internal:pthreads, ctor> final public method __construct ] {

          - Parameters [0] {
          }
        }
      }
    }

    Class [ <internal:pthreads> class Pool ] {

      - Constants [0] {
      }

      - Static properties [0] {
      }

      - Static methods [0] {
      }

      - Properties [6] {
        Property [ <default> protected $size ]
        Property [ <default> protected $class ]
        Property [ <default> protected $workers ]
        Property [ <default> protected $work ]
        Property [ <default> protected $ctor ]
        Property [ <default> protected $last ]
      }

      - Methods [6] {
        Method [ <internal:pthreads, ctor> public method __construct ] {

          - Parameters [3] {
            Parameter #0 [ <required> $size ]
            Parameter #1 [ <optional> $class ]
            Parameter #2 [ <optional> $ctor ]
          }
        }

        Method [ <internal:pthreads> public method resize ] {

          - Parameters [1] {
            Parameter #0 [ <required> $size ]
          }
        }

        Method [ <internal:pthreads> public method submit ] {

          - Parameters [1] {
            Parameter #0 [ <required> $task ]
          }
        }

        Method [ <internal:pthreads> public method submitTo ] {

          - Parameters [2] {
            Parameter #0 [ <required> $worker ]
            Parameter #1 [ <required> $task ]
          }
        }

        Method [ <internal:pthreads> public method collect ] {

          - Parameters [1] {
            Parameter #0 [ <required> $collector ]
          }
        }

        Method [ <internal:pthreads> public method shutdown ] {

          - Parameters [0] {
          }
        }
      }
    }
  }
}