22 typedef typename collection_type::iterator
iterator;
35 instance.
container = Lucene::newInstance<collection_type>(
size);
42 instance.
container = Lucene::newInstance<collection_type>(first, last);
54 container->resize(size);
59 return (int32_t)container->size();
63 return container->empty();
71 return container->begin();
75 return container->end();
79 return container->begin();
82 const_iterator
end()
const {
83 return container->end();
86 void add(
const TYPE& type) {
87 container->push_back(type);
90 void add(int32_t pos,
const TYPE& type) {
91 container->insert(container->begin() + pos, type);
96 container->insert(container->end(), first, last);
100 void insert(ITER pos,
const TYPE& type) {
101 container->insert(pos, type);
104 template <
class ITER>
105 ITER
remove(ITER pos) {
106 return container->erase(pos);
109 template <
class ITER>
110 ITER
remove(ITER first, ITER last) {
111 return container->erase(first, last);
114 void remove(
const TYPE& type) {
115 container->erase(std::remove(container->begin(), container->end(), type), container->end());
118 template <
class PRED>
120 container->erase(std::remove_if(container->begin(), container->end(), comp), container->end());
124 TYPE front = container->front();
125 container->erase(container->begin());
130 TYPE back = container->back();
131 container->pop_back();
135 iterator
find(
const TYPE& type) {
136 return std::find(container->begin(), container->end(), type);
139 template <
class PRED>
141 return std::find_if(container->begin(), container->end(), comp);
145 return (std::find(container->begin(), container->end(), type) != container->end());
148 template <
class PRED>
150 return (std::find_if(container->begin(), container->end(), comp) != container->end());
153 bool equals(
const this_type& other)
const {
154 return equals(other, std::equal_to<TYPE>());
157 template <
class PRED>
158 bool equals(
const this_type& other, PRED comp)
const {
159 if (container->size() != other.
container->size()) {
162 return std::equal(container->begin(), container->end(), other.
container->begin(), comp);
166 return (int32_t)(int64_t)container.get();
174 return (*container)[pos];
178 return (*container)[pos];
181 operator bool()
const {
182 return container.get() != NULL;
198 template <
typename TYPE>
205 template <
typename TYPE>
212 template <
typename TYPE>
219 template <
typename TYPE>
226 template <
typename TYPE>
233 template <
typename TYPE>
240 template <
typename TYPE>
247 template <
typename TYPE>
248 Collection<TYPE> newCollection(
const TYPE& a1,
const TYPE& a2,
const TYPE& a3,
const TYPE& a4,
const TYPE& a5,
const TYPE& a6,
const TYPE& a7,
const TYPE& a8) {
254 template <
typename TYPE>
255 Collection<TYPE> newCollection(
const TYPE& a1,
const TYPE& a2,
const TYPE& a3,
const TYPE& a4,
const TYPE& a5,
const TYPE& a6,
const TYPE& a7,
const TYPE& a8,
const TYPE& a9) {
261 template <
typename TYPE>
262 Collection<TYPE> newCollection(
const TYPE& a1,
const TYPE& a2,
const TYPE& a3,
const TYPE& a4,
const TYPE& a5,
const TYPE& a6,
const TYPE& a7,
const TYPE& a8,
const TYPE& a9,
const TYPE& a10) {
collection_type::const_iterator const_iterator
Definition: Collection.h:23
Collection< TYPE > this_type
Definition: Collection.h:19
int32_t size() const
Definition: Collection.h:58
Collection< TYPE > newCollection(const TYPE &a1)
Definition: Collection.h:199
static this_type newInstance(int32_t size=0)
Definition: Collection.h:33
iterator find(const TYPE &type)
Definition: Collection.h:135
void insert(ITER pos, const TYPE &type)
Definition: Collection.h:100
bool operator!=(const this_type &other)
Definition: Collection.h:193
void add(int32_t pos, const TYPE &type)
Definition: Collection.h:90
iterator end()
Definition: Collection.h:74
Base class for all Lucene synchronised classes.
Definition: LuceneSync.h:15
void clear()
Definition: Collection.h:66
static this_type newInstance(ITER first, ITER last)
Definition: Collection.h:40
TYPE value_type
Definition: Collection.h:24
collection_type::iterator iterator
Definition: Collection.h:22
int32_t hashCode()
Definition: Collection.h:165
virtual ~Collection()
Definition: Collection.h:26
boost::shared_ptr< this_type > shared_ptr
Definition: Collection.h:20
iterator begin()
Definition: Collection.h:70
void reset()
Definition: Collection.h:46
iterator find_if(PRED comp)
Definition: Collection.h:140
std::vector< TYPE > collection_type
Definition: Collection.h:21
const_iterator begin() const
Definition: Collection.h:78
void add(const TYPE &type)
Definition: Collection.h:86
boost::shared_ptr< collection_type > container
Definition: Collection.h:30
const_iterator end() const
Definition: Collection.h:82
bool equals(const this_type &other) const
Definition: Collection.h:153
TYPE removeLast()
Definition: Collection.h:129
Definition: AbstractAllTermDocs.h:12
void resize(int32_t size)
Definition: Collection.h:50
bool contains(const TYPE &type) const
Definition: Collection.h:144
bool equals(const this_type &other, PRED comp) const
Definition: Collection.h:158
Utility template class to handle collections that can be safely copied and shared.
Definition: Collection.h:17
void addAll(ITER first, ITER last)
Definition: Collection.h:95
TYPE removeFirst()
Definition: Collection.h:123
bool operator!() const
Definition: Collection.h:185
bool contains_if(PRED comp) const
Definition: Collection.h:149
bool empty() const
Definition: Collection.h:62
bool operator==(const this_type &other)
Definition: Collection.h:189
void swap(this_type &other)
Definition: Collection.h:169
void remove_if(PRED comp)
Definition: Collection.h:119
TYPE & operator[](int32_t pos)
Definition: Collection.h:173