16 #ifndef test_insert_H_ 17 #define test_insert_H_ 20 # if defined (EH_NEW_HEADERS) 44 template <
class C,
class Iter>
49 #if 0 //def __SUNPRO_CC 57 template <
class C,
class Iter>
64 template <
class C,
class Iter>
72 template <
class C,
class Iter,
class KeyOfValue>
78 Iter lastNew,
const KeyOfValue& keyOfValue )
80 typedef typename C::key_type
key;
81 typedef typename C::const_iterator const_iter;
82 typedef EH_STD::vector<key> key_list;
92 for ( Iter
x = firstNew;
x != lastNew; ++
x )
93 keys.push_back( keyOfValue(*
x) );
99 for ( key_iterator tmp = keys.begin(); tmp !=
last; ++tmp )
101 if ( const_iter(original.find( *tmp )) == const_iter(original.end()) )
107 #if ! defined (__SGI_STL) 114 # if ! defined (__KCC) 115 template <
class _Pair>
117 const typename _Pair::first_type&
operator()(
const _Pair& __x)
const {
125 template <
class C,
class Iter>
129 typedef typename C::value_type value_type;
131 EH_STD::identity<value_type>() );
134 template <
class C,
class Iter>
138 #ifdef EH_MULTI_CONST_TEMPLATE_ARG_BUG 140 EH_SELECT1ST_HINT<C::value_type, C::key_type>() );
142 typedef typename C::value_type value_type;
144 EH_STD::select1st<value_type>() );
148 template <
class C,
class Iter>
156 template <
class C,
class Iter>
164 template <
class C,
class SrcIter>
166 const SrcIter& firstNew,
const SrcIter& lastNew,
169 typedef typename C::const_iterator DstIter;
170 DstIter first1 = original.begin();
171 DstIter first2 =
result.begin();
173 DstIter* from_orig =
new DstIter[original.size()];
174 DstIter* last_from_orig = from_orig;
177 while ( first2 !=
result.end() )
179 EH_STD::pair<DstIter, DstIter>
p =
EH_STD::mismatch( first1, original.end(), first2 );
180 if (
p.second !=
result.end() )
182 SrcIter srcItem =
EH_STD::find( SrcIter(firstNew), SrcIter(lastNew), *
p.second );
184 if (srcItem == lastNew)
191 if (tmp != last_from_orig)
202 *last_from_orig = dstItem;
217 template <
class C,
class SrcIter>
219 const C& original,
const C&
result,
const SrcIter& firstNew,
220 const SrcIter& lastNew,
size_t,
set_tag )
226 template <
class C,
class SrcIter>
228 const SrcIter& firstNew,
const SrcIter& lastNew,
235 template <
class C,
class SrcIter>
237 const C& original,
const C&
result,
const SrcIter& firstNew,
238 const SrcIter& lastNew,
size_t,
map_tag )
244 template <
class C,
class SrcIter>
246 const C& original,
const C&
result,
const SrcIter& firstNew,
253 template <
class C,
class SrcIter>
256 const C& original,
const C&
result, SrcIter firstNew,
259 const C& original,
const C&
result,
const SrcIter& firstNew,
263 typename C::const_iterator p1 = original.begin();
264 typename C::const_iterator p2 =
result.begin();
265 SrcIter tmp(firstNew);
267 for (
size_t n = 0;
n < insPos;
n++, ++p1, ++p2)
270 for (; tmp != lastNew; ++p2, ++tmp ) {
275 for (; p2 !=
result.end(); ++p1, ++p2 )
280 template <
class C,
class SrcIter>
282 const SrcIter& firstNew,
283 const SrcIter& lastNew,
size_t insPos )
292 template <
class C,
class Value>
296 typename C::const_iterator p1 = original.begin();
297 typename C::const_iterator p2 =
result.begin();
300 for (
size_t n = 0;
n < insPos;
n++ )
303 while ( insCnt-- > 0 )
310 while ( p2 !=
result.end() ) {
450 template <
class C,
class Position,
class Iter>
455 CIter
pos = c_inst.begin();
460 template <
class C,
class Position,
class Iter>
467 template <
class C,
class Position,
class Iter>
473 template <
class C,
class Position,
class Iter>
479 template <
class C,
class Position,
class Iter>
485 template <
class C,
class Position,
class Iter>
496 template <
class C,
class Iter>
534 template <
class C,
class Iter>
540 template <
class C,
class Iter>
546 template <
class C,
class Iter>
552 #endif // test_insert_H_
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
size_t CountUniqueItems_Aux(const C &original, Iter firstNew, Iter lastNew, const KeyOfValue &keyOfValue)
#define EH_BEGIN_NAMESPACE
_STLP_MOVE_TO_STD_NAMESPACE void sort(_RandomAccessIter __first, _RandomAccessIter __last)
TestController gTestController
void operator()(C &c) const
GLint GLint GLint GLint GLint x
test_insert_noresize(const C &orig)
static void SetCurrentTestName(const char *str)
#define EH_DISTANCE(a, b, result)
void do_insert_range(C &c_inst, Position offset, Iter first, Iter last, sequence_container_tag)
_STLP_INLINE_LOOP _STLP_STD::pair< _InputIter1, _InputIter2 > mismatch(_InputIter1 __first1, _InputIter1 __last1, _InputIter2 __first2)
void VerifyInsertN(const C &original, const C &result, size_t insCnt, const Value &val, size_t insPos)
void VerifyInsertion(const C &original, const C &result, const SrcIter &firstNew, const SrcIter &lastNew, size_t, associative_container_tag)
void operator()(C &c) const
test_insert_range< C, Iter > insert_range_tester(const C &orig, const Iter &first, const Iter &last)
const _Pair::first_type & operator()(const _Pair &__x) const
test_insert_range< C, Iter > insert_range_at_end_tester(const C &orig, const Iter &first, const Iter &last)
test_insert_value(const C &orig)
typedef bool(CARDLIBPROC *pCanDragProc)(CardRegion &stackobj
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
GLboolean GLboolean GLboolean b
test_insert_n(const C &orig, size_t insCnt, int pos=-1)
EH_END_NAMESPACE size_t CountUniqueItems(const C &original, const Iter &firstNew, const Iter &lastNew, set_tag)
void operator()(C &c) const
test_insert_one(const C &orig, int pos=-1)
test_insert_range< C, Iter > insert_range_at_begin_tester(const C &orig, const Iter &first, const Iter &last)
unsigned random_number(size_t range)
_STLP_MOVE_TO_STD_NAMESPACE void _STLP_CALL advance(_InputIterator &__i, _Distance __n)
void prepare_insert_n(C &, size_t)
WDF_CHILD_LIST_ITERATOR iterator
void operator()(C &c) const
sequence_container_tag container_category(const BitVector &)
size_t CountNewItems(const C &, const Iter &firstNew, const Iter &lastNew, sequence_container_tag)
INT copy(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], INT append, DWORD lpdwFlags, BOOL bTouch)
test_insert_range(const C &orig, Iter first, Iter last, int pos=-1)
void MakeRandomValue(bool &b)
_ForwardIter unique(_ForwardIter __first, _ForwardIter __last)
const T & operator()(const T &x) const
static void CancelFailureCountdown()
void operator()(C &c) const