Base Module: FConditionalBoolSetter Struct Reference
Author: Steinberg

Base Module VST 3.7 SDK for developing VST plug-in

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Member Functions | Public Attributes | List of all members
FConditionalBoolSetter Struct Reference

Class definition for objects that help setting boolean variables. More...

`#include <fcleanup.h>`

## Public Member Functions
| FConditionalBoolSetter (bool &_toSet, bool condition)
| Constructor.
| ~FConditionalBoolSetter ()
| Destructor. Resets the at construction time passed boolean to FALSE.

## Public Attributes
bool & | toSet
| Remembers the boolean that is to be reset during destruction.

## Detailed Description

Class definition for objects that help setting boolean variables.

A stack allocated object of this type automatically sets an at construction time passed boolean variable to TRUE if the given condition is met. At the end of its own scope the stack object will reset the same boolean variable to FALSE, if it wasn't set so already.
Intended usage:

bool theBoolean = false;
{
bool creativityFirst = true;
Steinberg::FConditionalBoolSetter theCBSetter (theBoolean, creativityFirst);
// Here the constructor of theCBSetter sets theBoolean to the value of creativityFirst.
// Do something.
} // Here the destructor of theCBSetter resets theBoolean to FALSE.

## Constructor & Destructor Documentation

FConditionalBoolSetter | ( | bool & | _toSet,
|  | bool | condition
| ) |  |
| inline

Constructor.

_toSet is a reference to the boolean that is to be set. If the in the second parameter given condition is TRUE then also _toSet is set to TRUE immediately.

~FConditionalBoolSetter | ( |  | ) |
| inline

Destructor. Resets the at construction time passed boolean to FALSE.

## Member Data Documentation

bool& toSet

Remembers the boolean that is to be reset during destruction.

Empty

Copyright ©2024 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.