15#ifndef RENDERSTAGESEQUENCE_H_0874895466
16#define RENDERSTAGESEQUENCE_H_0874895466
51 const std::unique_ptr< Details > pimpl;
90 template<
typename RenderStage >
104template<
typename RenderStage >
107 for( std::size_t index = 0; index <
stages(); ++index )
Defines LibCarna::base::Aggregation.
Contains forward-declarations.
Represents an aggregation, i.e. a weak reference.
Represents an association.
Represents a rendering stages sequence.
virtual ~RenderStageSequence()
Deletes all stages contained by the sequence.
void releaseStages()
Assumes that the ownership over all stages has been taken over by someone else. Clears the stages seq...
void appendStage(RenderStage *stage)
Appends stage to the rendering stages sequence.
RenderStageSequence()
Instantiates.
Aggregation< RenderStage > findStage() const
References the first RenderStage within the rendering stages sequence. This method performs a linear ...
RenderStage & stageAt(std::size_t position) const
References the stage at position within the rendering stages sequence.
virtual void clearStages()
Deletes all stages from the rendering stages sequence.
std::size_t stages() const
Tells number of stages contained by the sequence.
Base abstract class of each rendering stage. Refer to the documentation of the rendering process.
Defines LibCarna::base::noncopyable and NON_COPYABLE.
#define NON_COPYABLE
Marks the class that it is placed in as non-copyable.