idlastro / IDL Structure procedures: TAG_EXIST

[Source code]

NAME
TAG_EXIST()
PURPOSE
To test whether a tag name exists in a structure.
EXPLANATION
Routine obtains a list of tagnames and tests whether the requested one
exists or not. The search is recursive so if any tag names in the 
structure are themselves structures the search drops down to that level.
(However, see the keyword TOP_LEVEL).
CALLING SEQUENCE
status = TAG_EXIST(str, tag, [ INDEX =, /TOP_LEVEL, /QUIET ] )
INPUT PARAMETERS
str  -  structure variable to search
tag  -  tag name to search for, scalar string
OUTPUTS
Function returns 1b if tag name exists or 0b if it does not.
OPTIONAL INPUT KEYWORD
/TOP_LEVEL = If set, then only the top level of the structure is
                    searched.
/QUIET - if set, then do not print messages if invalid parameters given
/RECURSE - does nothing but kept for compatibility with the
           Solarsoft version for which recursion is not the default 
 http://sohowww.nascom.nasa.gov/solarsoft/gen/idl/struct/tag_exist.pro
OPTIONAL OUTPUT KEYWORD
INDEX = index of matching tag, scalar longward, -1 if tag name does
        not exist
EXAMPLE
Determine if the tag 'THICK' is in the !P system variable
IDL> print,tag_exist(!P,'THICK')
PROCEDURE CALLS
None.
MODIFICATION HISTORY
Written,       C D Pike, RAL, 18-May-94               
Passed out index of matching tag,  D Zarro, ARC/GSFC, 27-Jan-95     
William Thompson, GSFC, 6 March 1996    Added keyword TOP_LEVEL
Zarro, GSFC, 1 August 1996    Added call to help 
Use SIZE(/TNAME) rather than DATATYPE()  W. Landsman  October 2001
Added /RECURSE and /QUIET for compatibility with Solarsoft version
         W. Landsman  March 2009
Slightly faster algorithm   W. Landsman    July 2009
July 2009 update was not setting Index keyword  W. L   Sep 2009.
Use V6.0 notation W.L. Jan 2012 
 Not setting index again, sigh  W.L./ K. Allers  Jan 2012
 quantity of input
 quality of input