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