Ne.app NeANT
The Ne.app NeANT User module of the NeANT distribution.
Data Structures | Macros | Typedefs | Functions
rw_strings.h File Reference
#include <rw_char.h>
#include <rw_testdefs.h>
#include <rw_containers.h>
#include <rw_sigdefs.h>
Include dependency graph for rw_strings.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  StringIds
 
struct  StringFunc
 
struct  StringTestCase
 
struct  StringTest
 
class  StringTestCaseData< charT >
 
struct  StringState
 
struct  RangeBase< String >
 

Macros

#define Disabled(which)    StringIds::opt_memfun_disabled [which & ~StringIds::fid_mask]
 
#define TEST_DISPATCH(Alloc, fname, func, tcase)
 
#define DEFINE_STRING_TEST_DISPATCH(fname)
 
#define TFUNC(charT, Traits, Allocator)
 
#define TFUNC_ADDR(fname, charT, Traits, Allocator)
 
#define DEFINE_STRING_TEST_FUNCTIONS(fname)
 

Typedefs

typedef void StringTestFunc(const StringFunc &, const StringTestCase &)
 
typedef void VoidFunc()
 

Functions

_TEST_EXPORT void rw_setvars (const StringFunc &, const StringTestCase *=0)
 
_TEST_EXPORT int rw_run_string_test (int, char **, const char *, const char *, StringTestFunc *, const StringTest *, _RWSTD_SIZE_T)
 
_TEST_EXPORT int rw_run_string_test (int, char **, const char *, const char *, VoidFunc *const *, const StringTest *, _RWSTD_SIZE_T)
 
template<class String >
StringState rw_get_string_state (const String &str)
 

Macro Definition Documentation

◆ DEFINE_STRING_TEST_DISPATCH

#define DEFINE_STRING_TEST_DISPATCH (   fname)
Value:
static void \
fname (const StringFunc &func, \
const StringTestCase &tcase) { \
if (StringIds::DefaultAlloc == func.alloc_id_) { \
TEST_DISPATCH (std::allocator, fname, func, tcase); \
} \
else if (StringIds::UserAlloc == func.alloc_id_) { \
TEST_DISPATCH (UserAlloc, fname, func, tcase); \
} \
else \
RW_ASSERT (!"logic error: bad allocator"); \
} typedef void rw_unused_typedef

Definition at line 885 of file rw_strings.h.

◆ DEFINE_STRING_TEST_FUNCTIONS

#define DEFINE_STRING_TEST_FUNCTIONS (   fname)
Value:
static VoidFunc* const fname ## _func_array [] = { \
TFUNC_ADDR (fname, char, std::char_traits, std::allocator), \
TFUNC_ADDR (fname, char, std::char_traits, UserAlloc), \
TFUNC_ADDR (fname, char, UserTraits, std::allocator), \
TFUNC_ADDR (fname, char, UserTraits, UserAlloc), \
\
TFUNC_ADDR (fname, wchar_t, std::char_traits, std::allocator), \
TFUNC_ADDR (fname, wchar_t, std::char_traits, UserAlloc), \
TFUNC_ADDR (fname, wchar_t, UserTraits, std::allocator), \
TFUNC_ADDR (fname, wchar_t, UserTraits, UserAlloc), \
\
(VoidFunc*)0, /* std::char_traits<UserChar> not allowed */ \
(VoidFunc*)0, /* std::char_traits<UserChar> not allowed */ \
TFUNC_ADDR (fname, UserChar, UserTraits, std::allocator), \
TFUNC_ADDR (fname, UserChar, UserTraits, UserAlloc) \
}
void VoidFunc()
Definition rw_strings.h:642

Definition at line 909 of file rw_strings.h.

◆ Disabled

#define Disabled (   which)     StringIds::opt_memfun_disabled [which & ~StringIds::fid_mask]

Definition at line 827 of file rw_strings.h.

◆ TEST_DISPATCH

#define TEST_DISPATCH (   Alloc,
  fname,
  func,
  tcase 
)
Value:
if (StringIds::DefaultTraits == func.traits_id_) { \
if (StringIds::Char == func.char_id_) \
fname (char (), (std::char_traits<char>*)0, \
(Alloc<char>*)0, func, tcase); \
else if (StringIds::WChar == func.char_id_) \
fname (wchar_t (), (std::char_traits<wchar_t>*)0, \
(Alloc<wchar_t>*)0, func, tcase); \
else \
rw_note (0, 0, 0, \
"%{$CLASS} tests not implemented"); \
} \
else { \
if (StringIds::Char == func.char_id_) \
fname (char (), (UserTraits<char>*)0, \
(Alloc<char>*)0, func, tcase); \
else if (StringIds::WChar == func.char_id_) \
fname (wchar_t (), (UserTraits<wchar_t>*)0, \
(Alloc<wchar_t>*)0, func, tcase); \
else \
fname (UserChar (), (UserTraits<UserChar>*)0, \
(Alloc<UserChar>*)0, func, tcase); \
} \
(void)0
@ DefaultTraits
Definition rw_strings.h:45

Definition at line 832 of file rw_strings.h.

◆ TFUNC

#define TFUNC (   charT,
  Traits,
  Allocator 
)
Value:
#define charT
Definition 17.names.cpp:456
std::char_traits< S > Traits

Definition at line 900 of file rw_strings.h.

◆ TFUNC_ADDR

#define TFUNC_ADDR (   fname,
  charT,
  Traits,
  Allocator 
)
Value:
#define TFUNC(charT, Traits, Allocator)
Definition rw_strings.h:900

Definition at line 904 of file rw_strings.h.

Typedef Documentation

◆ StringTestFunc

typedef void StringTestFunc(const StringFunc &, const StringTestCase &)

Definition at line 636 of file rw_strings.h.

◆ VoidFunc

typedef void VoidFunc()

Definition at line 642 of file rw_strings.h.

Function Documentation

◆ rw_get_string_state()

template<class String >
StringState rw_get_string_state ( const String &  str)
inline

Definition at line 752 of file rw_strings.h.

◆ rw_run_string_test() [1/2]

_TEST_EXPORT int rw_run_string_test ( int  ,
char **  ,
const char *  ,
const char *  ,
StringTestFunc *  ,
const StringTest *  ,
_RWSTD_SIZE_T   
)

◆ rw_run_string_test() [2/2]

_TEST_EXPORT int rw_run_string_test ( int  ,
char **  ,
const char *  ,
const char *  ,
VoidFunc *const *  ,
const StringTest *  ,
_RWSTD_SIZE_T   
)

◆ rw_setvars()

_TEST_EXPORT void rw_setvars ( const StringFunc &  func,
const StringTestCase *  pcase = 0 
)

Definition at line 409 of file 21.strings.cpp.