1// (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com)
2// (C) Copyright 2004-2007 Jonathan Turkanis
3// Distributed under the Boost Software License, Version 1.0. (See accompanying
4// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.)
5
6// See http://www.boost.org/libs/iostreams for documentation.
7
8// Contains the definitions of several constants used by the test program.
9
10#ifndef BOOST_IOSTREAMS_TEST_CONSTANTS_HPP_INCLUDED
11#define BOOST_IOSTREAMS_TEST_CONSTANTS_HPP_INCLUDED
12
13#include <string.h>
14#include <boost/config.hpp>
15
16namespace boost { namespace iostreams { namespace test {
17
18// Note: openmode could be a class type, so this header must be included
19// by just one TU.
20const BOOST_IOS::openmode in_mode = BOOST_IOS::in | BOOST_IOS::binary;
21const BOOST_IOS::openmode out_mode = BOOST_IOS::out | BOOST_IOS::binary;
22
23// Chunk size for reading or writing in chunks.
24const int chunk_size = 59;
25
26// Chunk size for reading or writing in chunks.
27const int small_buffer_size = 23;
28
29// Number of times data is repeated in test files.
30const int data_reps = 300;
31
32namespace detail {
33
34// Returns string which is used to generate test files.
35inline const char* data(char*)
36{
37 static const char* c =
38 "!\"#$%&'()*+,-./0123456879:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ"
39 "[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\n";
40 return c;
41}
42
43// Returns string which is used to generate test files.
44inline const wchar_t* data(wchar_t*)
45{
46 static const wchar_t* c =
47 L"!\"#$%&'()*+,-./0123456879:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ"
48 L"[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\n";
49 return c;
50}
51
52} // End namespace detail.
53
54inline const char* narrow_data() { return detail::data((char*)0); }
55
56inline const wchar_t* wide_data() { return detail::data((wchar_t*)0); }
57
58// Length of string returned by data().
59inline int data_length()
60{
61 static int len = (int) strlen(s: narrow_data());
62 return len;
63}
64
65} } } // End namespaces detail, iostreams, boost.
66
67#endif // #ifndef BOOST_IOSTREAMS_TEST_CONSTANTS_HPP_INCLUDED
68

source code of boost/libs/iostreams/test/detail/constants.hpp