Ne.app NeANT
The Ne.app NeANT User module of the NeANT distribution.
Data Structures | Macros | Typedefs | Functions | Variables
25.remove.cpp File Reference
#include <algorithm>
#include <cstring>
#include <rw_alg_test.h>
#include <rw_value.h>
#include <rw_driver.h>
Include dependency graph for 25.remove.cpp:

Go to the source code of this file.

Data Structures

struct  RemoveTag
 
struct  RemoveCopyTag
 
struct  NoIterator
 
struct  EqualityPredicate< T, U >
 
class  EqualityPredicate< T, U >::ConvertibleToBool
 

Macros

#define TEST(src, val, nremoved)    test_remove (__LINE__, src, val, nremoved, it1, it2, (T*)0, pred, tag)
 

Typedefs

typedef unsigned char UChar
 

Functions

 _RWSTD_NAMESPACE (std)
 
const char * type_name (NoIterator, const UserClass *)
 
template<class Iterator , class T , class Predicate >
void test_remove (int line, const char *src, const char val, std::size_t nrem, Iterator, NoIterator, const T *, const Predicate *, RemoveTag tag)
 
template<class Iterator , class OutputIterator , class Predicate , class T >
void test_remove (int line, const char *src, const char val, std::size_t nrem, Iterator it, OutputIterator dummy, const T *, const Predicate *, RemoveCopyTag tag)
 
template<class Iterator1 , class Iterator2 , class T , class Predicate , class Tag >
void test_remove (Iterator1 it1, Iterator2 it2, const T *, const Predicate *pred, Tag tag)
 
template<class T , class Predicate , class Tag >
void test_remove (const T *, const Predicate *pred, Tag tag)
 
template<class T >
void test_remove (const T *)
 
template<class InputIterator , class T , class Predicate , class Tag >
void test_remove_copy (const InputIterator &iter, const T *, const Predicate *pred, Tag tag)
 
template<class T , class Predicate , class Tag >
void test_remove_copy (const T *, const Predicate *pred, Tag tag)
 
template<class T >
void test_remove_copy (const T *)
 
int main (int argc, char *argv[])
 

Variables

const char *const fnames [] = { "remove", "remove_copy" }
 
const char *const fnames_if [] = { "remove_if", "remove_copy_if" }
 
int rw_opt_no_remove
 
int rw_opt_no_remove_if
 
int rw_opt_no_remove_copy
 
int rw_opt_no_remove_copy_if
 
int rw_opt_no_input_iter
 
int rw_opt_no_output_iter
 
int rw_opt_no_fwd_iter
 
int rw_opt_no_bidir_iter
 
int rw_opt_no_rnd_iter
 

Macro Definition Documentation

◆ TEST

#define TEST (   src,
  val,
  nremoved 
)     test_remove (__LINE__, src, val, nremoved, it1, it2, (T*)0, pred, tag)

Typedef Documentation

◆ UChar

typedef unsigned char UChar

Definition at line 100 of file 25.remove.cpp.

Function Documentation

◆ _RWSTD_NAMESPACE()

_RWSTD_NAMESPACE ( std  )

25.remove.cpp - test exercising 25.2.7 [lib.alg.remove]

$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.

Copyright 1994-2006 Rogue Wave Software.

Definition at line 38 of file 25.remove.cpp.

◆ main()

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

Definition at line 590 of file 25.remove.cpp.

◆ test_remove() [1/5]

template<class T >
void test_remove ( const T *  )

Definition at line 452 of file 25.remove.cpp.

◆ test_remove() [2/5]

template<class T , class Predicate , class Tag >
void test_remove ( const T *  ,
const Predicate *  pred,
Tag  tag 
)

Definition at line 418 of file 25.remove.cpp.

◆ test_remove() [3/5]

template<class Iterator , class OutputIterator , class Predicate , class T >
void test_remove ( int  line,
const char *  src,
const char  val,
std::size_t  nrem,
Iterator  it,
OutputIterator  dummy,
const T *  ,
const Predicate *  ,
RemoveCopyTag  tag 
)

Definition at line 254 of file 25.remove.cpp.

◆ test_remove() [4/5]

template<class Iterator , class T , class Predicate >
void test_remove ( int  line,
const char *  src,
const char  val,
std::size_t  nrem,
Iterator  ,
NoIterator  ,
const T *  ,
const Predicate *  ,
RemoveTag  tag 
)

Definition at line 140 of file 25.remove.cpp.

◆ test_remove() [5/5]

template<class Iterator1 , class Iterator2 , class T , class Predicate , class Tag >
void test_remove ( Iterator1  it1,
Iterator2  it2,
const T *  ,
const Predicate *  pred,
Tag  tag 
)

Definition at line 346 of file 25.remove.cpp.

◆ test_remove_copy() [1/3]

template<class InputIterator , class T , class Predicate , class Tag >
void test_remove_copy ( const InputIterator &  iter,
const T *  ,
const Predicate *  pred,
Tag  tag 
)

Definition at line 477 of file 25.remove.cpp.

◆ test_remove_copy() [2/3]

template<class T >
void test_remove_copy ( const T *  )

Definition at line 554 of file 25.remove.cpp.

◆ test_remove_copy() [3/3]

template<class T , class Predicate , class Tag >
void test_remove_copy ( const T *  ,
const Predicate *  pred,
Tag  tag 
)

Definition at line 512 of file 25.remove.cpp.

◆ type_name()

const char * type_name ( NoIterator  ,
const UserClass *   
)

Definition at line 94 of file 25.remove.cpp.

Variable Documentation

◆ fnames

const char* const fnames[] = { "remove", "remove_copy" }

Definition at line 77 of file 25.remove.cpp.

◆ fnames_if

const char* const fnames_if[] = { "remove_if", "remove_copy_if" }

Definition at line 78 of file 25.remove.cpp.

◆ rw_opt_no_bidir_iter

int rw_opt_no_bidir_iter

Definition at line 412 of file 25.remove.cpp.

◆ rw_opt_no_fwd_iter

int rw_opt_no_fwd_iter

Definition at line 411 of file 25.remove.cpp.

◆ rw_opt_no_input_iter

int rw_opt_no_input_iter

Definition at line 409 of file 25.remove.cpp.

◆ rw_opt_no_output_iter

int rw_opt_no_output_iter

Definition at line 410 of file 25.remove.cpp.

◆ rw_opt_no_remove

int rw_opt_no_remove

Definition at line 405 of file 25.remove.cpp.

◆ rw_opt_no_remove_copy

int rw_opt_no_remove_copy

Definition at line 407 of file 25.remove.cpp.

◆ rw_opt_no_remove_copy_if

int rw_opt_no_remove_copy_if

Definition at line 408 of file 25.remove.cpp.

◆ rw_opt_no_remove_if

int rw_opt_no_remove_if

Definition at line 406 of file 25.remove.cpp.

◆ rw_opt_no_rnd_iter

int rw_opt_no_rnd_iter

Definition at line 413 of file 25.remove.cpp.