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

Go to the source code of this file.

Data Structures

struct  ContainerIds
 
struct  ContainerFunc
 
struct  ContainerTestCase
 
struct  ContainerTest
 
class  ContainerTestCaseData< T >
 
struct  ContRangeBase< Cont >
 

Macros

#define CONTAINER_TEST_DISPATCH(Alloc, fname, func, tcase)
 
#define DEFINE_CONTAINER_TEST_DISPATCH(fname)
 
#define CONTAINER_TFUNC(T, Allocator)
 
#define CONTAINER_TFUNC_ADDR(fname, T, Allocator)
 
#define DEFINE_CONTAINER_TEST_FUNCTIONS(fname)
 

Typedefs

typedef void ContainerTestFunc(const ContainerFunc &, const ContainerTestCase &)
 
typedef void VoidFunc()
 

Functions

_TEST_EXPORT int rw_run_cont_test (int, char **, const char *, const char *, ContainerIds::ContainerId, ContainerTestFunc *, const ContainerTest *, _RWSTD_SIZE_T)
 
_TEST_EXPORT int rw_run_cont_test (int, char **, const char *, const char *, ContainerIds::ContainerId, VoidFunc *const *, const ContainerTest *, _RWSTD_SIZE_T)
 

Macro Definition Documentation

◆ CONTAINER_TEST_DISPATCH

#define CONTAINER_TEST_DISPATCH (   Alloc,
  fname,
  func,
  tcase 
)
Value:
if (ContainerIds::UserPOD == func.elem_id_) \
fname (UserPOD (), (Alloc<UserPOD>*)0, func, tcase); \
else \
fname (UserClass (), (Alloc<UserClass>*)0, func, tcase)

Definition at line 381 of file rw_containers.h.

◆ CONTAINER_TFUNC

#define CONTAINER_TFUNC (   T,
  Allocator 
)
Value:

Definition at line 403 of file rw_containers.h.

◆ CONTAINER_TFUNC_ADDR

#define CONTAINER_TFUNC_ADDR (   fname,
  T,
  Allocator 
)
Value:
&fname<T, Allocator<T> >
#define CONTAINER_TFUNC(T, Allocator)
void VoidFunc()

Definition at line 407 of file rw_containers.h.

◆ DEFINE_CONTAINER_TEST_DISPATCH

#define DEFINE_CONTAINER_TEST_DISPATCH (   fname)
Value:
static void \
fname (const ContainerFunc &func, \
const ContainerTestCase &tcase) { \
if (ContainerIds::DefaultAlloc == func.alloc_id_) { \
CONTAINER_TEST_DISPATCH (std::allocator, fname, func, tcase); \
} \
else if (ContainerIds::UserAlloc == func.alloc_id_) { \
CONTAINER_TEST_DISPATCH (UserAlloc, fname, func, tcase); \
} \
else \
RW_ASSERT (!"logic error: bad allocator"); \
} typedef void rw_unused_typedef

Definition at line 388 of file rw_containers.h.

◆ DEFINE_CONTAINER_TEST_FUNCTIONS

#define DEFINE_CONTAINER_TEST_FUNCTIONS (   fname)
Value:
static VoidFunc* const fname ## _func_array [] = { \
CONTAINER_TFUNC_ADDR (fname, UserPOD, std::allocator), \
CONTAINER_TFUNC_ADDR (fname, UserPOD, UserAlloc), \
\
CONTAINER_TFUNC_ADDR (fname, UserClass, std::allocator), \
CONTAINER_TFUNC_ADDR (fname, UserClass, UserAlloc) \
}

Definition at line 411 of file rw_containers.h.

Typedef Documentation

◆ ContainerTestFunc

typedef void ContainerTestFunc(const ContainerFunc &, const ContainerTestCase &)

Definition at line 217 of file rw_containers.h.

◆ VoidFunc

typedef void VoidFunc()

Definition at line 224 of file rw_containers.h.

Function Documentation

◆ rw_run_cont_test() [1/2]

_TEST_EXPORT int rw_run_cont_test ( int  ,
char **  ,
const char *  ,
const char *  ,
ContainerIds::ContainerId  ,
ContainerTestFunc *  ,
const ContainerTest *  ,
_RWSTD_SIZE_T   
)

◆ rw_run_cont_test() [2/2]

_TEST_EXPORT int rw_run_cont_test ( int  ,
char **  ,
const char *  ,
const char *  ,
ContainerIds::ContainerId  ,
VoidFunc *const *  ,
const ContainerTest *  ,
_RWSTD_SIZE_T   
)