winix/templates/localefilter.h

50 lines
823 B
C++
Executable File

/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010-2014, Tomasz Sowa
* All rights reserved.
*
*/
#ifndef headerfile_winix_templates_localefilter
#define headerfile_winix_templates_localefilter
#include "locale.h"
#include "ezc.h"
namespace Winix
{
class LocaleFilter
{
public:
LocaleFilter();
// lang_index is an internal index from Locale <0, Size()-1>
void Filter(Ezc::Pattern & pattern, const Locale & locale, size_t lang_index);
private:
void ReadKey();
void FilterText(Ezc::Item & item);
void Parse(std::wstring & str);
wchar_t open_mark; // default '{'
wchar_t closing_mark; // default '}'
const Locale * plocale;
size_t lang;
std::wstring res;
std::wstring key;
std::wstring value;
const wchar_t * pchar;
};
} // namespace Winix
#endif