File: bitVector.sip

package info (click to toggle)
ball 1.5.0%2Bgit20180813.37fc53c-6
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 239,888 kB
  • sloc: cpp: 326,149; ansic: 4,208; python: 2,303; yacc: 1,778; lex: 1,099; xml: 958; sh: 322; makefile: 95
file content (77 lines) | stat: -rw-r--r-- 2,783 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
class Bit
{
%TypeHeaderCode
	#include <BALL/DATATYPE/bitVector.h>
%End

	public:
	Bit() throw();
	Bit(const Bit&) throw();
	~Bit() throw();
	virtual void clear() throw();
	bool operator == (const Bit&) const throw();
	bool operator == (bool) const throw(NullPointer);
	bool operator != (const Bit&) const throw();
	bool operator != (bool) const throw(NullPointer);
};

class BitVector
{
%TypeHeaderCode
	#include <BALL/DATATYPE/bitVector.h>
	using BlockType = unsigned char;
%End

	public:
	BitVector() throw();
	BitVector(Size) throw(OutOfMemory);
	BitVector(const BitVector&) throw(OutOfMemory);
	BitVector(const char*) throw(OutOfMemory);
	~BitVector() throw();
	void clear() throw();
	void set(const BitVector&) throw(OutOfMemory);
	void set(const char*) throw(OutOfMemory);
	void get(BitVector&) const throw(OutOfMemory);
	BitVector operator () (Index, Index) const
		throw(IndexUnderflow, IndexOverflow);
%MethodCode
	sipRes = new BitVector(sipCpp->operator() (*a0, *a1));
%End

	void setSize(Size, bool keep = true) throw(OutOfMemory);
	Size getSize() const throw();
	Size countValue(bool) const throw();
	bool operator [] (Index) const throw(IndexUnderflow, IndexOverflow);
%MethodCode
	sipRes = sipCpp->operator[](*a0);
%End

	void setBit(Index, bool value = true) throw(IndexUnderflow, OutOfMemory);
	bool getBit(Index) const throw(IndexUnderflow, IndexOverflow);
	void toggleBit(Index) throw(IndexUnderflow, OutOfMemory);
	void fill(bool value = true, Index first = 0 , Index last = -1)
		throw(IndexUnderflow, OutOfMemory);
	void toggle(Index first = 0, Index last = -1) throw(IndexUnderflow, OutOfMemory);
	void setUnsignedChar(unsigned char) throw();
	unsigned char getUnsignedChar() const throw();
	void setUnsignedShort(unsigned short) throw();
	unsigned short getUnsignedShort() const throw();
	void setUnsignedLong(unsigned long) throw();
	unsigned long getUnsignedLong() const throw();
	void bitwiseOr(const BitVector&) throw(OutOfMemory);
	void bitwiseXor(const BitVector&) throw(OutOfMemory);
	void bitwiseAnd(const BitVector&) throw(OutOfMemory);
	BitVector operator | (const BitVector&) throw(OutOfMemory);
	BitVector& operator |= (const BitVector&) throw(OutOfMemory);
	BitVector operator & (const BitVector&) throw(OutOfMemory);
	BitVector& operator &= (const BitVector&) throw(OutOfMemory);
	BitVector operator ^ (const BitVector&) throw(OutOfMemory);
	BitVector& operator ^= (const BitVector&) throw(OutOfMemory);
	bool operator == (const BitVector&) const throw();
	bool operator != (const BitVector&) const throw();
	bool isAnyBit(bool, Index first = 0, Index last = -1) const
		throw(IndexUnderflow, IndexOverflow);
	bool isEveryBit(bool, Index first = 0, Index last = -1) const
		throw(IndexUnderflow, IndexOverflow);
	bool isValid() const throw();
};