EOOS API 0.11
- eoos::api::Collection<T>
- eoos::api::Heap
- eoos::api::IllegalValue<T>
- eoos::api::Iterable<T>
- eoos::api::Iterator<T>
- eoos::api::List<T>
- eoos::api::ListIterator<T>
- eoos::api::Mutex
- eoos::api::Object
- eoos::api::OutStream<T>
- eoos::api::Queue<T>
- eoos::api::Scheduler
- eoos::api::Semaphore
- eoos::api::SequenceContainer<T>
- eoos::api::SmartPointer<T>
- eoos::api::String<T>
- eoos::api::System
- eoos::api::Task
- eoos::api::Thread
- eoos::lib::AbstractBaseString<T,R,A>
- eoos::lib::AbstractBuffer<T,A>
- eoos::lib::AbstractList<T,A>
- eoos::lib::AbstractTask<A>
- eoos::lib::AbstractThreadTask<A>
- eoos::lib::Align<T,S,A>
- eoos::lib::Allocator
- eoos::lib::BaseString<T,L,R,A>
- eoos::lib::BaseString<T,0,R,A>
- eoos::lib::Buffer<T,L,A>
- eoos::lib::Buffer<T,0,A>
- eoos::lib::CharTrait<T>
- eoos::lib::CircularList<T,A>
- eoos::lib::Heap
- eoos::lib::LinkedList<T,A>
- eoos::lib::LinkedNode<T,A>
- eoos::lib::Memory
- eoos::lib::Mutex<A>
- eoos::lib::MutexGuard<A>
- eoos::lib::NonCopyable<A>
- eoos::lib::Object<A>
- eoos::lib::ObjectAllocator<A>
- eoos::lib::Semaphore<A>
- eoos::lib::SharedPointer<T,D,A>
- eoos::lib::SmartPointerDeleter<T>
- eoos::lib::SmartPointerDeleterArray<T>
- eoos::lib::Stream
- eoos::lib::String
- eoos::lib::Thread<A>
- eoos::lib::UniquePointer<T,D,A>
BOOS Core is released as version 2.1
The new release of BOOS Core has gotten ARM architecture with instruction set version 5, some independent algorithms of any compilers, root interface for all interfaces, and many tiny aspects, which were implemented in it.
Class «eoos::lib::Semaphore<A>»
Semaphore class.
- eoos::lib::Semaphore<A>
- public eoos::lib::NonCopyable<A>
- public eoos::lib::Object<A>
- public eoos::lib::ObjectAllocator<A>
- public eoos::api::Object
- public eoos::lib::Object<A>
- public eoos::api::Semaphore
- public eoos::api::Object
- public eoos::lib::NonCopyable<A>
public:
explicit Semaphore(int32_t permits);
virtual bool_t isConstructed() const;
static bool_t isConstructed(api::Object* obj);
static void operator delete(void* ptr);
static void operator delete(void*, void*);
static void* operator new(size_t size);
static void* operator new(size_t, void* ptr);
Object& operator=(Object const& obj);
public: explicit Semaphore(int32_t permits);
Constructor.
Parameters:
permits — The initial number of permits available.
public: virtual ~Semaphore();
Destructor.
public: virtual bool_t acquire();
Acquires one permit from this semaphore.
The function acquires one permit or waits while the permit will be released.
Returns:
True if the semaphore is acquired successfully.
public: virtual bool_t isConstructed() const;
Tests if this object has been constructed.
Returns:
True if object has been constructed successfully.
public: static bool_t isConstructed(api::Object* obj);
Tests if an object has been constructed.
Parameters:
obj — Object to be tested.
Returns:
True if object has been constructed successfully.
public: static void operator delete(void* ptr);
Operator delete.
Parameters:
ptr — An address of allocated memory block or a null pointer.
public: static void operator delete(void*, void*);
Operator delete.
public: static void* operator new(size_t size);
Operator new.
Parameters:
size — A number of bytes to allocate.
Returns:
Allocated memory address or a null pointer.
public: static void* operator new(size_t, void* ptr);
Operator new.
Parameters:
ptr — A pointer to reserved memory area.
Returns:
The given pointer.
public: Object& operator=(Object const& obj);
Copy assignment operator.
Parameters:
obj — Reference to a source object.
Returns:
Reference to this object.
public: Object& operator=(Object&& obj) & noexcept;
Move assignment operator.
Parameters:
obj — Right reference to a source object.
Returns:
Reference to this object.
public: virtual void release();
Releases one permit.
The function releases from one permit and returns this to the semaphore.