PATH:
home
/
thebhoeo
/
.trash
/
wpforms-lite-pro
/
vendor_prefixed
/
ezyang
/
htmlpurifier
/
library
/
HTMLPurifier
<?php namespace WPForms\Vendor; /** * A simple array-backed queue, based off of the classic Okasaki * persistent amortized queue. The basic idea is to maintain two * stacks: an input stack and an output stack. When the output * stack runs out, reverse the input stack and use it as the output * stack. * * We don't use the SPL implementation because it's only supported * on PHP 5.3 and later. * * Exercise: Prove that push/pop on this queue take amortized O(1) time. * * Exercise: Extend this queue to be a deque, while preserving amortized * O(1) time. Some care must be taken on rebalancing to avoid quadratic * behaviour caused by repeatedly shuffling data from the input stack * to the output stack and back. */ class HTMLPurifier_Queue { private $input; private $output; public function __construct($input = array()) { $this->input = $input; $this->output = array(); } /** * Shifts an element off the front of the queue. */ public function shift() { if (empty($this->output)) { $this->output = \array_reverse($this->input); $this->input = array(); } if (empty($this->output)) { return NULL; } return \array_pop($this->output); } /** * Pushes an element onto the front of the queue. */ public function push($x) { \array_push($this->input, $x); } /** * Checks if it's empty. */ public function isEmpty() { return empty($this->input) && empty($this->output); } }
[-] AttrTypes.php
[edit]
[-] Arborize.php
[edit]
[-] AttrCollections.php
[edit]
[-] Printer.php
[edit]
[-] VarParser.php
[edit]
[-] DoctypeRegistry.php
[edit]
[-] Language.php
[edit]
[-] HTMLModuleManager.php
[edit]
[-] AttrDef.php
[edit]
[+]
Token
[-] ErrorStruct.php
[edit]
[-] IDAccumulator.php
[edit]
[+]
ChildDef
[+]
VarParser
[-] Doctype.php
[edit]
[+]
URIScheme
[+]
Strategy
[-] DefinitionCacheFactory.php
[edit]
[+]
AttrTransform
[-] Zipper.php
[edit]
[-] Filter.php
[edit]
[-] Node.php
[edit]
[+]
URIFilter
[+]
Injector
[-] PropertyList.php
[edit]
[+]
ConfigSchema
[-] Lexer.php
[edit]
[+]
AttrDef
[-] TokenFactory.php
[edit]
[-] TagTransform.php
[edit]
[-] StringHashParser.php
[edit]
[+]
Printer
[-] ContentSets.php
[edit]
[-] Definition.php
[edit]
[-] URISchemeRegistry.php
[edit]
[+]
TagTransform
[-] ErrorCollector.php
[edit]
[-] Injector.php
[edit]
[-] Length.php
[edit]
[-] Exception.php
[edit]
[+]
DefinitionCache
[-] URIDefinition.php
[edit]
[-] Token.php
[edit]
[-] URIScheme.php
[edit]
[-] EntityParser.php
[edit]
[-] ElementDef.php
[edit]
[+]
Node
[+]
Filter
[-] URIParser.php
[edit]
[-] PropertyListIterator.php
[edit]
[+]
HTMLModule
[+]
..
[-] Bootstrap.php
[edit]
[-] PercentEncoder.php
[edit]
[-] UnitConverter.php
[edit]
[-] VarParserException.php
[edit]
[-] ChildDef.php
[edit]
[-] HTMLDefinition.php
[edit]
[-] AttrValidator.php
[edit]
[+]
Lexer
[-] URIFilter.php
[edit]
[-] Queue.php
[edit]
[-] CSSDefinition.php
[edit]
[-] AttrTransform.php
[edit]
[-] URI.php
[edit]
[-] StringHash.php
[edit]
[-] EntityLookup.php
[edit]
[+]
Language
[-] LanguageFactory.php
[edit]
[-] ConfigSchema.php
[edit]
[-] HTMLModule.php
[edit]
[-] DefinitionCache.php
[edit]
[-] Context.php
[edit]
[-] Config.php
[edit]
[+]
EntityLookup
[-] Strategy.php
[edit]
[-] Encoder.php
[edit]
[-] Generator.php
[edit]