ActiveState!

ActivePerl Documentation
Table of Contents

(Usage Statistics)
(about this ver)


* Getting Started
    * Welcome To ActivePerl
    * Release Notes
    * Readme
    * ActivePerl Change Log
* Install Notes
    * Linux
    * Solaris
    * Windows
* ActivePerl Components
    * Overview
    * PPM
    * Windows Specifics
       * OLE Browser
       * PerlScript
       * Perl for ISAPI
       * PerlEZ
* ActivePerl FAQ
    * Introduction
    * Availability & Install
    * Using PPM
    * Docs & Support
    * Windows Specifics
       * Perl for ISAPI
       * Windows 9X/NT/2000
       * Quirks
       * Web Server Config
       * Web programming
       * Programming
       * Modules & Samples
       * Embedding & Extending
       * Using OLE with Perl
* Windows Scripting
    * Active Server Pages
    * Windows Script Host
    * Windows Script Components

Core Perl Documentation


* perl
* perlfaq
* perltoc
* perlbook

* perlsyn
* perldata
* perlop
* perlreftut
* perldsc
* perllol

* perllexwarn
* perldebug

* perlrun
* perlfunc
* perlopentut
* perlvar
* perlsub
* perlmod
* perlpod

* perlstyle
* perlmodlib
* perlmodinstall
* perltrap
* perlport
* perlsec

* perlref
* perlre
* perlform
* perllocale
* perlunicode

* perlboot
* perltoot
* perltootc
* perlobj
* perlbot
* perltie

* perlipc
* perlnumber
* perlfork
* perlthrtut

* perldiag
* perlfaq1
* perlfaq2
* perlfaq3
* perlfaq4
* perlfaq5
* perlfaq6
* perlfaq7
* perlfaq8
* perlfaq9

* perlcompile

* perlembed
* perlxstut
* perlxs
* perlguts
* perlcall
* perlfilter
* perldbmfilter
* perlapi
* perlintern
* perlapio
* perltodo
* perlhack

* perlhist
* perldelta
* perl5005delta
* perl5004delta

* perlamiga
* perlcygwin
* perldos
* perlhpux
* perlmachten
* perlos2
* perlos390
* perlvms
* perlwin32

Pragmas


* attributes
* attrs
* autouse
* base
* blib
* bytes
* charnames
* constant
* diagnostics
* fields
* filetest
* integer
* less
* lib
* locale
* lwpcook
* open
* ops
* overload
* perllocal
* re
* sigtrap
* strict
* subs
* utf8
* vars
* warnings

Libraries


* ActivePerl
    * DocTools
        * TOC
            * RDF
* AnyDBM_File
* Archive
    * Tar
* AutoLoader
* AutoSplit
* B
    * Asmdata
    * Assembler
    * Bblock
    * Bytecode
    * C
    * CC
    * Debug
    * Deparse
    * Disassembler
    * Lint
    * Showlex
    * Stackobj
    * Terse
    * Xref
* Benchmark
* Bundle
    * LWP
* ByteLoader
* Carp
    * Heavy
* CGI
    * Apache
    * Carp
    * Cookie
    * Fast
    * Pretty
    * Push
    * Switch
* Class
    * Struct
* Compress
    * Zlib
* Config
* CPAN
    * FirstTime
    * Nox
* Cwd
* Data
    * Dumper
* DB
* Devel
    * DProf
    * Peek
    * SelfStubber
* Digest
    * HMAC
    * HMAC_MD5
    * HMAC_SHA1
    * MD2
    * MD5
    * SHA1
* DirHandle
* Dumpvalue
* DynaLoader
* English
* Env
* Errno
* Exporter
    * Heavy
* ExtUtils
    * Command
    * Embed
    * Install
    * Installed
    * Liblist
    * MakeMaker
    * Manifest
    * Miniperl
    * Mkbootstrap
    * Mksymlists
    * MM_Cygwin
    * MM_OS2
    * MM_Unix
    * MM_VMS
    * MM_Win32
    * Packlist
    * testlib
* Fatal
* Fcntl
* File
    * Basename
    * CheckTree
    * Compare
    * Copy
    * CounterFile
    * DosGlob
    * Find
    * Glob
    * Listing
    * Path
    * Spec
        * Functions
        * Mac
        * OS2
        * Unix
        * VMS
        * Win32
    * stat
* FileCache
* FileHandle
* FindBin
* Font
    * AFM
* Getopt
    * Long
    * Std
* HTML
    * AsSubs
    * Element
    * Entities
    * Filter
    * Form
    * FormatPS
    * Formatter
    * FormatText
    * HeadParser
    * LinkExtor
    * Parse
    * Parser
    * TokeParser
    * TreeBuilder
* HTTP
    * Cookies
    * Daemon
    * Date
    * Headers
        * Util
    * Message
    * Negotiate
    * Request
        * Common
    * Response
    * Status
