X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=CreaPhase.git;a=blobdiff_plain;f=octave_packages%2Fgeneral-1.3.1%2F%40inputParser%2FaddRequired.m;fp=octave_packages%2Fgeneral-1.3.1%2F%40inputParser%2FaddRequired.m;h=bd8e7e5e2afa11c7f779f5aef3d3a8a6351c8c51;hp=0000000000000000000000000000000000000000;hb=f5f7a74bd8a4900f0b797da6783be80e11a68d86;hpb=1705066eceaaea976f010f669ce8e972f3734b05 diff --git a/octave_packages/general-1.3.1/@inputParser/addRequired.m b/octave_packages/general-1.3.1/@inputParser/addRequired.m new file mode 100644 index 0000000..bd8e7e5 --- /dev/null +++ b/octave_packages/general-1.3.1/@inputParser/addRequired.m @@ -0,0 +1,60 @@ +## Copyright (C) 2011 Carnë Draug +## +## This program is free software; you can redistribute it and/or modify it under +## the terms of the GNU General Public License as published by the Free Software +## Foundation; either version 3 of the License, or (at your option) any later +## version. +## +## This program is distributed in the hope that it will be useful, but WITHOUT +## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +## details. +## +## You should have received a copy of the GNU General Public License along with +## this program; if not, see . + +## -*- texinfo -*- +## @deftypefn {Function File} {@var{parser} =} addRequired (@var{parser}, @var{argname}) +## @deftypefnx {Function File} {@var{parser} =} @var{parser}.addRequired (@var{argname}) +## @deftypefnx {Function File} {@var{parser} =} addRequired (@var{parser}, @var{argname}, @var{validator}) +## @deftypefnx {Function File} {@var{parser} =} @var{parser}.addRequired (@var{argname}, @var{validator}) +## Add new mandatory argument to the object @var{parser} of inputParser class. +## +## This method belongs to the inputParser class and implements an ordered +## arguments type of API. +## +## @var{argname} must be a string with the name of the new argument. The order +## in which new arguments are added with @command{addrequired}, represents the +## expected order of arguments. +## +## @var{validator} is an optional function handle to validate the given values +## for the argument with name @var{argname}. Alternatively, a function name +## can be used. +## +## See @command{help inputParser} for examples. +## +## @emph{Note}: this can be used together with the other type of arguments but +## it must be the first (see @command{@@inputParser}). +## +## @seealso{inputParser, @@inputParser/addOptional, @@inputParser/addParamValue +## @@inputParser/addParamValue, @@inputParser/addSwitch, @@inputParser/parse} +## @end deftypefn + +function inPar = addRequired (inPar, name, val) + + ## check @inputParser/subsref for the actual code + if (nargin == 2) + inPar = subsref (inPar, substruct( + '.' , 'addRequired', + '()', {name} + )); + elseif (nargin == 3) + inPar = subsref (inPar, substruct( + '.' , 'addRequired', + '()', {name, val} + )); + else + print_usage; + endif + +endfunction