| Package | system.collections | 
|---|---|
| Inheritance | class CQueue » CComponent | 
| Implements | IteratorAggregate, Traversable, Countable | 
| Since | 1.0 | 
| Version | $Id$ | 
| Source Code | framework/collections/CQueue.php | 
foreach($queue as $item) ...
| Property | Type | Description | Defined By | 
|---|---|---|---|
| count | integer | the number of items in the queue | CQueue | 
| iterator | Iterator | Returns an iterator for traversing the items in the queue. | CQueue | 
| Method | Description | Defined By | 
|---|---|---|
| __call() | Calls the named method which is not a class method. | CComponent | 
| __construct() | Constructor. | CQueue | 
| __get() | Returns a property value, an event handler list or a behavior based on its name. | CComponent | 
| __isset() | Checks if a property value is null. | CComponent | 
| __set() | Sets value of a component property. | CComponent | 
| __unset() | Sets a component property to be null. | CComponent | 
| asa() | Returns the named behavior object. | CComponent | 
| attachBehavior() | Attaches a behavior to this component. | CComponent | 
| attachBehaviors() | Attaches a list of behaviors to the component. | CComponent | 
| attachEventHandler() | Attaches an event handler to an event. | CComponent | 
| canGetProperty() | Determines whether a property can be read. | CComponent | 
| canSetProperty() | Determines whether a property can be set. | CComponent | 
| clear() | Removes all items in the queue. | CQueue | 
| contains() | CQueue | |
| copyFrom() | Copies iterable data into the queue. | CQueue | 
| count() | Returns the number of items in the queue. | CQueue | 
| dequeue() | Removes and returns the object at the beginning of the queue. | CQueue | 
| detachBehavior() | Detaches a behavior from the component. | CComponent | 
| detachBehaviors() | Detaches all behaviors from the component. | CComponent | 
| detachEventHandler() | Detaches an existing event handler. | CComponent | 
| disableBehavior() | Disables an attached behavior. | CComponent | 
| disableBehaviors() | Disables all behaviors attached to this component. | CComponent | 
| enableBehavior() | Enables an attached behavior. | CComponent | 
| enableBehaviors() | Enables all behaviors attached to this component. | CComponent | 
| enqueue() | Adds an object to the end of the queue. | CQueue | 
| getCount() | Returns the number of items in the queue | CQueue | 
| getEventHandlers() | Returns the list of attached event handlers for an event. | CComponent | 
| getIterator() | Returns an iterator for traversing the items in the queue. | CQueue | 
| hasEvent() | Determines whether an event is defined. | CComponent | 
| hasEventHandler() | Checks whether the named event has attached handlers. | CComponent | 
| hasProperty() | Determines whether a property is defined. | CComponent | 
| peek() | Returns the item at the top of the queue. | CQueue | 
| raiseEvent() | Raises an event. | CComponent | 
| toArray() | CQueue | 
the number of items in the queue
Returns an iterator for traversing the items in the queue. This method is required by the interface IteratorAggregate.
| 
public void __construct(array $data=NULL) | ||
| $data | array | the intial data. Default is null, meaning no initialization. | 
public function __construct($data=null)
{
    if($data!==null)
        $this->copyFrom($data);
}
Constructor. Initializes the queue with an array or an iterable object.
| 
public void clear() | 
public function clear()
{
    $this->_c=0;
    $this->_d=array();
}
Removes all items in the queue.
| 
public boolean contains(mixed $item) | ||
| $item | mixed | the item | 
| {return} | boolean | whether the queue contains the item | 
public function contains($item)
{
    return array_search($item,$this->_d,true)!==false;
}
| 
public void copyFrom(mixed $data) | ||
| $data | mixed | the data to be copied from, must be an array or object implementing Traversable | 
public function copyFrom($data)
{
    if(is_array($data) || ($data instanceof Traversable))
    {
        $this->clear();
        foreach($data as $item)
        {
            $this->_d[]=$item;
            ++$this->_c;
        }
    }
    else if($data!==null)
        throw new CException(Yii::t('yii','Queue data must be an array or an object implementing Traversable.'));
}
Copies iterable data into the queue. Note, existing data in the list will be cleared first.
| 
public integer count() | ||
| {return} | integer | number of items in the queue. | 
public function count()
{
    return $this->getCount();
}
Returns the number of items in the queue. This method is required by Countable interface.
| 
public mixed dequeue() | ||
| {return} | mixed | the item at the beginning of the queue | 
public function dequeue()
{
    if($this->_c===0)
        throw new CException(Yii::t('yii','The queue is empty.'));
    else
    {
        --$this->_c;
        return array_shift($this->_d);
    }
}
Removes and returns the object at the beginning of the queue.
| 
public void enqueue(mixed $item) | ||
| $item | mixed | the item to be appended into the queue | 
public function enqueue($item)
{
    ++$this->_c;
    array_push($this->_d,$item);
}
Adds an object to the end of the queue.
| 
public integer getCount() | ||
| {return} | integer | the number of items in the queue | 
public function getCount()
{
    return $this->_c;
}
| 
public Iterator getIterator() | ||
| {return} | Iterator | an iterator for traversing the items in the queue. | 
public function getIterator()
{
    return new CQueueIterator($this->_d);
}
Returns an iterator for traversing the items in the queue. This method is required by the interface IteratorAggregate.
| 
public mixed peek() | ||
| {return} | mixed | item at the top of the queue | 
public function peek()
{
    if($this->_c===0)
        throw new CException(Yii::t('yii','The queue is empty.'));
    else
        return $this->_d[0];
}
Returns the item at the top of the queue.
| 
public array toArray() | ||
| {return} | array | the list of items in queue | 
public function toArray()
{
    return $this->_d;
}
Signup or Login in order to comment.