Back to Arangodb

Boost.Locale: whello.cpp

3rdParty/boost/1.78.0/libs/locale/doc/html/whello_8cpp-example.html

3.12.9.12.7 KB
Original Source

| | Boost.Locale |

whello.cpp

Basic example of using various functions with wide strings provided by this library

//

// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)

//

// Distributed under the Boost Software License, Version 1.0. (See

// accompanying file LICENSE_1_0.txt or copy at

// http://www.boost.org/LICENSE\_1\_0.txt)

//

#include <boost/locale.hpp>

#include <iostream>

#include <ctime>

int main()

{

using namespace boost::locale;

using namespace std;

// Create system default locale

generator gen;

locale loc=gen("");

locale::global(loc);

wcout.imbue(loc);

// This is needed to prevent C library to

// convert strings to narrow

// instead of C++ on some platforms

std::ios_base::sync_with_stdio(false);

wcout <<wformat(L"Today {1,date} at {1,time} we had run our first localization example") % time(0)

<<endl;

wcout<<L"This is how we show numbers in this locale "<<as::number << 103.34 <<endl;

wcout<<L"This is how we show currency in this locale "<<as::currency << 103.34 <<endl;

wcout<<L"This is typical date in the locale "<<as::date << std::time(0) <<endl;

wcout<<L"This is typical time in the locale "<<as::time << std::time(0) <<endl;

wcout<<L"This is upper case "<<to_upper(L"Hello World!")<<endl;

wcout<<L"This is lower case "<<to_lower(L"Hello World!")<<endl;

wcout<<L"This is title case "<<to_title(L"Hello World!")<<endl;

wcout<<L"This is fold case "<<fold_case(L"Hello World!")<<endl;

}

// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4