CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

ora::ContainerIterator Class Reference

#include <Container.h>

List of all members.

Public Member Functions

 ContainerIterator (Handle< IteratorBuffer > &iteratorBuffer)
 ContainerIterator (const ContainerIterator &rhs)
template<typename T >
boost::shared_ptr< Tget ()
Object getItem ()
int itemId ()
bool next ()
ContainerIteratoroperator= (const ContainerIterator &rhs)
void reset ()
virtual ~ContainerIterator ()

Private Member Functions

boost::shared_ptr< void > getItemAsType (const std::type_info &asTypeInfo)

Private Attributes

Handle< IteratorBufferm_buffer

Detailed Description

Definition at line 17 of file Container.h.


Constructor & Destructor Documentation

ora::ContainerIterator::ContainerIterator ( Handle< IteratorBuffer > &  iteratorBuffer)

Definition at line 5 of file Container.cc.

                                                                               :
  m_buffer( iteratorBuffer ){
}
ora::ContainerIterator::ContainerIterator ( const ContainerIterator rhs)

Definition at line 9 of file Container.cc.

                                                                     :
  m_buffer( rhs.m_buffer ){
}
ora::ContainerIterator::~ContainerIterator ( ) [virtual]

Definition at line 13 of file Container.cc.

                                        {
}

Member Function Documentation

template<typename T >
boost::shared_ptr< T > ora::ContainerIterator::get ( void  ) [inline]

Definition at line 105 of file Container.h.

References getItemAsType().

Referenced by cond::IOVService::deleteAll().

                                            {
  return boost::static_pointer_cast<T>( getItemAsType( typeid(T) ));
}
ora::Object ora::ContainerIterator::getItem ( )

Definition at line 33 of file Container.cc.

                                       {
  return Object( m_buffer->getItem(), m_buffer->type() );
}
boost::shared_ptr< void > ora::ContainerIterator::getItemAsType ( const std::type_info &  asTypeInfo) [private]

Definition at line 37 of file Container.cc.

References ora::ClassUtils::lookupDictionary().

Referenced by get().

                                                                                         {
  Reflex::Type castType = ClassUtils::lookupDictionary( asTypeInfo );
  void* ptr = m_buffer->getItemAsType( castType );
  return boost::shared_ptr<void>( ptr, RflxDeleter( m_buffer->type() ) );
}
int ora::ContainerIterator::itemId ( )

Definition at line 29 of file Container.cc.

Referenced by cond::IOVService::deleteAll().

                                {
  return m_buffer->itemId();
}
bool ora::ContainerIterator::next ( void  )

Definition at line 25 of file Container.cc.

Referenced by cond::IOVService::deleteAll().

                               {
  return m_buffer->next();
}
ora::ContainerIterator & ora::ContainerIterator::operator= ( const ContainerIterator rhs)

Definition at line 16 of file Container.cc.

References m_buffer.

                                                                                   {
  if(this != &rhs ) m_buffer = rhs.m_buffer;
  return *this;
}
void ora::ContainerIterator::reset ( void  )

Definition at line 21 of file Container.cc.

                                {
  m_buffer->reset();
}

Member Data Documentation

Definition at line 42 of file Container.h.

Referenced by operator=().