struct CCL::Threading::IAtomicStack

Overview

Stack using lock-free synchronization. More…

#include <ithreading.h>

struct IAtomicStack: public CCL::IUnknown
{
    // methods

    CCL_ALIGN (struct);
    virtual Element*CCL_API pop () = 0;
    virtual void CCL_API push (Element* e) = 0;
    virtual void CCL_API flush () = 0;
    virtual int CCL_API depth () = 0;
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;

Detailed Documentation

Stack using lock-free synchronization.

Methods

CCL_ALIGN (struct)

Base class for stack elements.

virtual Element*CCL_API pop () = 0

Pop first stack element.

virtual void CCL_API push (Element* e) = 0

Push element to stack.

virtual void CCL_API flush () = 0

Flush (empty) the stack.

virtual int CCL_API depth () = 0

Returns current stack depth.