/*
 * fontconfig/doc/fcstrset.fncs
 *
 * Copyright © 2003 Keith Packard
 *
 * Permission to use, copy, modify, distribute, and sell this software and its
 * documentation for any purpose is hereby granted without fee, provided that
 * the above copyright notice appear in all copies and that both that
 * copyright notice and this permission notice appear in supporting
 * documentation, and that the name of the author(s) not be used in
 * advertising or publicity pertaining to distribution of the software without
 * specific, written prior permission.  The authors make no
 * representations about the suitability of this software for any purpose.  It
 * is provided "as is" without express or implied warranty.
 *
 * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
 * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 * PERFORMANCE OF THIS SOFTWARE.
 */
    <variablelist>

@RET@           FcStrSet *
@FUNC@          FcStrSetCreate
@TYPE1@         void
@PURPOSE@       create a string set
@DESC@
Create an empty set.
@@

@RET@           FcBool
@FUNC@          FcStrSetMember
@TYPE1@         FcStrSet *                      @ARG1@          set
@TYPE2@         const FcChar8 *                 @ARG2@          s
@PURPOSE@       check set for membership
@DESC@
Returns whether <parameter>s</parameter> is a member of
<parameter>set</parameter>.
@@

@RET@           FcBool
@FUNC@          FcStrSetEqual
@TYPE1@         FcStrSet *                      @ARG1@          set_a
@TYPE2@         FcStrSet *                      @ARG2@          set_b
@PURPOSE@       check sets for equality
@DESC@
Returns whether <parameter>set_a</parameter> contains precisely the same
strings as <parameter>set_b</parameter>. Ordering of strings within the two
sets is not considered.
@@

@RET@           FcBool
@FUNC@          FcStrSetAdd
@TYPE1@         FcStrSet *                      @ARG1@          set
@TYPE2@         const FcChar8 *                 @ARG2@          s
@PURPOSE@       add to a string set
@DESC@
Adds a copy of <parameter>s</parameter> to <parameter>set</parameter>.
@@

@RET@           FcBool
@FUNC@          FcStrSetAddFilename
@TYPE1@         FcStrSet *                      @ARG1@          set
@TYPE2@         const FcChar8 *                 @ARG2@          s
@PURPOSE@       add a filename to a string set
@DESC@
Adds a copy <parameter>s</parameter> to <parameter>set</parameter>, The copy
is created with FcStrCopyFilename so that leading '~' values are replaced
with the value of the HOME environment variable.
@@

@RET@           FcBool
@FUNC@          FcStrSetDel
@TYPE1@         FcStrSet *                      @ARG1@          set
@TYPE2@         const FcChar8 *                 @ARG2@          s
@PURPOSE@       delete from a string set
@DESC@
Removes <parameter>s</parameter> from <parameter>set</parameter>, returning
FcTrue if <parameter>s</parameter> was a member else FcFalse.
@@

@RET@           void
@FUNC@          FcStrSetDestroy
@TYPE1@         FcStrSet *                      @ARG1@          set
@PURPOSE@       destroy a string set
@DESC@
Destroys <parameter>set</parameter>.
@@

@RET@           FcStrList *
@FUNC@          FcStrListCreate
@TYPE1@         FcStrSet *                      @ARG1@          set
@PURPOSE@       create a string iterator
@DESC@
Creates an iterator to list the strings in <parameter>set</parameter>.
@@

@RET@           void
@FUNC@          FcStrListFirst
@TYPE1@         FcStrList *                     @ARG1@          list
@PURPOSE@       get first string in iteration
@DESC@
Returns the first string in <parameter>list</parameter>.
@SINCE@         2.11.0
@@

@RET@           FcChar8 *
@FUNC@          FcStrListNext
@TYPE1@         FcStrList *                     @ARG1@          list
@PURPOSE@       get next string in iteration
@DESC@
Returns the next string in <parameter>list</parameter>.
@@

@RET@           void
@FUNC@          FcStrListDone
@TYPE1@         FcStrList *                     @ARG1@          list
@PURPOSE@       destroy a string iterator
@DESC@
Destroys the enumerator <parameter>list</parameter>.
@@
