You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
1.9 KiB
79 lines
1.9 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
// |
|
//=============================================================================// |
|
/* |
|
* |
|
* Copyright (c) 1998-9 |
|
* Dr John Maddock |
|
* |
|
* 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. Dr John Maddock makes no representations |
|
* about the suitability of this software for any purpose. |
|
* It is provided "as is" without express or implied warranty. |
|
* |
|
*/ |
|
|
|
/* |
|
* FILE re_cls.h |
|
* VERSION 2.12 |
|
* This is an internal header file, do not include directly. |
|
* character class lookup, for regular |
|
* expression library. |
|
*/ |
|
|
|
#ifndef RE_CLS_H |
|
#define RE_CLS_H |
|
|
|
#ifndef JM_CFG_H |
|
#include <jm/jm_cfg.h> |
|
#endif |
|
|
|
#ifndef RE_STR_H |
|
#include <jm/re_str.h> |
|
#endif |
|
|
|
JM_NAMESPACE(__JM) |
|
|
|
#define re_classes_max 14 |
|
|
|
void RE_CALL re_init_classes(); |
|
void RE_CALL re_free_classes(); |
|
void RE_CALL re_update_classes(); |
|
JM_IX_DECL jm_uintfast32_t RE_CALL __re_lookup_class(const char* p); |
|
|
|
inline jm_uintfast32_t RE_CALL re_lookup_class(const char* first, const char* last) |
|
{ |
|
re_str<char> s(first, last); |
|
return __re_lookup_class(s.c_str()); |
|
} |
|
|
|
#ifndef JM_NO_WCSTRING |
|
inline jm_uintfast32_t RE_CALL re_lookup_class(const wchar_t* first, const wchar_t* last) |
|
{ |
|
re_str<wchar_t> s(first, last); |
|
unsigned int len = re_strnarrow((char*)NULL, 0, s.c_str()); |
|
auto_array<char> buf(new char[len]); |
|
re_strnarrow((char*)buf, len, s.c_str()); |
|
len = __re_lookup_class((char*)buf); |
|
return len; |
|
} |
|
#endif |
|
|
|
#ifdef RE_LOCALE_CPP |
|
|
|
extern jm_uintfast32_t re_char_class_id[]; |
|
extern const char* re_char_class_names[]; |
|
|
|
#endif |
|
|
|
JM_END_NAMESPACE |
|
|
|
#endif |
|
|
|
|