NAME
DiaColloDB::EnumFile::FixedMap - diachronic collocation db, symbol<->integer enum, fixed-length symbols, mmap
ALIASES
DESCRIPTION
DiaColloDB::EnumFile::FixedMap (alias DiaColloDB::EnumFile::FixedLen::MMap) uses the File::Map module to provide a fast mmap()-based interface to the fixed-length-symbol<->integer mapping files used by DiaColloDB::EnumFile, from which it inherits.
Constructors etc.
- new
-
$enum = CLASS_OR_OBJECT->new(%args);
%args, object structure:
##-- EnumFile: basic options base => $base, ##-- database basename; use files "${base}.fsx", "${base}.fix", "${base}.hdr" perms => $perms, ##-- default: 0666 & ~umask flags => $flags, ##-- default: 'r' pack_i => $pack_i, ##-- integer pack template (default='N') #pack_o => $pack_o, ##-- file offset pack template (default='N') ; OVERRIDE/FixedLen: unused #pack_l => $pack_l, ##-- string-length pack template (default='n'); OVERRIDE/FixedLen: unused pack_s => $pack_s, ##-- string pack template for text i/o; OVERRIDE:REQUIRED (default='Nn') size => $size, ##-- number of mapped symbols, like scalar(@i2s) ## ##-- EnumFile: in-memory construction s2i => \%s2i, ##-- maps symbols to integers i2s => \@i2s, ##-- maps integers to symbols dirty => $bool, ##-- true if in-memory structures are not in-sync with file data loaded => $bool, ##-- true if file data has been loaded to memory ## ##-- EnumFile: pack lengths (after open()) len_i => $len_i, ##-- packsize($pack_i) #len_o => $len_o, ##-- packsize($pack_o) ; OVERRIDE/FixedLen: unused #len_l => $len_l, ##-- packsize($pack_l) ; OVERRIDE/FixedLen: unused len_s => $len_s, ##-- packsize($pack_s); OVERRIDE/FixedLen: new len_sx => $len_sx, ##-- $len_s + $len_i ; OVERRIDE/FixedLen: new value ## ##-- EnumFile: filehandles (after open()) #sfh => $sfh, ##-- $base.s : OVERRIDE/FixedLen: unused ixfh => $ixfh, ##-- $base.fix : [$i] => pack("${pack_s}", $s_with_id_i) : OVERRIDE/FixedLen: new extension, format sxfh => $sxfh, ##-- $base.fsx : [$j] => pack("${pack_s}${pack_i}", $s_with_sortorder_j_and_id_i, $i) : OVERRIDE/FixedLen: new extension, format ## ##-- FixedMap: buffers #sbufr => \$sbuf, ##-- mmap $base.s # OVERRIDE/FixedMap: unused ixbufr => \$ixbuf, ##-- mmap $base.fix # OVERRIDE/FixedMap: new format sxbufr => \$sxbuf, ##-- mmap $base.fsx # OVERRIDE/FixedMap: new format
AUTHOR
Bryan Jurish <moocow@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2015-2020 by Bryan Jurish
This package is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.14.2 or, at your option, any later version of Perl 5 you may have available.
SEE ALSO
DiaColloDB::EnumFile::FixedLen(3pm), DiaColloDB::EnumFile(3pm), DiaColloDB(3pm), perl(1), ...