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