Loading...
Searching...
No Matches
atomContainerIterator.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
// $Id: atomContainerIterator.h,v 1.21 2005/10/23 12:02:17 oliver Exp $
//
#ifndef BALL_KERNEL_ATOMCONTAINERITERATOR_H
#define BALL_KERNEL_ATOMCONTAINERITERATOR_H
#ifndef BALL_KERNEL_ITERATOR_H
# include <BALL/KERNEL/iterator.h>
#endif
#ifndef BALL_KERNEL_PREDICATE_H
# include <BALL/KERNEL/predicate.h>
#endif
#ifndef BALL_CONCEPT_STDITERATORWRAPPER_H
# include <BALL/CONCEPT/stdIteratorWrapper.h>
#endif
namespace BALL
{
class AtomContainer;
class BALL_EXPORT AtomContainerIteratorTraits
: public CompositeIteratorTraits
{
public:
inline AtomContainerIteratorTraits();
AtomContainerIteratorTraits(const Composite& composite);
inline AtomContainerIteratorTraits(const AtomContainerIteratorTraits& traits);
AtomContainerIteratorTraits& operator = (const AtomContainerIteratorTraits& traits);
void resetPredicate();
};
inline AtomContainerIteratorTraits::AtomContainerIteratorTraits()
: CompositeIteratorTraits()
{
predicate_ = &RTTI::getDefault<KernelPredicate<AtomContainer> >();
}
inline AtomContainerIteratorTraits::AtomContainerIteratorTraits(const Composite& composite)
: CompositeIteratorTraits(composite)
{
predicate_ = &RTTI::getDefault<KernelPredicate<AtomContainer> >();
}
inline AtomContainerIteratorTraits::AtomContainerIteratorTraits(const AtomContainerIteratorTraits& traits)
: CompositeIteratorTraits(traits)
{
}
inline
AtomContainerIteratorTraits& AtomContainerIteratorTraits::operator =
(const AtomContainerIteratorTraits& traits)
{
CompositeIteratorTraits::operator=(traits);
return *this;
}
inline
void AtomContainerIteratorTraits::resetPredicate()
{
predicate_ = &RTTI::getDefault<KernelPredicate<AtomContainer> >();
}
typedef BidirectionalIterator
<Composite, AtomContainer, Composite::CompositeIterator, AtomContainerIteratorTraits>
AtomContainerIterator;
typedef ConstBidirectionalIterator
<Composite, AtomContainer, Composite::CompositeIterator, AtomContainerIteratorTraits>
AtomContainerConstIterator;
typedef std::reverse_iterator<AtomContainerIterator> AtomContainerReverseIterator;
typedef std::reverse_iterator<AtomContainerConstIterator> AtomContainerConstReverseIterator;
IteratorWrapper(AtomContainer)
ConstIteratorWrapper(AtomContainer)
} // namespace BALL
#endif // BALL_KERNEL_ATOMCONTAINERITERATOR_H
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
predicate.h
BALL::AtomContainerIteratorTraits
Definition atomContainerIterator.h:32
BALL::AtomContainerIteratorTraits::resetPredicate
void resetPredicate()
Definition atomContainerIterator.h:73
BALL::AtomContainerIteratorTraits::AtomContainerIteratorTraits
AtomContainerIteratorTraits()
Definition atomContainerIterator.h:47
BALL::AtomContainer
Definition atomContainer.h:32
BALL::BidirectionalIterator
Mutable bidirectional iterator.
Definition bidirectionalIterator.h:260
BALL::CompositeIteratorTraits::predicate_
const UnaryPredicate< Composite > * predicate_
The predicate.
Definition iterator.h:235
BALL::CompositeIteratorTraits::CompositeIteratorTraits
CompositeIteratorTraits()
Default constructor.
Definition iterator.h:238
BALL::CompositeIteratorTraits::operator=
CompositeIteratorTraits & operator=(const CompositeIteratorTraits &traits)
Assignment operator.
Definition iterator.h:259
BALL::Composite
Definition composite.h:74
BALL::Composite::CompositeIterator
BidirectionalIterator< Composite, Composite, Composite *, CompositeIteratorTraits > CompositeIterator
Definition composite.h:1468
BALL::ConstBidirectionalIterator
Definition bidirectionalIterator.h:25
iterator.h
BALL::RTTI::getDefault
const T & getDefault()
Definition rtti.h:75
BALL
Definition constants.h:13
BALL::AtomContainerConstReverseIterator
std::reverse_iterator< AtomContainerConstIterator > AtomContainerConstReverseIterator
A constant reverse bidirectional iterator for the AtomContainer class.
Definition atomContainerIterator.h:100
BALL::AtomContainerConstIterator
ConstBidirectionalIterator< Composite, AtomContainer, Composite::CompositeIterator, AtomContainerIteratorTraits > AtomContainerConstIterator
Definition atomContainerIterator.h:94
BALL::AtomContainerReverseIterator
std::reverse_iterator< AtomContainerIterator > AtomContainerReverseIterator
A mutable reverse bidirectional iterator for the AtomContainer class.
Definition atomContainerIterator.h:97
BALL::AtomContainerIterator
BidirectionalIterator< Composite, AtomContainer, Composite::CompositeIterator, AtomContainerIteratorTraits > AtomContainerIterator
Definition atomContainerIterator.h:88
stdIteratorWrapper.h
ConstIteratorWrapper
#define ConstIteratorWrapper(type)
Definition stdIteratorWrapper.h:17
IteratorWrapper
#define IteratorWrapper(type)
Definition stdIteratorWrapper.h:4