Всем привет.
Кто-нибудь уже имел дело с библиотекой шаблонов C++ Template от Google? А так же с библиотекой функций Google safe library.
Если кто уже использовал их, поделитесь опытом.
Google C++ Template
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
Поумнеть несложно, куда труднее от дури избавиться.
Cобственно пример приведён непосредственно в самой документации.
cpp Код:
[LEFT] [/LEFT]
Шаблон текста может находиться как в отдельном файле, так и в виде строки внутри приложения.
В Visual C++ 2005 уже есть safe-реализация функций стандартной библиотеки С/С++, это те же функции, только с суффиксом _s на конце, например: fopen_s вместо fopen, sprintf_s вместо sprintf, и т.д.
Так что использовать Safe library от Google в последних версиях Visual C++ наверно смысла особого нет.
Here is a C++ program to fill in the template, which we assume is stored in the file 'example.tpl':Here is a simple template file:
Hello {{NAME}},
You have just won ${{VALUE}}!
{{#IN_CA}}Well, ${{TAXED_VALUE}}, after taxes.{{/IN_CA}}
cpp Код:
[LEFT]
Код: Выделить всё
[color=Blue]#include[/color] [color=DarkRed]<stdlib.h>[/color]
[color=Blue]#include[/color] [color=DarkRed]<string>[/color]
[color=Blue]#include[/color] [color=DarkRed]<iostream>[/color]
[color=Blue]#include[/color] [color=DarkRed]<google/template.h> [/color]
int main(int argc, char** argv)
{
google::TemplateDictionary dict([color=DarkRed]"example"[/color]);
dict.SetValue([color=DarkRed]"NAME", "John Smith"[/color]);
[color=Blue]int[/color] winnings = rand() % 100000;
dict.SetIntValue([color=DarkRed]"VALUE"[/color], winnings);
dict.SetFormattedValue([color=DarkRed]"TAXED_VALUE"[/color],[color=DarkRed] "%.2f"[/color], winnings * 0.83);
[color=Green]// For now, assume everyone lives in CA.
// (Try running the program with a 0 here instead!)[/color]
[color=Blue] if[/color] (1) {
dict.ShowSection([color=DarkRed]"IN_CA"[/color]);
}
google::Template* tpl = google::Template::GetTemplate([color=DarkRed]"example.tpl"[/color],
google: :D O_NOT_STRIP);
std::string output;
tpl->Expand(&output, &dict);
std::cout << output;
[color=Blue]return[/color] 0;
}
Шаблон текста может находиться как в отдельном файле, так и в виде строки внутри приложения.
В Visual C++ 2005 уже есть safe-реализация функций стандартной библиотеки С/С++, это те же функции, только с суффиксом _s на конце, например: fopen_s вместо fopen, sprintf_s вместо sprintf, и т.д.
Так что использовать Safe library от Google в последних версиях Visual C++ наверно смысла особого нет.