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.
80 lines
1.9 KiB
80 lines
1.9 KiB
5 years ago
|
//========= 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
|
||
|
|