Baigudin Software avatar
Baigudin Software logo
home
ru region
en region

Abstract class «util::AbstractBuffer<Type,Alloc>»

Abstract class for some buffers.

Parameters:
Type — data type of buffer element.
Alloc = Allocator — heap memory allocator class.

public: AbstractBuffer(int32 count);

Constructor.

Parameters:
count — count of buffer elements.

public: AbstractBuffer(int32 count, const Type illegal);

Constructor.

Parameters:
count — count of buffer elements.
illegal — illegal value.

public: virtual ~AbstractBuffer();

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 illegal() const;

Returns illegal element which will be returned as error value.

Returns:
illegal element.

public: virtual void illegal(const Type value);

Sets illegal element which will be returned as error value.

Parameters:
value — illegal value.

public: virtual bool isConstructed() const;

Tests if this object has been constructed.

Returns:
true if object has been constructed successfully.

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.
true — if value is an illegal.

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

Tests if given object has been constructed object.

Parameters:
obj — pointer to object.

Returns:
true if object has been constructed successfully.

public: virtual int32 length() const;

Returns a number of elements in this container.

Returns:
number of elements.

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: Type& operator [](int32 i);

Returns an element of this buffer.

Parameters:
i — an element index.

Returns:
an element.

public: virtual int32 size() const;

Returns this buffer size in byte.

Returns:
buffer byte size.

protected: static Type alloc(size_t size);

Allocates memory.

Parameters:
size — number of bytes to allocate.

Returns:
allocated memory address or a null pointer.

protected: virtual Type* buffer() const;

Returns a pointer to the fist buffer element.

Returns:
pointer to buffer or NULL.

protected: virtual void copy(const AbstractBuffer& buf);

Copies buffer to buffer.

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

Parameters:
buf — reference to source buffer.

protected: static void free(void* ptr);

Frees an allocated memory.

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

protected: virtual void setConstruct(bool flag);

Sets the object constructed flag.

Parameters:
flag — constructed flag.

Back to class list