30 lines
505 B
C++
30 lines
505 B
C++
#pragma once
|
|
|
|
#include "storage/vertex_accessor.hpp"
|
|
#include "utils/iterator/iterator.hpp"
|
|
#include "utils/option.hpp"
|
|
|
|
namespace query_help
|
|
{
|
|
|
|
template <class A>
|
|
bool fill(A &a)
|
|
{
|
|
return a.fill();
|
|
}
|
|
};
|
|
|
|
// Base iterator for next() kind iterator.
|
|
// Vertex::Accessor - type of return value
|
|
template <>
|
|
class IteratorBase<Vertex::Accessor>
|
|
{
|
|
public:
|
|
virtual Option<Vertex::Accessor> next() = 0;
|
|
|
|
auto fill()
|
|
{
|
|
return iter::make_filter(std::move(*this), query_help::fill);
|
|
}
|
|
};
|