| ## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# CS::ShaderVariableContextImpl Class Reference

Simple implementation for iShaderVariableContext. More...

`#include <csgfx/shadervarcontext.h>`

Inheritance diagram for CS::ShaderVariableContextImpl:

[legend]
List of all members.

## Public Member Functions
virtual void | AddVariable (csShaderVariable *variable)
| Add a variable to this context.
virtual void | Clear ()
| Remove all variables from this context.
const csRefArray< csShaderVariable > & | GetShaderVariables () const
| Get Array of all ShaderVariables.
virtual csShaderVariable * | GetVariable (csStringID name) const
| Get a named variable from this context.
virtual bool | IsEmpty () const
| Determine whether this SV context contains any variables at all.
virtual void | PushVariables (iShaderVarStack *stacks) const
| Push the variables of this context onto the variable stacks supplied in the "stacks" argument.
virtual bool | RemoveVariable (csShaderVariable *variable)
| Remove the given variable from this context.
virtual void | ReplaceVariable (csShaderVariable *variable)
| Replace the current variable object of the same name as variable with the latter, add variable otherwise.
## Protected Attributes
csRefArray< csShaderVariable > | variables

## Detailed Description

Simple implementation for iShaderVariableContext.

Can be inherited from for use in SCF classes. For an example, see csShaderVariableContext.

Definition at line 41 of file shadervarcontext.h.

## Member Function Documentation

virtual void CS::ShaderVariableContextImpl::AddVariable | ( | csShaderVariable * | variable | ) | `[virtual]`

Add a variable to this context.

Remarks:
  If a variable of the same name exists in the current context, its contents are replaced with those of variable.

Implements iShaderVariableContext.

virtual void CS::ShaderVariableContextImpl::Clear | ( |  | ) | `[inline, virtual]`

Remove all variables from this context.

Implements iShaderVariableContext.

Definition at line 57 of file shadervarcontext.h.

const csRefArray<csShaderVariable>& CS::ShaderVariableContextImpl::GetShaderVariables | ( |  | ) | const`[inline, virtual]`

Get Array of all ShaderVariables.

Implements iShaderVariableContext.

Definition at line 50 of file shadervarcontext.h.

virtual csShaderVariable* CS::ShaderVariableContextImpl::GetVariable | ( | csStringID | name | ) | const`[virtual]`

Get a named variable from this context.

Implements iShaderVariableContext.

virtual bool CS::ShaderVariableContextImpl::IsEmpty | ( |  | ) | const`[inline, virtual]`

Determine whether this SV context contains any variables at all.

Implements iShaderVariableContext.

Definition at line 55 of file shadervarcontext.h.

virtual void CS::ShaderVariableContextImpl::PushVariables | ( | iShaderVarStack * | stacks | ) | const`[virtual]`

Push the variables of this context onto the variable stacks supplied in the "stacks" argument.

Implements iShaderVariableContext.

virtual bool CS::ShaderVariableContextImpl::RemoveVariable | ( | csShaderVariable * | variable | ) | `[virtual]`

Remove the given variable from this context.

Implements iShaderVariableContext.

virtual void CS::ShaderVariableContextImpl::ReplaceVariable | ( | csShaderVariable * | variable | ) | `[virtual]`

Replace the current variable object of the same name as variable with the latter, add variable otherwise.

Remarks:
  This differs from AddVariable() as this method replaces the variable *object*, not just the contents.

Implements iShaderVariableContext.

The documentation for this class was generated from the following file:

- csgfx/shadervarcontext.h