Javolution 6.0.0 java
FastBitSet.java
Go to the documentation of this file.
1 /*
2  * Javolution - Java(TM) Solution for Real-Time and Embedded Systems
3  * Copyright (C) 2012 - Javolution (http://javolution.org/)
4  * All rights reserved.
5  *
6  * Permission to use, copy, modify, and distribute this software is
7  * freely granted, provided that this notice is preserved.
8  */
9 package javolution.util;
10 
11 import static javolution.lang.Realtime.Limit.LINEAR;
12 import javolution.lang.Realtime;
15 
27 public class FastBitSet extends FastSet<Index> {
28 
29  private static final long serialVersionUID = 0x600L; // Version.
30 
34  private final BitSetService service;
35 
39  public FastBitSet() {
40  service = new BitSetServiceImpl();
41  }
42 
46  protected FastBitSet(BitSetService impl) {
47  this.service = impl;
48  }
49 
51  // Views.
52  //
53 
54  @Override
56  throw new UnsupportedOperationException("NOT DONE YET"); // TODO
57  }
58 
59  @Override
60  public FastBitSet shared() {
61  throw new UnsupportedOperationException("NOT DONE YET"); // TODO
62  }
63 
65  // BitSet Operations.
66  //
67 
75  @Realtime(limit = LINEAR)
76  public void and(FastBitSet that) {
77  service.and(that.service);
78  }
79 
88  @Realtime(limit = LINEAR)
89  public void andNot(FastBitSet that) {
90  service.andNot(that.service);
91  }
92 
99  public int cardinality() {
100  return service.cardinality();
101  }
102 
106  @Override
107  public void clear() {
108  service.clear();
109  }
110 
118  public void clear(int bitIndex) {
119  service.clear(bitIndex);
120  }
121 
131  @Realtime(limit = LINEAR)
132  public void clear(int fromIndex, int toIndex) {
133  service.clear(fromIndex, toIndex);
134  }
135 
142  public void flip(int bitIndex) {
143  service.flip(bitIndex);
144  }
145 
154  @Realtime(limit = LINEAR)
155  public void flip(int fromIndex, int toIndex) {
156  service.flip(fromIndex, toIndex);
157  }
158 
167  public boolean get(int bitIndex) {
168  return service.get(bitIndex);
169  }
170 
180  @Realtime(limit = LINEAR)
181  public FastBitSet get(int fromIndex, int toIndex) {
182  return new FastBitSet(service.get(fromIndex, toIndex));
183  }
184 
192  @Realtime(limit = LINEAR)
193  public boolean intersects(FastBitSet that) {
194  return service.intersects(that.service);
195  }
196 
206  public int length() {
207  return service.length();
208  }
209 
218  public int nextClearBit(int fromIndex) {
219  return service.nextClearBit(fromIndex);
220  }
221 
234  public int nextSetBit(int fromIndex) {
235  return service.nextSetBit(fromIndex);
236  }
237 
246  public int previousClearBit(int fromIndex) {
247  return service.previousClearBit(fromIndex);
248  }
249 
262  public int previousSetBit(int fromIndex) {
263  return service.previousSetBit(fromIndex);
264  }
265 
273  @Realtime(limit = LINEAR)
274  public void or(FastBitSet that) {
275  service.or(that.service);
276  }
277 
285  public void set(int bitIndex) {
286  service.set(bitIndex);
287  }
288 
296  public void set(int bitIndex, boolean value) {
297  service.set(bitIndex, value);
298  }
299 
309  @Realtime(limit = LINEAR)
310  public void set(int fromIndex, int toIndex) {
311  if ((fromIndex < 0) || (toIndex < fromIndex)) throw new IndexOutOfBoundsException();
312  service.set(fromIndex, toIndex);
313  }
314 
324  @Realtime(limit = LINEAR)
325  public void set(int fromIndex, int toIndex, boolean value) {
326  service.set(fromIndex, toIndex, value);
327  }
328 
337  @Realtime(limit = LINEAR)
338  public void xor(FastBitSet that) {
339  service.xor(that.service);
340  }
341 
343  // Misc.
344  //
345 
346  @Override
347  public FastBitSet addAll(Index... elements) {
348  return (FastBitSet) super.addAll(elements);
349  }
350 
351  @Override
353  return (FastBitSet) super.addAll(elements);
354  }
355 
356  @Override
357  protected BitSetService service() {
358  return service;
359  }
360 
361 }
javolution.util.FastBitSet.FastBitSet
FastBitSet(BitSetService impl)
Definition: FastBitSet.java:46
javolution.util.service.BitSetService.previousSetBit
int previousSetBit(int fromIndex)
javolution
javolution.util.internal
javolution.util.FastBitSet.unmodifiable
FastBitSet unmodifiable()
Definition: FastBitSet.java:55
javolution.util.service
Definition: BitSetService.java:9
javolution.lang.Realtime.Limit
Definition: Realtime.java:81
javolution.util.FastBitSet.nextClearBit
int nextClearBit(int fromIndex)
Definition: FastBitSet.java:218
javolution.util.service.BitSetService.cardinality
int cardinality()
javolution.util.FastBitSet.length
int length()
Definition: FastBitSet.java:206
javolution.util.service.BitSetService.nextClearBit
int nextClearBit(int fromIndex)
javolution.util.FastBitSet.xor
void xor(FastBitSet that)
Definition: FastBitSet.java:338
javolution.util.FastBitSet.or
void or(FastBitSet that)
Definition: FastBitSet.java:274
javolution.util.service.BitSetService.get
boolean get(int bitIndex)
javolution.util.FastBitSet.cardinality
int cardinality()
Definition: FastBitSet.java:99
javolution.util.FastBitSet.previousSetBit
int previousSetBit(int fromIndex)
Definition: FastBitSet.java:262
javolution.util.FastBitSet.service
final BitSetService service
Definition: FastBitSet.java:34
javolution.util.FastBitSet.serialVersionUID
static final long serialVersionUID
Definition: FastBitSet.java:29
javolution.util.service.BitSetService.length
int length()
javolution.util.FastBitSet.shared
FastBitSet shared()
Definition: FastBitSet.java:60
javolution.util.FastBitSet.service
BitSetService service()
Definition: FastBitSet.java:357
javolution.util.service.BitSetService.and
void and(BitSetService that)
javolution.util.service.BitSetService.set
void set(int bitIndex)
javolution.util.FastBitSet.get
boolean get(int bitIndex)
Definition: FastBitSet.java:167
javolution.lang
Definition: Configurable.java:9
javolution.util.FastBitSet.set
void set(int bitIndex)
Definition: FastBitSet.java:285
javolution.util.FastBitSet.FastBitSet
FastBitSet()
Definition: FastBitSet.java:39
javolution.util.service.BitSetService.andNot
void andNot(BitSetService that)
javolution.util.service.BitSetService
Definition: BitSetService.java:23
javolution.util.Index
Definition: Index.java:44
javolution.util.service.BitSetService.nextSetBit
int nextSetBit(int fromIndex)
javolution.util.service.BitSetService.or
void or(BitSetService that)
javolution.lang.Realtime.Limit.LINEAR
LINEAR
Definition: Realtime.java:98
javolution.lang.Realtime
Definition: Realtime.java:59
javolution.util.service.BitSetService.flip
void flip(int bitIndex)
javolution.util.FastCollection
Definition: FastCollection.java:166
javolution.util.FastBitSet.addAll
FastBitSet addAll(Index... elements)
Definition: FastBitSet.java:347
javolution.util.service.BitSetService.previousClearBit
int previousClearBit(int fromIndex)
javolution.util.FastBitSet.and
void and(FastBitSet that)
Definition: FastBitSet.java:76
javolution.util.FastBitSet.clear
void clear()
Definition: FastBitSet.java:107
javolution.util.internal.bitset.BitSetServiceImpl
Definition: BitSetServiceImpl.java:24
javolution.util.service.BitSetService.clear
void clear(int bitIndex)
javolution.util.FastBitSet.previousClearBit
int previousClearBit(int fromIndex)
Definition: FastBitSet.java:246
javolution.util.internal.bitset
Definition: BitSetIteratorImpl.java:9
javolution.util.FastBitSet.andNot
void andNot(FastBitSet that)
Definition: FastBitSet.java:89
javolution.util.FastBitSet
Definition: FastBitSet.java:27
javolution.util.service.BitSetService.intersects
boolean intersects(BitSetService that)
javolution.util.FastBitSet.flip
void flip(int bitIndex)
Definition: FastBitSet.java:142
javolution.util.FastBitSet.clear
void clear(int bitIndex)
Definition: FastBitSet.java:118
javolution.util.FastSet
Definition: FastSet.java:37
javolution.util
Definition: FastBitSet.java:9
javolution.util.FastBitSet.addAll
FastBitSet addAll(FastCollection<? extends Index > elements)
Definition: FastBitSet.java:352
javolution.util.FastBitSet.intersects
boolean intersects(FastBitSet that)
Definition: FastBitSet.java:193
javolution.util.FastBitSet.nextSetBit
int nextSetBit(int fromIndex)
Definition: FastBitSet.java:234
javolution.util.service.BitSetService.xor
void xor(BitSetService that)