/* $DOC$
   $NAME$
      CharSwap()
   $CATEGORY$
      CT3 string functions
   $ONELINER$
      Swap neighbouring characters in a string
   $SYNTAX$
      CharSwap( <[@]cString> ) -> cSwappedString
   $ARGUMENTS$
      <[@]cString>      is the string that should be processed
   $RETURNS$
      <cSwappedString>  a string where neighbour characters are swapped
   $DESCRIPTION$
      The CharSwap() function loops through <cString> in steps of two
      characters and exchanges the characters from the odd and the even
      positions.
      By setting the CSetRef() switch to .T., one can omit the return value
      of this functin, but one must then pass <cString> by reference.
   $EXAMPLES$
      ? CharSwap( "0123456789" )   // "1032547698"
      ? CharSwap( "ABCDEFGHIJK" )  // "BADCFEHGJIK"
   $STATUS$
      Ready
   $COMPLIANCE$
      CharSwap() is compatible with CT3's CharSwap().
   $PLATFORMS$
      All
   $FILES$
      Library is hbct.
   $SEEALSO$
      WordSwap(), CSetRef()
   $END$
 */

/* $DOC$
   $NAME$
      WordSwap()
   $CATEGORY$
      CT3 string functions
   $ONELINER$
      Swap neighbouring double characters in a string
   $SYNTAX$
      WordSwap( <[@]cString> [, <lSwapCharacters>] ) -> cSwappedString
   $ARGUMENTS$
      <[@]cString>         is the string that should be processed
      [<lSwapCharacters>]  specifies whether an additional swap should be
                           done within the double characters
                           Default: .F., no additional swap
   $RETURNS$
      <cSwappedString>  a string where neighbouring double characters are
                        swapped
   $DESCRIPTION$
      The WordSwap() function loops through <cString> in steps of four
      characters and exchanges the double characters from the first and
      second position with the one from the third and forth position.
      Additionally the function can perform a swap of the both char of
      each double character.
      By setting the CSetRef() switch to .T., one can omit the return value
      of this functin, but one must then pass <cString> by reference.
   $EXAMPLES$
      ? WordSwap( "1234567890" )       // "3412785690"
      ? WordSwap( "1234567890", .T. )  // "4321876590"
   $STATUS$
      Ready
   $COMPLIANCE$
      WordSwap() is compatible with CT3's WordSwap().
   $PLATFORMS$
      All
   $FILES$
      Library is hbct.
   $SEEALSO$
      CharSwap(), CSetRef()
   $END$
 */
