Main Page | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

ffregex.h

Go to the documentation of this file.
00001 /*
00002  * finflect - Algorithms and tools for inflecting Finnish nouns
00003  * Copyright (C) 2004, 2005  The FinFlect Team
00004  * 
00005  * This library is free software; you can redistribute it and/or
00006  * modify it under the terms of the GNU Lesser General Public
00007  * License as published by the Free Software Foundation; either
00008  * version 2.1 of the License, or (at your option) any later version.
00009  * 
00010  * This library is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013  * Lesser General Public License for more details.
00014  * 
00015  * You should have received a copy of the GNU Lesser General Public
00016  * License along with this library; if not, write to the Free Software
00017  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00018  * 
00019  * 
00020  * For the complete legal text of the GNU Lesser General Public License,
00021  * see the file LICENSE. For a complete list of authors and copyright
00022  * holders, see the file AUTHORS.
00023  */
00024 
00025 /**
00026  * @file ffregex.h Declares regex wrappers for the ffstring data type.
00027  * They are implemented in ffregex.c.
00028  */
00029  
00030 #ifndef __FFREGEX_H
00031 #define __FFREGEX_H
00032 
00033 #ifdef __cplusplus
00034 extern "C" {
00035 #endif
00036 
00037 #include "fftypes.h"
00038 #include "ffstring.h"
00039 
00040 /**
00041  * Matches the given haystack against the given needle regex.
00042  * @return 1 on match; 0 on no match.
00043  */
00044 ffbool ffregex_match(const ffchar* needle, const ffstring* haystack);
00045 
00046 /**
00047  * Case-insensitively matches the given haystack against the given needle regex.
00048  * @return 1 on match; 0 on no match.
00049  */
00050 ffbool ffregex_match_ci(const ffchar* needle, const ffstring* haystack);
00051 
00052 /**
00053  * Does regex substitution.
00054  * @return 1 if the new string differs from the haystack (and haystack has thus been changed); 0 otherwise.
00055  */
00056 ffbool ffregex_replace(const ffchar* needle, const ffchar* replace, ffstring* haystack);
00057 
00058 /**
00059  * Does regex substitution case-insensitively.
00060  * @return 1 if the new string differs from the haystack (and haystack has thus been changed); 0 otherwise.
00061  */
00062 ffbool ffregex_replace_ci(const ffchar* needle, const ffchar* replace, ffstring* haystack);
00063 
00064 #ifdef __cplusplus
00065 }
00066 #endif
00067 
00068 #endif

Generated on Thu Jun 2 23:16:59 2005 for FinFlect by  doxygen 1.4.2