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();
174 m_ok = (m_enumeration && m_enumeration->
hasMoreElements()) ?
true :
false;
232 template <
class Container>
IntrusiveReference< TempFileEnumerationImpl< T > > m_impl
bool operator!=(const Array< T > &x, const Array< T > &y)
Determine two Arrays are not equal.
enumeration_type * m_enumeration
std::output_iterator_tag iterator_category
TempFileEnumerationImpl< T > & operator=(const TempFileEnumerationImpl< T > &)
void addElement(const T &arg)
Enumeration_insert_iterator< T > & operator++(int)
Enumeration_insert_iterator< Container > Enumeration_inserter(Enumeration< Container > &x)
Enumeration_insert_iterator< T > & operator++()
TempFileEnumerationImpl()
size_t numberOfElements() const
Enumeration< T > enumeration_type
bool operator==(const Array< T > &x, const Array< T > &y)
void throwIfEmpty() const
bool hasMoreElements() const
bool usingTempFile() const
void addElement(const T &arg)
virtual ~TempFileEnumerationImpl()
Enumeration_insert_iterator(enumeration_type &e)
Enumeration_insert_iterator< T > & operator*()
Enumeration_insert_iterator< T > & operator=(const T &value)