Я пытаюсь использовать boost::iterator_facade
с неполным Value
аргумент шаблона. Это не удается, потому что iterator_facade
пытается
проверьте, если тип is_pod
.
Это ожидаемое поведение? Могу ли я обойти это ограничение в
каким образом? Я мог бы написать шаблон класса, который просто прокси foo
и
обеспечивает неявное преобразование в него, но я бы предпочел более простой
решение.
#include <boost/iterator/iterator_facade.hpp>
class iter
: public boost::iterator_facade< iter,
iter,
boost::forward_traversal_tag
>
{
private:
friend class boost::iterator_core_access;
void increment() { }
bool equal(iter const& other) const { return true; }
iter& dereference() const { return const_cast<iter&>(static_cast<const iter&>(*this)); }
};
int main()
{
iter f;
return 0;
}