* I18N
    * Collate
* IO
    * Dir
    * File
    * Handle
    * Pipe
    * Poll
    * Seekable
    * Select
    * Socket
        * INET
        * UNIX
* IPC
    * Msg
    * Open2
    * Open3
    * Semaphore
    * SysV
* LWP
    * Debug
    * MediaTypes
    * MemberMixin
    * Protocol
    * RobotUA
    * Simple
    * UserAgent
* Math
    * BigFloat
    * BigInt
    * Complex
    * Trig
* MD5
* MIME
    * Base64
    * QuotedPrint
* NDBM_File
* Net
    * Cmd
    * Config
    * Domain
    * DummyInetd
    * FTP
    * hostent
    * libnetFAQ
    * netent
    * Netrc
    * NNTP
    * PH
    * Ping
    * POP3
    * protoent
    * servent
    * SMTP
    * SNPP
    * Time
* O
* ODBM_File
* Opcode
* Pod
    * Checker
    * Find
    * Html
    * InputObjects
    * Man
    * Parser
    * ParseUtils
    * Plainer
    * Select
    * Text
        * Color
        * Termcap
    * Usage
* POSIX
* PPM
    * SOAPClient
    * SOAPServer
* Safe
* SDBM_File
* Search
    * Dict
* SelectSaver
* SelfLoader
* SHA
* Shell
* SOAP
    * Defs
    * Envelope
    * EnvelopeMaker
    * GenericHashSerializer
    * GenericInputStream
    * GenericScalarSerializer
    * Lite
    * OutputStream
    * Packager
    * Parser
    * Transport
        * HTTP
            * Apache
            * CGI
            * Client
            * Server
        * LOCAL
        * MAILTO
        * POP3
        * TCP
    * TypeMapper
* Socket
* Symbol
* Sys
    * Hostname
    * Syslog
* Term
    * ANSIColor
    * Cap
    * Complete
    * ReadLine
* Test
    * Harness
* Text
    * Abbrev
    * ParseWords
    * Soundex
    * Tabs
    * Wrap
* Thread
    * Queue
    * Semaphore
    * Signal
    * Specific
* Tie
    * Array
    * Handle
    * Hash
    * RefHash
    * Scalar
    * SubstrHash
* Time
    * gmtime
    * Local
    * localtime
    * tm
* UDDI
    * Lite
* UNIVERSAL
* URI
    * data
    * Escape
    * file
    * Heuristic
    * ldap
    * URL
    * WithBase
* User
    * grent
    * pwent
* Win32
    * AuthenticateUser
    * ChangeNotify
    * Clipboard
    * Console
    * Event
    * EventLog
    * File
    * FileSecurity
    * Internet
    * IPC
    * Mutex
    * NetAdmin
    * NetResource
    * ODBC
    * OLE
        * Const
        * Enum
        * NEWS
        * NLS
        * TPJ
        * Variant
    * PerfLib
    * Pipe
    * Process
    * Registry
    * Semaphore
    * Service
    * Sound
    * TieRegistry
* Win32API
    * File
    * Net
    * Registry
* WWW
    * RobotRules
        * AnyDBM_File
* XML
    * Element
    * Parser
        * Expat
    * PPD
    * PPMConfig
    * ValidatingElement
* XSLoader

 Set::IntRange - Sets of Integers


NAME

Set::IntRange - Sets of Integers

Easy manipulation of sets of integers (arbitrary intervals)


SUPPORTED PLATFORMS

  • Linux
  • Solaris
  • Windows
This module is not included with the standard ActivePerl distribution. It is available as a separate download using PPM.

SYNOPSIS

