* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ declare(strict_types=1); namespace League\Csv\Query; use Iterator; /** * Enable sorting a record based on its value. * * The class can be used directly with PHP's *
    *
  1. usort and uasort.
  2. *
  3. ArrayIterator::uasort.
  4. *
  5. ArrayObject::uasort.
  6. *
*/ interface Sort { /** * The class comparison method. * * The method must return an integer less than, equal to, or greater than zero * if the first argument is considered to be respectively less than, equal to, * or greater than the second. */ public function __invoke(mixed $valueA, mixed $valueB): int; /** * Sort an iterable structure with the class comparison method and maintain index association. */ public function sort(iterable $value): Iterator; }