38#ifndef BLOCXX_ENUMERATION_HPP_INCLUDE_GUARD_
39#define BLOCXX_ENUMERATION_HPP_INCLUDE_GUARD_
40#include "blocxx/BLOCXX_config.h"
62 out.readObject(*
m_Data.rdbuf());
69 retval.readObject(*
m_Data.rdbuf());
75 arg.writeObject(*
m_Data.rdbuf());
94 return m_impl->hasMoreElements();
102 return m_impl->nextElement();
106 return m_impl->numberOfElements();
118 return m_impl->usingTempFile();
232template <
class Container>
Enumeration_insert_iterator(enumeration_type &e)
Enumeration_insert_iterator< T > & operator++(int)
std::output_iterator_tag iterator_category
Enumeration_insert_iterator< T > & operator++()
Enumeration< T > enumeration_type
Enumeration_insert_iterator< T > & operator=(const T &value)
Enumeration_insert_iterator< T > & operator*()
enumeration_type * m_enumeration
bool usingTempFile() const
void addElement(const T &arg)
bool hasMoreElements() const
IntrusiveReference< TempFileEnumerationImpl< T > > m_impl
size_t numberOfElements() const
void throwIfEmpty() const
virtual ~TempFileEnumerationImpl()
TempFileEnumerationImpl< T > & operator=(const TempFileEnumerationImpl< T > &)
TempFileEnumerationImpl(const TempFileEnumerationImpl< T > &)
void addElement(const T &arg)
TempFileEnumerationImpl()
bool operator==(const Array< T > &x, const Array< T > &y)
Enumeration_insert_iterator< Container > Enumeration_inserter(Enumeration< Container > &x)
bool operator!=(const Array< T > &x, const Array< T > &y)
Determine two Arrays are not equal.