METHODS

  Version
      $version = $Set::IntRange::VERSION;
  new
      $set = Set::IntRange->new($lower,$upper);
      $set = $any_set->new($lower,$upper);
  Resize
      $set->Resize($lower,$upper);
  Size
      ($lower,$upper) = $set->Size();
  Empty
      $set->Empty();
  Fill
      $set->Fill();
  Flip
      $set->Flip();
  Interval_Empty
      $set->Interval_Empty($lower,$upper);
      $set->Empty_Interval($lower,$upper); # (deprecated)
  Interval_Fill
      $set->Interval_Fill($lower,$upper);
      $set->Fill_Interval($lower,$upper);  # (deprecated)
  Interval_Flip
      $set->Interval_Flip($lower,$upper);
      $set->Flip_Interval($lower,$upper);  # (deprecated)
  Interval_Scan_inc
      while (($min,$max) = $set->Interval_Scan_inc($start))
  Interval_Scan_dec
      while (($min,$max) = $set->Interval_Scan_dec($start))
  Bit_Off
      $set->Bit_Off($index);
      $set->Delete($index);                # (deprecated)
  Bit_On
      $set->Bit_On($index);
      $set->Insert($index);                # (deprecated)
  bit_flip
      $bit = $set->bit_flip($index);
      if ($set->bit_flip($index))
      $bit = $set->flip($index);           # (deprecated)
      if ($set->flip($index))              # (deprecated)
  bit_test
      $bit = $set->bit_test($index);
      if ($set->bit_test($index))
      $bit = $set->contains($index);
      if ($set->contains($index))
      $bit = $set->in($index);             # (deprecated)
      if ($set->in($index))                # (deprecated)
  Norm
      $norm = $set->Norm();
  Min
      $min = $set->Min();
  Max
      $max = $set->Max();
  Union
      $set1->Union($set2,$set3);           # in-place is possible!
  Intersection
      $set1->Intersection($set2,$set3);    # in-place is possible!
  Difference
      $set1->Difference($set2,$set3);      # in-place is possible!
  ExclusiveOr
      $set1->ExclusiveOr($set2,$set3);     # in-place is possible!
  Complement
      $set1->Complement($set2);            # in-place is possible!
  is_empty
      if ($set->is_empty())
  is_full
      if ($set->is_full())
  equal
      if ($set1->equal($set2))
  subset
      if ($set1->subset($set2))
      if ($set1->inclusion($set2))         # (deprecated)
  Lexicompare
      $cmp = $set1->Lexicompare($set2);    # unsigned
  Compare
      $cmp = $set1->Compare($set2);        # signed
  Copy
      $set1->Copy($set2);
  Shadow
      $other_set = $some_set->Shadow();
  Clone
      $twin_set = $some_set->Clone();
  to_Enum
      $string = $set->to_Enum();           # e.g., "-8..-5,-1..2,4,6..9"
  from_Enum
      eval { $set->from_Enum($string); };
  to_Hex
      $string = $set->to_Hex();            # e.g., "0007AF1E"
  from_Hex
      eval { $set->from_Hex($string); };
  BitVector
      $set->BitVector->any_Bit_Vector_method();

OVERLOADED OPERATORS

      # "$index" is a number or a Perl scalar variable containing a
      # number which represents the set containing only that element:
  Emptyness
      if ($set) # if not empty
      if (! $set) # if empty
      unless ($set) # if empty
  Equality
      if ($set1 == $set2)
      if ($set1 != $set2)
      if ($set == $index)
      if ($set != $index)
  Lexical Comparison
      $cmp = $set1 cmp $set2;
      if ($set1 lt $set2)
      if ($set1 le $set2)
      if ($set1 gt $set2)
      if ($set1 ge $set2)
      if ($set1 eq $set2)
      if ($set1 ne $set2)
      $cmp = $set cmp $index;
      if ($set lt $index)
      if ($set le $index)
      if ($set gt $index)
      if ($set ge $index)
      if ($set eq $index)
      if ($set ne $index)
  String Conversion
      $string = "$set";
      print "\$set = '$set'\n";
  Union
      $set1 = $set2 + $set3;
      $set1 += $set2;
      $set1 = $set2 | $set3;
      $set1 |= $set2;
      $set1 = $set2 + $index;
      $set += $index;
      $set1 = $set2 | $index;
      $set |= $index;
  Intersection
      $set1 = $set2 * $set3;
      $set1 *= $set2;
      $set1 = $set2 & $set3;
      $set1 &= $set2;
      $set1 = $set2 * $index;
      $set *= $index;
      $set1 = $set2 & $index;
      $set &= $index;
  Difference
      $set1 = $set2 - $set3;
      $set1 -= $set2;
      $set1 = $set2 - $set1;
      $set1 = $set2 - $index;
      $set1 = $index - $set2;
      $set -= $index;
  ExclusiveOr
      $set1 = $set2 ^ $set3;
      $set1 ^= $set2;
      $set1 = $set2 ^ $index;
      $set ^= $index;
  Complement
      $set1 = -$set2;
      $set1 = ~$set2;
      $set = -$set;
      $set = ~$set;
  Subset Relationship
      if ($set1 <= $set2)
  True Subset Relationship
      if ($set1 < $set2)
  Superset Relationship
      if ($set1 >= $set2)
  True Superset Relationship
      if ($set1 > $set2)
  Norm
      $norm = abs($set);


DESCRIPTION

This class lets you dynamically create sets of arbitrary intervals of integers and perform all the basic operations for sets on them (for a list of available methods and operators, see above).

See the Bit::Vector(3) manpage for more details!


SEE ALSO

Bit::Vector(3), Set::IntegerFast(3), Math::MatrixBool(3), Math::MatrixReal(3), DFA::Kleene(3), Math::Kleene(3), Graph::Kruskal(3).


VERSION

This man page documents ``Set::IntRange'' version 5.0.


AUTHOR

Steffen Beyer <sb@sdm.de>.


COPYRIGHT

Copyright (c) 1996, 1997 by Steffen Beyer. All rights reserved.


LICENSE

This package is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

 Set::IntRange - Sets of Integers