// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ // // ThreadInternalContext.h // // Header file containing the metaphor for an thread based internal execution context/stack. // // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- #pragma once namespace Concurrency { namespace details { class ThreadInternalContext : public InternalContextBase { public: // // Public Methods // /// /// Construct an internal thread based context. /// ThreadInternalContext(SchedulerBase *pScheduler) : InternalContextBase(pScheduler) { } /// /// Destroys an internal thread based context. /// virtual ~ThreadInternalContext() { } /// /// Returns the type of context /// virtual ContextKind GetContextKind() const { return ThreadContext; } private: friend class ThreadScheduler; }; } // namespace details } // namespace Concurrency