Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
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

//========= 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