1#ifndef OSMSCOUT_TYPEINFOSET_H
2#define OSMSCOUT_TYPEINFOSET_H
42 std::vector<TypeInfoRef>::const_iterator iterCurrent;
43 std::vector<TypeInfoRef>::const_iterator iterEnd;
47 const std::vector<value_type>::const_iterator& iterEnd)
48 : iterCurrent(iterCurrent),
51 while (this->iterCurrent!=this->iterEnd &&
52 !*this->iterCurrent) {
63 while (iterCurrent!=iterEnd &&
82 return iterCurrent==other.iterCurrent;
87 return iterCurrent!=other.iterCurrent;
112 std::vector<TypeInfoRef> types;
128 this->types=other.types;
129 this->count=other.count;
150 void Set(
const std::vector<TypeInfoRef>& types);
164 return type->GetIndex()<types.size() &&
165 types[
type->GetIndex()];
#define CLASS_FINAL
Definition Compiler.h:26
#define OSMSCOUT_API
Definition CoreImportExport.h:45
TypeInfoSetConstIterator(const std::vector< value_type >::const_iterator &iterCurrent, const std::vector< value_type >::const_iterator &iterEnd)
Definition TypeInfoSet.h:46
TypeInfoSetConstIterator operator++(int)
Definition TypeInfoSet.h:71
void Intersection(const TypeInfoSet &otherTypes)
void Remove(const TypeInfoRef &type)
void Add(const TypeInfoSet &types)
TypeInfoRef value_type
Definition TypeInfoSet.h:36
const TypeInfoRef & operator*() const
Definition TypeInfoSet.h:90
void Adapt(const TypeConfig &typeConfig)
TypeInfoRef pointer
Definition TypeInfoSet.h:38
TypeInfoSet(const TypeInfoSet &other)=default
TypeInfoSetConstIterator & operator++()
Definition TypeInfoSet.h:59
bool Intersects(const TypeInfoSet &otherTypes) const
TypeInfoSet(const TypeConfig &typeConfig)
TypeInfoSetConstIterator begin() const
Definition TypeInfoSet.h:180
TypeInfoSet(const std::vector< TypeInfoRef > &types)
bool operator==(const TypeInfoSetConstIterator &other) const
Definition TypeInfoSet.h:80
void Set(const std::vector< TypeInfoRef > &types)
void Set(const TypeInfoSet &other)
TypeInfoSet & operator=(const TypeInfoSet &other)
Definition TypeInfoSet.h:125
bool operator==(const TypeInfoSet &other) const
void Set(const TypeInfoRef &type)
TypeInfoSetConstIterator(const TypeInfoSetConstIterator &other)=default
TypeInfoRef operator->() const
Definition TypeInfoSet.h:95
size_t Size() const
Definition TypeInfoSet.h:173
std::input_iterator_tag iterator_category
Definition TypeInfoSet.h:39
const TypeInfoRef & reference
Definition TypeInfoSet.h:37
TypeInfoSetConstIterator self_type
Definition TypeInfoSet.h:35
void Remove(const TypeInfoSet &otherTypes)
Type type
The type of the cell.
Definition GroundTile.h:92
void Clear()
Definition TypeInfoSet.h:140
TypeInfoSet(TypeInfoSet &&other) noexcept
bool operator!=(const TypeInfoSetConstIterator &other) const
Definition TypeInfoSet.h:85
bool operator!=(const TypeInfoSet &other) const
bool Empty() const
Definition TypeInfoSet.h:168
bool IsSet(const TypeInfoRef &type) const
Definition TypeInfoSet.h:160
TypeInfoSetConstIterator end() const
Definition TypeInfoSet.h:186
std::shared_ptr< TypeInfo > TypeInfoRef
Definition TypeConfig.h:61