BOOS Core API 3.1
- api::Collection<Type>
- api::Heap
- api::IllegalValue<Type>
- api::Interrupt
- api::Iterable<Type>
- api::Iterator<Type>
- api::Kernel
- api::List<Type>
- api::ListIterator<Type>
- api::Mutex
- api::Object
- api::ProcessorInterrupt
- api::ProcessorPll
- api::ProcessorRegisters
- api::ProcessorTimer
- api::Queue<Type>
- api::Resource
- api::Runtime
- api::Scheduler
- api::Semaphore
- api::Stack<Type>
- api::String<Char>
- api::Synchronizable
- api::System
- api::Task
- api::Thread
- api::Timer
- api::Toggle
- api::Value<Type>
- library::AbstractBuffer<Type,Alloc>
- library::AbstractLinkedList<Type,Alloc>
- library::Align<Type,SIZEOF,Alloc>
- library::Buffer<Type,COUNT,Alloc>
- library::CircularList<Type,Alloc>
- library::Heap
- library::LinkedList<Type,Alloc>
- library::LinkedNode<Type,Alloc>
- library::Memory
- library::Stack<Type,Alloc>
- library::String<Char,Alloc>
- library::Toggle<Alloc>
BOOS Core is unveiled in second revision
BOOS Core Revision 2 has been successfully unveiled within the framework of Baigudin Software project. In comparison with the first revision, the second has gotten considerable improvements. It saves the best features of previous realization and gets the new logical continuation.
Class «system::Semaphore»
Semaphore class.
- system::Semaphore
- public Object<Alloc>
- public api::Object
- public api::Semaphore
- public api::Resource
- public api::Object
- public api::Resource
- public Object<Alloc>
public:
Semaphore(int32 permits, bool isFair);
virtual bool acquire(int32 permits);
virtual bool isConstructed() const;
static bool isObject(const Type* obj);
Object& operator =(const Object& obj);
void operator delete(void* ptr);
void* operator new(size_t size);
public: Semaphore(int32 permits);
Constructor.
Parameters:
permits — the initial number of permits available.
public: Semaphore(int32 permits, bool isFair);
Constructor.
Parameters:
permits — the initial number of permits available.
isFair — true if this semaphore will guarantee FIFO granting of permits under contention.
public: virtual ~Semaphore();
Destructor.
public: virtual ~Semaphore();
Destructor.
public: virtual bool acquire();
Acquires one permit from this semaphore.
The method acquires one permit or waits while the permit will be released.
Returns:
true if the semaphore is acquired successfully.
public: virtual bool acquire(int32 permits);
Acquires the given number of permits from this semaphore.
The method acquires given permits number or waits while the number will be released.
Parameters:
permits — the number of permits to acquire.
Returns:
true if the semaphore is acquired successfully.
public: virtual bool isBlocked();
Tests if this resource is blocked.
Returns:
true if this resource is blocked.
public: virtual bool isConstructed() const;
Tests if this object has been constructed.
public: virtual bool isFair() const;
Tests if this semaphore is fair.
Returns:
true if this semaphore has fairness set true.
public: static bool isObject(const Type* obj);
Tests if given object has been constructed 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 release();
Releases one permit.
The method releases from one permit and returns this to the semaphore.
public: virtual void release(int32 permits);
Releases the given number of permits.
The method releases from the permits and returns these to the semaphore.
Parameters:
permits — the number of permits to release.