fastcgi++
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes
ASql::Data::IndySTLSetContainer< T > Class Template Reference

Wraps a SetContainer object around a new auto-allocated STL container of type T. More...

#include <data.hpp>

Inheritance diagram for ASql::Data::IndySTLSetContainer< T >:
ASql::Data::SetContainer

List of all members.

Public Member Functions

void init () const
 IndySTLSetContainer ()

Public Attributes

data
 STL container object of type T that the SetContainer is wrapped around. This is your object.

Private Member Functions

Setmanufacture ()
 Appends a row to the container and returns a reference to it.
void trim ()
 Pop a row off the end of the container.
const Setpull () const
 Get a row from the front and move on to the next row.

Private Attributes

IndySetPtrBuilder< typename
T::value_type > 
m_buffer
T::iterator m_itBuffer

Detailed Description

template<class T>
class ASql::Data::IndySTLSetContainer< T >

Wraps a SetContainer object around a new auto-allocated STL container of type T.

This class defines a basic container for types that can be wrapped by the Set class. It is intended for retrieving multi-row results from SQL queries. In order to function the passed container type must have the following member functions push_back(), back(), pop_back() and it's content type must be wrappable by Set as per the instructions there.

Template Parameters:
Containertype. Must be sequential.

Definition at line 591 of file data.hpp.


Constructor & Destructor Documentation

template<class T >
ASql::Data::IndySTLSetContainer< T >::IndySTLSetContainer ( )
inline

Definition at line 613 of file data.hpp.


Member Function Documentation

template<class T >
void ASql::Data::IndySTLSetContainer< T >::init ( ) const
inlinevirtual
template<class T >
Set& ASql::Data::IndySTLSetContainer< T >::manufacture ( )
inlineprivatevirtual

Appends a row to the container and returns a reference to it.

Implements ASql::Data::SetContainer.

Definition at line 596 of file data.hpp.

References ASql::Data::IndySTLSetContainer< T >::data, ASql::Data::IndySTLSetContainer< T >::m_buffer, and ASql::Data::IndySetPtrBuilder< T >::set().

template<class T >
const Set* ASql::Data::IndySTLSetContainer< T >::pull ( ) const
inlineprivatevirtual

Get a row from the front and move on to the next row.

Returns:
This function should return a pointer to the row or null if at the end.

Implements ASql::Data::SetContainer.

Definition at line 603 of file data.hpp.

References ASql::Data::IndySTLSetContainer< T >::data, ASql::Data::IndySTLSetContainer< T >::m_buffer, ASql::Data::IndySTLSetContainer< T >::m_itBuffer, and ASql::Data::IndySetPtrBuilder< T >::set().

template<class T >
void ASql::Data::IndySTLSetContainer< T >::trim ( )
inlineprivatevirtual

Pop a row off the end of the container.

Implements ASql::Data::SetContainer.

Definition at line 602 of file data.hpp.

References ASql::Data::IndySTLSetContainer< T >::data.


Member Data Documentation

template<class T >
T ASql::Data::IndySTLSetContainer< T >::data

STL container object of type T that the SetContainer is wrapped around. This is your object.

Definition at line 611 of file data.hpp.

Referenced by ASql::Data::IndySTLSetContainer< T >::init(), ASql::Data::IndySTLSetContainer< T >::manufacture(), ASql::Data::IndySTLSetContainer< T >::pull(), and ASql::Data::IndySTLSetContainer< T >::trim().

template<class T >
IndySetPtrBuilder<typename T::value_type> ASql::Data::IndySTLSetContainer< T >::m_buffer
mutableprivate
template<class T >
T::iterator ASql::Data::IndySTLSetContainer< T >::m_itBuffer
mutableprivate

The documentation for this class was generated from the following file: