2007-12-30 17:41:49 +01:00
|
|
|
/***************************************************************************
|
|
|
|
|
2009-08-17 12:41:51 +02:00
|
|
|
gbx_compare.h
|
2007-12-30 17:41:49 +01:00
|
|
|
|
2009-08-17 12:41:51 +02:00
|
|
|
(c) 2000-2009 Benoît Minisini <gambas@users.sourceforge.net>
|
2007-12-30 17:41:49 +01:00
|
|
|
|
|
|
|
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
|
2009-08-17 12:41:51 +02:00
|
|
|
the Free Software Foundation; either version 2, or (at your option)
|
2007-12-30 17:41:49 +01:00
|
|
|
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, write to the Free Software
|
|
|
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
|
|
|
|
|
|
***************************************************************************/
|
|
|
|
|
|
|
|
#ifndef __GBX_COMPARE_H
|
|
|
|
#define __GBX_COMPARE_H
|
|
|
|
|
|
|
|
#ifndef GBX_INFO
|
|
|
|
#include "gbx_type.h"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define GB_COMP_BINARY 0
|
2010-02-08 00:10:41 +01:00
|
|
|
#define GB_COMP_NOCASE 1
|
2007-12-30 17:41:49 +01:00
|
|
|
#define GB_COMP_LANG 2
|
2009-08-22 14:17:31 +02:00
|
|
|
#define GB_COMP_LIKE 4
|
2010-01-25 18:53:58 +01:00
|
|
|
#define GB_COMP_NATURAL 8
|
2007-12-30 17:41:49 +01:00
|
|
|
|
2010-01-25 18:53:58 +01:00
|
|
|
#define GB_COMP_TYPE_MASK 15
|
2007-12-30 17:41:49 +01:00
|
|
|
|
|
|
|
#define GB_COMP_ASCENT 0
|
|
|
|
#define GB_COMP_DESCENT 16
|
|
|
|
|
|
|
|
#ifndef GBX_INFO
|
|
|
|
typedef
|
|
|
|
int (*COMPARE_FUNC)();
|
|
|
|
|
2008-01-17 22:39:26 +01:00
|
|
|
COMPARE_FUNC COMPARE_get(TYPE type, int mode);
|
|
|
|
int COMPARE_object(void **a, void **b);
|
2010-01-25 18:53:58 +01:00
|
|
|
int COMPARE_string_lang(const char *s1, int l1, const char *s2, int l2, bool nocase, bool throw);
|
|
|
|
int COMPARE_string_like(const char *s1, int l1, const char *s2, int l2);
|
2010-01-27 04:28:06 +01:00
|
|
|
int COMPARE_string_natural(const char *a, int la, const char *b, int lb, bool nocase);
|
2007-12-30 17:41:49 +01:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|