Baigudin Software avatar
Baigudin Software logo
home
ru region
en region

Class «library::Buffer<Type,COUNT,Alloc>»

Buffer class in static and dynamic specializations.

This class has two specializations of the template. The first one specializes a class with a buffer of elements that is declared as the part of self class data structure. The second one allocates necessary size of a buffer in dynamic memory.

public: Buffer();

Constructor.

public: Buffer(const Type illegal);

Constructor.

Parameters:
illegal — illegal value.

public: virtual ~Buffer();

Destructor.

public: virtual void fill(Type value);

Fills this buffer by given value.

Parameters:
value — filling value.

public: virtual void fill(Type value, int32 count);

Fills this buffer by given value.

Parameters:
value — filling value.
count — count of filling elements.

public: virtual void fill(Type value, int32 index, int32 count);

Fills this buffer by given value.

Parameters:
value — filling value.
index — begin index.
count — count of filling elements.

public: virtual Type getIllegal() const;

Returns illegal element which will be returned as error value.

Returns:
illegal element.

public: virtual int32 getLength() const;

Returns a number of elements in this container.

Returns:
number of elements.

public: virtual bool isConstructed() const;

Tests if this object has been constructed.

public: virtual bool isEmpty() const;

Tests if this collection has elements.

Returns:
true if this collection does not contain any elements.

public: virtual bool isIllegal(const Type& value) const;

Tests if given value is an illegal.

Parameters:
value — testing value.

Returns:
true if value is an illegal.

public: static bool isObject(const Type* obj);

Tests if given object has been constructed object.

public: Buffer& operator =(const AbstractBuffer<Type,Alloc>& buf);

Assignment operator.

If the source buffer is greater than this buffer, only cropped data of that will be copied.

Parameters:
buf — reference to source buffer.

Returns:
reference to this object.

public: Buffer& operator =(const Buffer<Type,COUNT,Alloc>& buf);

Assignment operator.

If the source buffer is greater than this buffer, only cropped data of that will be copied.

Parameters:
buf — reference to source buffer.

Returns:
reference to this object.

public: Object& operator =(const Object& obj);

Assignment operator.

Parameters:
obj — reference to source object.

Returns:
reference to this object.

public: void operator delete(void* ptr);

Operator delete.

Parameters:
ptr — address of allocated memory block or a null pointer.

public: void* operator new(size_t size);

Operator new.

Parameters:
size — number of bytes to allocate.

Returns:
allocated memory address or a null pointer.

public: void* operator new(size_t size, void* ptr);

Operator new.

Parameters:
size — unused.
ptr — pointer to reserved memory area

Returns:
given pointer.

public: virtual void setIllegal(Type value);

Sets illegal element which will be returned as error value.

Parameters:
value — illegal value.

public: Type Type& operator[](int32 i);

Returns an element of this buffer.

Parameters:
i — an element index.

Returns:
an element.

Back to class list