Ne.app NeANT
The Ne.app NeANT User module of the NeANT distribution.
Data Structures | Macros | Functions | Variables
22.locale.num.get.mt.cpp File Reference
#include <ios>
#include <iterator>
#include <locale>
#include <cstring>
#include <rw_locale.h>
#include <rw_thread.h>
#include <rw_driver.h>
#include <rw_valcmp.h>
Include dependency graph for 22.locale.num.get.mt.cpp:

Go to the source code of this file.

Data Structures

struct  MyNumData
 
struct  MyIos< charT, Traits >
 
struct  MyStreambuf< charT, Traits >
 

Macros

#define MAX_THREADS   32
 
#define MAX_LOOPS   100000
 

Functions

template<class charT , class Traits >
void test_put_data (const MyNumData &data, const std::num_put< charT > &np, const std::ostreambuf_iterator< charT, Traits > &iter, std::basic_ios< charT, Traits > &io, charT fill, charT term)
 
template<class charT , class Traits >
void test_get_data (const MyNumData &data, const std::num_get< charT > &ng, const std::istreambuf_iterator< charT, Traits > &iter, const std::istreambuf_iterator< charT, Traits > &end, std::basic_ios< charT, Traits > &io)
 
int main (int argc, char *argv[])
 

Variables

int opt_nthreads = 1
 
int opt_nloops = MAX_LOOPS
 
int opt_nlocales = MAX_THREADS
 
int opt_shared_locale
 
int opt_timeout = 60
 
struct MyNumData my_num_data [MAX_THREADS]
 
bool test_char
 
bool test_wchar
 

Macro Definition Documentation

◆ MAX_LOOPS

#define MAX_LOOPS   100000

Definition at line 41 of file 22.locale.num.get.mt.cpp.

◆ MAX_THREADS

#define MAX_THREADS   32

22.locale.num.get.mt.cpp

test exercising the thread safety of the num_get facet

$Id$

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Definition at line 40 of file 22.locale.num.get.mt.cpp.

Function Documentation

◆ main()

int main ( int  argc,
char *  argv[] 
)

Definition at line 561 of file 22.locale.num.get.mt.cpp.

◆ test_get_data()

template<class charT , class Traits >
void test_get_data ( const MyNumData &  data,
const std::num_get< charT > &  ng,
const std::istreambuf_iterator< charT, Traits > &  iter,
const std::istreambuf_iterator< charT, Traits > &  end,
std::basic_ios< charT, Traits > &  io 
)

Definition at line 231 of file 22.locale.num.get.mt.cpp.

◆ test_put_data()

template<class charT , class Traits >
void test_put_data ( const MyNumData &  data,
const std::num_put< charT > &  np,
const std::ostreambuf_iterator< charT, Traits > &  iter,
std::basic_ios< charT, Traits > &  io,
charT  fill,
charT  term 
)

Definition at line 167 of file 22.locale.num.get.mt.cpp.

Variable Documentation

◆ my_num_data

struct MyNumData my_num_data[MAX_THREADS]

◆ opt_nlocales

int opt_nlocales = MAX_THREADS

Definition at line 53 of file 22.locale.num.get.mt.cpp.

◆ opt_nloops

int opt_nloops = MAX_LOOPS

Definition at line 48 of file 22.locale.num.get.mt.cpp.

◆ opt_nthreads

int opt_nthreads = 1

Definition at line 45 of file 22.locale.num.get.mt.cpp.

◆ opt_shared_locale

int opt_shared_locale

Definition at line 65 of file 22.locale.num.get.mt.cpp.

◆ opt_timeout

int opt_timeout = 60

Definition at line 68 of file 22.locale.num.get.mt.cpp.

◆ test_char

bool test_char

Definition at line 327 of file 22.locale.num.get.mt.cpp.

◆ test_wchar

bool test_wchar

Definition at line 328 of file 22.locale.num.get.mt.cpp.