.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Config::Model::ListId 3pm" .TH Config::Model::ListId 3pm "2019-01-15" "perl v5.28.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Config::Model::ListId \- Handle list element for configuration model .SH "VERSION" .IX Header "VERSION" version 2.133 .SH "SYNOPSIS" .IX Header "SYNOPSIS" See \*(L"\s-1SYNOPSIS\*(R"\s0 in Config::Model::AnyId .SH "DESCRIPTION" .IX Header "DESCRIPTION" This class provides list elements for a Config::Model::Node. .SH "CONSTRUCTOR" .IX Header "CONSTRUCTOR" ListId object should not be created directly. .SH "List model declaration" .IX Header "List model declaration" See model declaration section from Config::Model::AnyId. .SH "Methods" .IX Header "Methods" .SS "get_type" .IX Subsection "get_type" Returns \f(CW\*(C`list\*(C'\fR. .SS "fetch_size" .IX Subsection "fetch_size" Returns the number of elements of the list. .SS "load" .IX Subsection "load" Parameters: \f(CW\*(C`(string, [ check => \*(Aqno\*(Aq ] )\*(C'\fR .PP Store a set of values passed as a comma separated list of values. Values can be quoted strings. (i.e \f(CW\*(C`"a,a",b\*(C'\fR yields \&\f(CW\*(C`(\*(Aqa,a\*(Aq, \*(Aqb\*(Aq)\*(C'\fR list). .PP \&\f(CW\*(C`check\*(C'\fR can be yes, no or skip .SS "store_set" .IX Subsection "store_set" Store a set of values (passed as list) .PP If tinkering with check is required, use the following way : .PP .Vb 1 \& store_set ( \e@v , check => \*(Aqskip\*(Aq ); .Ve .SS "move" .IX Subsection "move" Parameters: \f(CW\*(C`( from_index, to_index, [ check => \*(Aqno\*(Aq )\*(C'\fR .PP Move an element within the list. \f(CW\*(C`check\*(C'\fR can be 'yes' 'no' 'skip' .SS "push" .IX Subsection "push" Parameters: \f(CW\*(C`( value1, [ value2 ... ] )\*(C'\fR .PP push some values at the end of the list. .SS "push_x" .IX Subsection "push_x" Parameters: \f(CW\*(C`( values => [ v1\*(Aq,\*(Aqv2\*(Aq, ...] , ... )\*(C'\fR .PP Like push with extended options. Options are: .IP "check" 4 .IX Item "check" Check value validaty. Either \f(CW\*(C`yes\*(C'\fR (default), \f(CW\*(C`no\*(C'\fR, \f(CW\*(C`skip\*(C'\fR .IP "values" 4 .IX Item "values" Values to push (array_ref) .IP "value" 4 .IX Item "value" Single value to push .IP "annotation" 4 .IX Item "annotation" .SS "unshift" .IX Subsection "unshift" Parameters: \f(CW\*(C`( value1, [ value2 ... ] )\*(C'\fR .PP unshift some values at the end of the list. .SS "insert_at" .IX Subsection "insert_at" Parameters: \f(CW\*(C`( idx, value1, [ value2 ... ] )\*(C'\fR .PP unshift some values at index idx in the list. .SS "insert_before" .IX Subsection "insert_before" Parameters: \f(CW\*(C`( ( val | qr/stuff/ ) , value1, [ value2 ... ] )\*(C'\fR .PP unshift some values before value equal to \f(CW\*(C`val\*(C'\fR or before value matching \f(CW\*(C`stuff\*(C'\fR. .SS "insort" .IX Subsection "insort" Parameters: \f(CW\*(C`( value1, [ value2 ... ] )\*(C'\fR .PP Insert \f(CW\*(C`zz\*(C'\fR value on \f(CW\*(C`xxx\*(C'\fR list so that existing alphanumeric order is preserved. \&\f(CW\*(C`insort\*(C'\fR yields unpexpected results when called on an unsorted list. .SS "store" .IX Subsection "store" Equivalent to push_x. This method is provided to help write configuration parser, so the call is the same when dealing with leaf or list values. Prefer \f(CW\*(C`push_x\*(C'\fR when practical. .IP "check" 4 .IX Item "check" \&\f(CW\*(C`yes\*(C'\fR, \f(CW\*(C`no\*(C'\fR or \f(CW\*(C`skip\*(C'\fR .IP "annotation" 4 .IX Item "annotation" list ref of annotation to store with the list values .PP Example: .PP .Vb 5 \& $elt\->push_x ( \& values => [ \*(Aqv1\*(Aq,\*(Aqv2\*(Aq ] , \& annotation => [ \*(Aqv1 comment\*(Aq, \*(Aqv2 comment\*(Aq ], \& check => \*(Aqskip\*(Aq \& ); .Ve .SS "sort" .IX Subsection "sort" Sort the content of the list. Can only be called on list of leaf. .SS "swap" .IX Subsection "swap" Parameters: \f(CW\*(C`( ida , idb )\*(C'\fR .PP Swap 2 elements within the array .SS "remove" .IX Subsection "remove" Parameters: \f(CW\*(C`( idx )\*(C'\fR .PP Remove an element from the list. Equivalent to \f(CW\*(C`splice @list,$idx,1\*(C'\fR .SS "load_data" .IX Subsection "load_data" Parameters: \f(CW\*(C`( data => ( ref | scalar ) [, check => ... ] [ , split_reg => $re ] )\*(C'\fR .PP Clear and load list from data contained in the \f(CW\*(C`data\*(C'\fR array ref. If a scalar or a hash ref is passed, the list is cleared and the data is stored in the first element of the list. If split_reg is specified, the scalar is split to load the array. .PP For instance .PP .Vb 1 \& $elt\->load_data( data => \*(Aqfoo,bar\*(Aq, split_reg => qr(,) ) ; .Ve .PP loads \f(CW\*(C` [ \*(Aqfoo\*(Aq,\*(Aqbar\*(Aq]\*(C'\fR in \f(CW$elt\fR .SS "sort_algorithm" .IX Subsection "sort_algorithm" Returns a sub used to sort the list elements. See \&\*(L"sort\*(R" in perlfunc. Used only for list of leaves. This method can be overridden to alter sort order. .SH "AUTHOR" .IX Header "AUTHOR" Dominique Dumont, (ddumont at cpan dot org) .SH "SEE ALSO" .IX Header "SEE ALSO" Config::Model::Model, Config::Model::Instance, Config::Model::AnyId, Config::Model::HashId, Config::Model::Value .SH "AUTHOR" .IX Header "AUTHOR" Dominique Dumont .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This software is Copyright (c) 2005\-2018 by Dominique Dumont. .PP This is free software, licensed under: .PP .Vb 1 \& The GNU Lesser General Public License, Version 2.1, February 1999 .Ve