#ifndef VCZH_COLLECTIONS_OPERATIONPAIR
#define VCZH_COLLECTIONS_OPERATIONPAIR
#include "OperationEnumerable.h"
namespace
{
namespace
{
template
<
typename
,
typename
>
class
:
public
virtual
<
<
,
>>
{
protected
:
<
>*
;
<
>*
;
<
,
>
;
public
:
(
<
>*
,
<
>*
,
<
,
>
=
<
,
>())
:enumerator1(
)
,enumerator2(
)
,current(
)
{
}
()
{
delete
;
delete
;
}
<
<
,
>>*
()
const
override
{
return
new
(
->
(),
->
(),
);
}
const
<
,
>&
()
const
override
{
return
;
}
()
const
override
{
return
->
();
}
bool
()
override
{
if
(
->
() &&
->
())
{
<
,
>(
->
(),
->
());
return
true
;
}
else
{
return
false
;
}
}
void
()
override
{
->
();
->
();
}
bool
()
const
override
{
return
->
() &&
->
();
}
};
}
}
#endif