EOOS API 0.12
- eoos::api::Collection<T>
- eoos::api::Guard
- 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::MutexManager
- eoos::api::Object
- eoos::api::OutStream<T>
- eoos::api::Queue<T>
- eoos::api::Runnable
- eoos::api::Scheduler
- eoos::api::Semaphore
- eoos::api::SemaphoreManager
- eoos::api::SequenceContainer<T>
- eoos::api::SmartPointer<T>
- eoos::api::StreamManager
- 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::ArgumentParser<T,L,A>
- 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::Fifo<T,L,A>
- eoos::lib::Guard<A>
- eoos::lib::Heap
- eoos::lib::LinkedList<T,A>
- eoos::lib::LinkedNode<T,A>
- eoos::lib::Memory
- eoos::lib::Mutex<A>
- eoos::lib::NoAllocator
- eoos::lib::NonCopyable<A>
- eoos::lib::Object<A>
- eoos::lib::ObjectAllocator<A>
- eoos::lib::Register<R>
- eoos::lib::ResourceMemory<T,N>
- eoos::lib::ResourceMemory<T,0>
- 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>
Class «eoos::lib::SharedPointer<T,D,A>»
Shared pointer.
- eoos::lib::SharedPointer<T,D,A>
- public eoos::lib::Object<A>
- public eoos::lib::ObjectAllocator<A>
- public eoos::api::Object
- public eoos::api::SmartPointer<T>
- public eoos::api::Object
- public eoos::lib::Object<A>
public:
SharedPointer(SharedPointer const& obj);
SharedPointer(SharedPointer&& obj) noexcept;
explicit SharedPointer(T* pointer);
virtual int32_t getCount() const;
virtual bool_t isConstructed() const;
static bool_t isConstructed(api::Object* obj);
virtual bool_t isNull() const;
virtual bool_t isUnique() const;
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);
Object& operator=(Object&& obj) & noexcept;
SharedPointer& operator=(SharedPointer const& obj);
SharedPointer& operator=(SharedPointer&& obj) & noexcept;
public: SharedPointer();
Constructor an empty shared object.
public: SharedPointer(SharedPointer const& obj);
Copy constructor.
Parameters:
obj — Reference to a source object.
public: SharedPointer(SharedPointer&& obj) noexcept;
Move constructor.
Parameters:
obj — Right reference to a source object.
public: explicit SharedPointer(T* pointer);
Constructor.
Parameters:
pointer — A pointer to get ownership.
public: virtual ~SharedPointer();
Destructor.
public: virtual T* get() const;
Returns pointer to the managed object.
Returns:
Pointer to the managed object or NULLPTR if no object managed.
public: virtual int32_t getCount() const;
Returns amount of smart objects for the managed object.
Returns:
Amount of smart objects manage the same object, if no managed object, 0 is returned.
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: virtual bool_t isNull() const;
Tests if this smart object does not manage any object.
Returns:
true if no object managed.
public: virtual bool_t isUnique() const;
Tests if this smart object is only one manages an object.
Returns:
true if this smart object is one, otherwise false.
public: operator bool_t() const;
Casts to boolean data type comparing if the stored pointer does not equal to null.
Returns:
Comparation the stored pointer does not equal to null.
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: T& operator*() const;
Returns the result of dereferencing the stored pointer.
Returns:
The dereferenced stored pointer.
public: T* operator->() const;
Returns the stored pointer.
Returns:
The stored pointer or NULLPTR if no pointer stored.
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: SharedPointer& operator=(SharedPointer const& obj);
Copy assignment operator.
Parameters:
obj — Reference to a source object.
Returns:
Reference to this object.
public: SharedPointer& operator=(SharedPointer&& obj) & noexcept;
Move assignment operator.
Parameters:
obj — Right reference to a source object.
Returns:
Reference to this object.
public: T& operator[](uint32_t index) const;
Returns an element of the stored array.
Parameters:
index — An element index.
Returns:
An element.
public: virtual void reset();
Releases the managed object.
public: virtual void reset(T* ptr);
Replaces the managed object with a given object.
Parameters:
ptr — An object to replace the managed object.
public: void swap(SharedPointer& obj);
Swaps this managed object with an object managed by given smart object.
Parameters:
obj — A smart object to swap managed objects.