Loading...
Searching...
No Matches
juce Namespace Reference

## Namespaces

namespace | universal_midi_packets
namespace | ValueSmoothingTypes
| A namespace containing a set of types used for specifying the smoothing behaviour of the SmoothedValue class.
namespace | ARAHostModel
namespace | TypeHelpers
| This namespace contains a few template classes for helping work out class type variations.
namespace | UnitTestCategories
namespace | zlibNamespace
namespace | dsp
namespace | Colours
| Contains a set of predefined named colours (mostly standard HTML colours).
namespace | StandardApplicationCommandIDs
| A set of general-purpose application command IDs.
namespace | AnimatedPositionBehaviours
| Contains classes for different types of physics behaviours - these classes are used as template parameters for the AnimatedPosition class.
namespace | midi_ci
namespace | gl

## Classes

class | Analytics
| A singleton class to manage analytics data. More...
class | ButtonTracker
| A class that automatically sends analytics events to the Analytics singleton when a button is clicked. More...
struct | AnalyticsDestination
| An interface for handling analytics events collected by an Analytics object. More...
class | ThreadedAnalyticsDestination
| A base class for dispatching analytics events on a dedicated thread. More...
class | Animator
| Wrapper class for managing the lifetime of all the different animator kinds created through the builder classes. More...
class | AnimatorSetBuilder
| A builder class that can be used to construct an Animator wrapping an AnimatorSet implementation. More...
class | AnimatorUpdater
| Helper class to update several animators at once, without owning or otherwise extending the lifetimes of those animators. More...
class | SpringEasingOptions
| A selection of options available for customising a spring style easing function. More...
struct | Easings
| Holds a number of easing functions that you can pass into ValueAnimatorBuilder::withEasing to transform the linear progression of animations. More...
class | StaticAnimationLimits
| Helper class for using linear interpolation between a begin and an end value. More...
class | ValueAnimatorBuilder
| A builder class that can be used to construct an Animator wrapping a ValueAnimator implementation. More...
class | VBlankAnimatorUpdater
| Similar to AnimatorUpdater, but automatically calls update() whenever the screen refreshes. More...
class | AudioPlayHead
| A subclass of AudioPlayHead can supply information about the position and status of a moving play head during audio playback. More...
class | AudioChannelSet
| Represents a set of audio channel types. More...
class | AudioData
| This class a container which holds all the classes pertaining to the AudioData::Pointer audio sample format class. More...
class | AudioProcessLoadMeasurer
| Maintains an ongoing measurement of the proportion of time which is being spent inside an audio callback. More...
class | AudioBuffer
| A multi-channel buffer containing floating point audio samples. More...
struct | FloatVectorOperationsBase
| A collection of simple vector operations on arrays of floating point numbers, accelerated with SIMD instructions where possible, usually accessed from the FloatVectorOperations class. More...
class | FloatVectorOperations
| A collection of simple vector operations on arrays of floating point numbers, accelerated with SIMD instructions where possible and providing all methods from FloatVectorOperationsBase. More...
class | ScopedNoDenormals
| Helper class providing an RAII-based mechanism for temporarily disabling denormals on your CPU. More...
struct | MidiMessageMetadata
| A view of MIDI message data stored in a contiguous buffer. More...
class | MidiBufferIterator
| An iterator to move over contiguous raw MIDI data, which Allows iterating over a MidiBuffer using C++11 range-for syntax. More...
class | MidiBuffer
| Holds a sequence of time-stamped midi events. More...
class | BytestreamSysexExtractor
class | MidiDataConcatenator
| Helper class that takes chunks of incoming midi bytes, packages them into messages, and dispatches them to a midi callback. More...
class | MidiFile
| Reads/writes standard midi format files. More...
class | MidiKeyboardState
| Represents a piano keyboard, keeping track of which keys are currently pressed. More...
class | MidiMessage
| Encapsulates a MIDI message. More...
class | MidiMessageSequence
| A sequence of timestamped midi messages. More...
struct | MidiRPNMessage
| Represents a MIDI RPN (registered parameter number) or NRPN (non-registered parameter number) message. More...
class | MidiRPNDetector
| Parses a stream of MIDI data to assemble RPN and NRPN messages from their constituent MIDI CC messages. More...
class | MidiRPNGenerator
| Generates an appropriate sequence of MIDI CC messages to represent an RPN or NRPN message. More...
class | MPEInstrument
| This class represents an instrument handling MPE. More...
class | MPEMessages
| This helper class contains the necessary helper functions to generate MIDI messages that are exclusive to MPE, such as defining the upper and lower MPE zones and setting per-note and master pitchbend ranges. More...
struct | MPENote
| This struct represents a playing MPE note. More...
class | MPESynthesiser
| Base class for an MPE-compatible musical device that can play sounds. More...
struct | MPESynthesiserBase
| Derive from this class to create a basic audio generator capable of MPE. More...
class | MPESynthesiserVoice
| Represents an MPE voice that an MPESynthesiser can use to play a sound. More...
class | MPEChannelAssigner
| This class handles the assignment of new MIDI notes to member channels of an active MPE zone. More...
class | MPEChannelRemapper
| This class handles the logic for remapping MIDI note messages from multiple MPE sources onto a specified MPE zone. More...
class | MPEValue
| This class represents a single value for any of the MPE dimensions of control. More...
struct | MPEZone
| This struct represents an MPE zone. More...
class | MPEZoneLayout
| This class represents the current MPE zone layout of a device capable of handling MPE. More...
struct | AudioSourceChannelInfo
| Used by AudioSource::getNextAudioBlock(). More...
class | AudioSource
| Base class for objects that can produce a continuous stream of audio. More...
class | BufferingAudioSource
| An AudioSource which takes another source as input, and buffers it using a thread. More...
class | ChannelRemappingAudioSource
| An AudioSource that takes the audio from another source, and re-maps its input and output channels to a different arrangement. More...
class | IIRFilterAudioSource
| An AudioSource that performs an IIR filter on another source. More...
class | MemoryAudioSource
| An AudioSource which takes some float audio data as an input. More...
class | MixerAudioSource
| An AudioSource that mixes together the output of a set of other AudioSources. More...
class | PositionableAudioSource
| A type of AudioSource which can be repositioned. More...
class | ResamplingAudioSource
| A type of AudioSource that takes an input source and changes its sample rate. More...
class | ReverbAudioSource
| An AudioSource that uses the Reverb class to apply a reverb to another AudioSource. More...
class | ToneGeneratorAudioSource
| A simple AudioSource that generates a sine wave. More...
class | SynthesiserSound
| Describes one of the sounds that a Synthesiser can play. More...
class | SynthesiserVoice
| Represents a voice that a Synthesiser can use to play a SynthesiserSound. More...
class | Synthesiser
| Base class for a musical device that can play sounds. More...
class | ADSR
| A very simple ADSR envelope class. More...
class | WorkgroupToken
| Created by AudioWorkgroup to join the calling thread to a workgroup. More...
class | AudioWorkgroup
| A handle to an audio workgroup, which is a collection of realtime threads working together to produce audio by a common deadline. More...
class | Decibels
| This class contains some helpful static methods for dealing with decibel values. More...
class | GenericInterpolator
| An interpolator base class for resampling streams of floats. More...
class | IIRCoefficients
| A set of coefficients for use in an IIRFilter object. More...
class | IIRFilterBase
| An IIR filter that can perform low, high, or band-pass filtering on an audio signal. More...
class | IIRFilter
| An IIR filter that can perform low, high, or band-pass filtering on an audio signal, and which attempts to implement basic thread-safety. More...
class | SingleThreadedIIRFilter
| An IIR filter that can perform low, high, or band-pass filtering on an audio signal, with no thread-safety guarantees. More...
class | Interpolators
| A collection of different interpolators for resampling streams of floats. More...
class | Reverb
| Performs a simple reverb effect on a stream of audio data. More...
class | SmoothedValueBase
| A base class for the smoothed value classes. More...
class | SmoothedValue
| A utility class for values that need smoothing to avoid audio glitches. More...
class | AudioDeviceManager
| Manages the state of some audio and midi i/o devices. More...
struct | AudioIODeviceCallbackContext
| Additional information that may be passed to the AudioIODeviceCallback. More...
class | AudioIODeviceCallback
| One of these is passed to an AudioIODevice object to stream the audio data in and out. More...
class | AudioIODevice
| Base class for an audio device with synchronised input and output channels. More...
class | AudioIODeviceType
| Represents a type of audio driver, such as DirectSound, ASIO, CoreAudio, etc. More...
class | SystemAudioVolume
| Contains functions to control the system's master volume. More...
class | MidiDeviceListConnection
| To find out when the available MIDI devices change, call MidiDeviceListConnection::make(), passing a lambda that will be called on each configuration change. More...
struct | MidiDeviceInfo
| This struct contains information about a MIDI 1.0 input or output port. More...
class | MidiInput
| Represents a midi input device using the old bytestream format. More...
class | MidiInputCallback
| Receives incoming messages from a physical MIDI input device. More...
class | MidiOutput
| Represents a midi output device using the old bytestream format. More...
class | MidiMessageCollector
| Collects incoming realtime MIDI messages and turns them into blocks suitable for processing by a block-based audio callback. More...
class | ScheduledEventThread
class | WaitFreeListeners
class | AudioSourcePlayer
| Wrapper class to continuously stream audio from an audio source to an AudioIODevice. More...
class | AudioTransportSource
| An AudioSource that takes a PositionableAudioSource and allows it to be played, stopped, started, etc. More...
class | AiffAudioFormat
| Reads and Writes AIFF format audio files. More...
class | CoreAudioFormat
| OSX and iOS only - This uses the AudioToolbox framework to read any audio format that the system has a codec for. More...
class | FlacAudioFormat
| Reads and writes the lossless-compression FLAC audio format. More...
class | LAMEEncoderAudioFormat
| An AudioFormat class which can use an installed version of the LAME mp3 encoder to encode a file. More...
class | MP3AudioFormat
| Software-based MP3 decoding format (doesn't currently provide an encoder). More...
class | OggVorbisAudioFormat
| Reads and writes the Ogg-Vorbis audio format. More...
class | WavAudioFormat
| Reads and Writes WAV format audio files. More...
class | WindowsMediaAudioFormat
| Audio format which uses the Windows Media codecs (Windows only). More...
class | ARAAudioSourceReader
| Subclass of AudioFormatReader that reads samples from a single ARA audio source. More...
class | ARAPlaybackRegionReader
| Subclass of AudioFormatReader that reads samples from a group of playback regions. More...
class | AudioFormat
| Subclasses of AudioFormat are used to read and write different audio file formats. More...
class | AudioFormatManager
| A class for keeping a list of available audio formats, and for deciding which one to use to open a given file. More...
class | AudioFormatReader
| Reads samples from an audio file stream. More...
class | AudioFormatReaderSource
| A type of AudioSource that will read from an AudioFormatReader. More...
class | AudioFormatWriter
| Writes samples to an audio file stream. More...
class | AudioFormatWriterOptions
| Options that affect the output data format produced by an AudioFormatWriter. More...
class | AudioSubsectionReader
| This class is used to wrap an AudioFormatReader and only read from a subsection of the file. More...
class | BufferingAudioReader
| An AudioFormatReader that uses a background thread to pre-read data from another reader. More...
class | MemoryMappedAudioFormatReader
| A specialised type of AudioFormatReader that uses a MemoryMappedFile to read directly from an audio file. More...
class | SamplerSound
| A subclass of SynthesiserSound that represents a sampled audio clip. More...
class | SamplerVoice
| A subclass of SynthesiserVoice that can play a SamplerSound. More...
class | StandalonePluginHolder
| An object that creates and plays a standalone instance of an AudioProcessor. More...
class | StandaloneFilterWindow
| A class that can be used to run a simple standalone application containing your filter. More...
class | AudioUnitPluginFormat
| Implements a plugin format manager for AudioUnits. More...
class | LADSPAPluginFormat
| Provided for backwards compatibility; LADSPA plugins are always headless. More...
class | LV2PluginFormat
| Implements a plugin format for LV2 plugins. More...
class | VSTPluginFormat
| Implements a plugin format manager for VSTs. More...
class | AudioProcessorEditor
| Base class for the component that acts as the GUI for an AudioProcessor. More...
struct | HostProvidedContextMenu
| This wraps a context menu for a specific parameter, as provided by the host. More...
struct | AudioProcessorEditorHostContext
| Calling AudioProcessorEditor::getHostContext() may return a pointer to an instance of this class. More...
class | GenericAudioProcessorEditor
| A type of UI component that displays the parameters of an AudioProcessor as a simple list of sliders, combo boxes and switches. More...
class | KnownPluginList
| Manages a list of plugin types. More...
class | PluginDirectoryScanner
| Scans a directory for plugins, and adds them to a KnownPluginList. More...
class | PluginListComponent
| A component displaying a list of plugins, with options to scan for them, add, remove and sort them. More...
class | AudioProcessorValueTreeStateParameterAttributes
| Advanced properties of an AudioProcessorValueTreeState::Parameter. More...
class | AudioProcessorValueTreeState
| This class contains a ValueTree that is used to manage an AudioProcessor's entire state. More...
struct | NSViewComponentWithParent
class | ParameterAttachment
| Used to implement 'attachments' or 'controllers' that link a plug-in parameter to a UI element. More...
class | SliderParameterAttachment
| An object of this class maintains a connection between a Slider and a plug-in parameter. More...
class | ComboBoxParameterAttachment
| An object of this class maintains a connection between a ComboBox and a plug-in parameter. More...
class | ButtonParameterAttachment
| An object of this class maintains a connection between a Button and a plug-in parameter. More...
class | WebSliderParameterAttachment
| An object of this class maintains a connection between a WebSliderRelay and a plug-in parameter. More...
class | WebToggleButtonParameterAttachment
| An object of this class maintains a connection between a WebToggleButtonRelay and a plug-in parameter. More...
class | WebComboBoxParameterAttachment
| An object of this class maintains a connection between a WebComboBoxRelay and a plug-in parameter. More...
class | PluginHostType
| A useful utility class to determine the host or DAW in which your plugin is loaded. More...
class | AudioPluginFormat
| The base class for a type of plugin format, such as VST, AudioUnit, LADSPA, etc. More...
class | AudioPluginFormatManager
| This maintains a list of known AudioPluginFormats. More...
class | ARAFactoryWrapper
| Encapsulates an ARAFactory pointer and makes sure that it remains in a valid state for the lifetime of the ARAFactoryWrapper object. More...
struct | ARAFactoryResult
| Represents the result of AudioPluginFormatManager::createARAFactoryAsync(). More...
class | ARAEditGuard
| Reference counting helper class to ensure that the DocumentController is in editable state. More...
class | ARAHostDocumentController
| Wrapper class for ARA::Host::DocumentController. More...
class | AudioUnitPluginFormatHeadless
| Implements a plugin format manager for AudioUnits. More...
class | LADSPAPluginFormatHeadless
| Implements a plugin format manager for LADSPA plugins. More...
class | LegacyAudioParameter
class | LegacyAudioParametersWrapper
class | LV2PluginFormatHeadless
| Implements a plugin format for LV2 plugins. More...
class | VST3PluginFormatHeadless
| Implements a plugin format for VST3s. More...
struct | SpeakerMappings
| Structure for VST speaker mappings. More...
class | VSTMidiEventList
| Holds a set of VSTMidiEvent objects and makes it easy to add events to the list. More...
class | VSTPluginFormatHeadless
| Implements a plugin format manager for VSTs. More...
class | AudioPluginInstance
| Base class for an active instance of a plugin. More...
class | AudioProcessor
| Base class for audio processing classes or plugins. More...
class | AudioProcessorGraph
| A type of AudioProcessor which plays back a graph of other AudioProcessors. More...
class | AudioProcessorListener
| Base class for listeners that want to know about changes to an AudioProcessor. More...
class | AudioProcessorParameter
| An abstract base class for parameter objects that can be added to an AudioProcessor. More...
class | AudioProcessorParameterGroup
| A class encapsulating a group of AudioProcessorParameters and nested AudioProcessorParameterGroups. More...
struct | HostedAudioProcessorParameter
| A parameter with functions that are useful for plugin hosts. More...
class | PluginDescription
| A small class to represent some facts about a particular type of plug-in. More...
struct | ARADocumentControllerConfiguration
| This class provides customisable configuration options that are available at the ARAFactory construction's time. More...
class | ARADocumentControllerSpecialisation
| This class contains the customisation points for the JUCE provided ARA document controller implementation. More...
class | ARAInputStream
| Used to read persisted ARA archives - see doRestoreObjectsFromStream() for details. More...
class | ARAOutputStream
| Used to write persistent ARA archives - see doStoreObjectsToStream() for details. More...
class | ARADocumentController
class | ARAListenableModelClass
| Base class used by the JUCE ARA model objects to provide listenable interfaces. More...
class | ARAObjectVisitor
| Create a derived implementation of this class and pass it to ARAObject::visit() to retrieve the concrete type of a model object. More...
class | ARAObject
| Common base class for all JUCE ARA model objects to aid with the discovery and traversal of the entire ARA model graph. More...
class | ARADocumentListener
| A base class for listeners that want to know about changes to an ARADocument object. More...
class | ARADocument
| Base class representing an ARA document. More...
class | ARAMusicalContextListener
| A base class for listeners that want to know about changes to an ARAMusicalContext object. More...
class | ARAMusicalContext
| Base class representing an ARA musical context. More...
class | ARAPlaybackRegionListener
| A base class for listeners that want to know about changes to an ARAPlaybackRegion object. More...
class | ARAPlaybackRegion
| Base class representing an ARA playback region. More...
class | ARARegionSequenceListener
| A base class for listeners that want to know about changes to an ARARegionSequence object. More...
class | ARARegionSequence
| Base class representing an ARA region sequence. More...
class | ARAAudioSourceListener
| A base class for listeners that want to know about changes to an ARAAudioSource object. More...
class | ARAAudioSource
| Base class representing an ARA audio source. More...
class | ARAAudioModificationListener
| A base class for listeners that want to know about changes to an ARAAudioModification object. More...
class | ARAAudioModification
| Base class representing an ARA audio modification. More...
class | ARARenderer
| Base class for a renderer fulfilling either the ARAPlaybackRenderer or the ARAEditorRenderer role. More...
class | ARAPlaybackRenderer
| Base class for a renderer fulfilling the ARAPlaybackRenderer role as described in the ARA SDK. More...
class | ARAEditorRenderer
| Base class for a renderer fulfilling the ARAEditorRenderer role as described in the ARA SDK. More...
class | ARAEditorView
| Base class for fulfilling the ARAEditorView role as described in the ARA SDK. More...
class | AudioProcessorARAExtension
| Extension class meant to be subclassed by the plugin's implementation of. More...
class | AudioProcessorEditorARAExtension
| Extension class meant to be subclassed by the plugin's implementation of. More...
struct | AAXClientExtensions
| An interface to allow an AudioProcessor to implement extended AAX-specific functionality. More...
class | AudioParameterBoolAttributes
| Properties of an AudioParameterBool. More...
class | AudioParameterBool
| Provides a class of AudioProcessorParameter that can be used as a boolean value. More...
class | AudioParameterChoiceAttributes
| Properties of an AudioParameterChoice. More...
class | AudioParameterChoice
| Provides a class of AudioProcessorParameter that can be used to select an indexed, named choice from a list. More...
class | AudioParameterFloatAttributes
| Properties of an AudioParameterFloat. More...
class | AudioParameterFloat
| A subclass of AudioProcessorParameter that provides an easy way to create a parameter which maps onto a given NormalisableRange. More...
class | AudioParameterIntAttributes
| Properties of an AudioParameterInt. More...
class | AudioParameterInt
| Provides a class of AudioProcessorParameter that can be used as an integer value with a given range. More...
struct | AudioPluginExtensions
| A collection of interfaces for interacting with hosted plugins in a plugin-format-specific way. More...
class | ParameterID
| Combines a parameter ID and a version hint. More...
class | AudioProcessorParameterWithIDAttributes
| An instance of this class may be passed to the constructor of an AudioProcessorParameterWithID to set optional characteristics of that parameter. More...
class | AudioProcessorParameterWithID
| This abstract base class is used by some AudioProcessorParameter helper classes. More...
class | RangedAudioParameterAttributes
class | RangedAudioParameter
| This abstract base class is used by some AudioProcessorParameter helper classes. More...
struct | VST2ClientExtensions
| An interface to allow an AudioProcessor to implement extended VST2-specific functionality. More...
struct | VST3ClientExtensions
| An interface to allow an AudioProcessor to implement extended VST3-specific functionality. More...
struct | VST3Interface
| Useful functions and classes for defining VST3 Interface Ids. More...
class | AudioCDBurner
class | AudioCDReader
| A type of AudioFormatReader that reads from an audio CD. More...
class | AudioAppComponent
| A base class for writing audio apps that stream from the audio i/o devices. More...
class | AudioDeviceSelectorComponent
| A component containing controls to let the user change the audio settings of an AudioDeviceManager object. More...
class | AudioThumbnail
| Makes it easy to quickly draw scaled views of the waveform shape of an audio file. More...
class | AudioThumbnailBase
| Provides a base for classes that can store and draw scaled views of an audio waveform. More...
class | AudioThumbnailCache
| An instance of this class is used to manage multiple AudioThumbnail objects. More...
class | AudioVisualiserComponent
| A simple component that can be used to show a scrolling waveform of audio data. More...
class | BluetoothMidiDevicePairingDialogue
| Opens a Bluetooth MIDI pairing dialogue that allows the user to view and connect to Bluetooth MIDI devices that are currently found nearby. More...
class | KeyboardComponentBase
| A base class for drawing a custom MIDI keyboard component. More...
class | MidiKeyboardComponent
| A component that displays a piano keyboard, whose notes can be clicked on. More...
class | MPEKeyboardComponent
| A component that displays an MPE-compatible keyboard, whose notes can be clicked on. More...
class | AudioProcessorPlayer
| An AudioIODeviceCallback object which streams audio through an AudioProcessor. More...
class | SoundPlayer
| A simple sound player that you can add to the AudioDeviceManager to play simple sounds. More...
class | Box2DRenderer
| A simple implementation of the b2Draw class, used to draw a Box2D world. More...
class | AbstractFifo
| Encapsulates the logic required to implement a lock-free FIFO. More...
class | Array
| Holds a resizable array of primitive or copy-by-value objects. More...
class | ArrayAllocationBase
| Implements some basic array storage allocation functions. More...
class | ArrayBase
| A basic object container. More...
class | DynamicObject
| Represents a dynamically implemented object. More...
class | DefaultElementComparator
| A simple ElementComparator class that can be used to sort an array of objects that support the '<' operator. More...
struct | Enumerated
| Returned when dereferencing an EnumerateIterator. More...
class | EnumerateIterator
| An iterator that wraps some other iterator, keeping track of the relative position of that iterator based on calls to arithmetic operators such as operator++(), operator--(), operator+(), and operator-(). More...
class | IteratorPair
| Wraps a pair of iterators, providing member begin() and end() functions that return those iterators. More...
class | FixedSizeFunction< len, Ret(Args...)>
| A type similar to std::function that holds a callable object. More...
struct | DefaultHashFunctions
| A simple class to generate hash functions for some primitive types, intended for use with the HashMap class. More...
class | HashMap
| Holds a set of mappings between some key/value pairs. More...
class | LinkedListPointer
| Helps to manipulate singly-linked lists of objects. More...
class | ListenerList
| Holds a set of objects and can invoke a member function callback on each object in the set with a single call. More...
class | LightweightListenerList
| A lightweight version of the ListenerList that doesn't provide any guarantees when mutating the list from a callback, but allows callbacks to be triggered concurrently without a mutex. More...
class | NamedValue
| Structure for a named var object, used as an element of a NamedValueSet. More...
class | NamedValueSet
| Holds a set of named var objects. More...
class | Optional
| A simple optional type. More...
class | OwnedArray
| An array designed for holding objects. More...
class | PropertySet
| A set of named property values, which can be strings, integers, floating point, etc. More...
class | ReferenceCountedArray
| Holds a list of objects derived from ReferenceCountedObject, or which implement basic reference-count handling methods. More...
class | ScopedValueSetter
| Helper class providing an RAII-based mechanism for temporarily setting and then re-setting a value. More...
class | SingleThreadedAbstractFifo
| Encapsulates the logic for a single-threaded FIFO. More...
class | SortedSet
| Holds a set of unique primitive objects, such as ints or doubles. More...
class | Span
| A non-owning view over contiguous objects stored in an Array or vector or other similar container. More...
class | SparseSet
| Holds a set of primitive values, storing them as a set of ranges. More...
class | var
| A variant class, that can be used to hold a range of primitive values. More...
class | AndroidDocumentInfo
| Some information about a document. More...
class | AndroidDocumentPermission
| Represents a permission granted to an application to read and/or write to a particular document or tree. More...
class | AndroidDocument
| Provides access to a document on Android devices. More...
class | AndroidDocumentIterator
| An iterator that visits child documents in a directory. More...
class | File
| Represents a local file or directory. More...
class | FileFilter
| Interface for deciding which files are suitable for something. More...
class | FileInputStream
| An input stream that reads from a local file. More...
class | FileOutputStream
| An output stream that writes into a local file. More...
class | FileSearchPath
| Represents a set of folders that make up a search path. More...
class | MemoryMappedFile
| Maps a file into virtual memory for easy reading and/or writing. More...
class | DirectoryEntry
| Describes the attributes of a file or folder. More...
class | RangedDirectoryIterator
| Allows iterating over files and folders using C++11 range-for syntax. More...
class | TemporaryFile
| Manages a temporary file, which will be deleted when this object is deleted. More...
class | WildcardFileFilter
| A type of FileFilter that works by wildcard pattern matching. More...
class | JSON
| Contains static methods for converting JSON-formatted text to and from var objects. More...
class | ToVarOptions
| Options that control conversion from arbitrary types to juce::var. More...
class | ToVar
| Allows converting an object of arbitrary type to var. More...
class | FromVar
| Allows converting a var to an object of arbitrary type. More...
struct | VariantConverter
| This template-overloaded class can be used to convert between var and custom types. More...
struct | StrictVariantConverter
| A helper type that can be used to implement specialisations of VariantConverter that use FromVar::convert and ToVar::convert internally. More...
struct | JSONUtils
| A mini namespace to hold utility functions for working with juce::vars. More...
class | FileLogger
| A simple implementation of a Logger that writes to a file. More...
class | Logger
| Acts as an application-wide logging class. More...
class | BigInteger
| An arbitrarily large integer class. More...
class | Expression
| A class for dynamically evaluating simple numeric expressions. More...
struct | MathConstants
| Commonly used mathematical constants. More...
class | Tolerance
| A class encapsulating both relative and absolute tolerances for use in floating-point comparisons. More...
class | NormalisableRange
| Represents a mapping between an arbitrary range of values and a normalised 0->1 range. More...
class | Random
| A random number generator. More...
class | Range
| A general-purpose range object, that simply represents any linear range with a start and end point. More...
class | StatisticsAccumulator
| A class that measures various statistics about a series of floating point values that it is given. More...
struct | Atomic
| A simple wrapper around std::atomic. More...
class | ByteOrder
| Contains static methods for converting the byte order between different endiannesses. More...
struct | ContainerDeletePolicy
| Used by container classes as an indirect way to delete an object of a particular type. More...
class | CopyableHeapBlock
| Wraps a HeapBlock, but additionally provides a copy constructor and remembers its size. More...
class | HeapBlock
| Very simple container class to hold a pointer to some data on the heap. More...
class | HeavyweightLeakedObjectDetector
| This class is a useful way of tracking down hard to find memory leaks when the regular LeakedObjectDetector isn't enough. More...
class | LeakedObjectDetector
| Embedding an instance of this class inside another class can be used as a low-overhead way of detecting leaked instances. More...
class | ScopedAutoReleasePool
| A handy C++ wrapper that creates and deletes an NSAutoreleasePool object using RAII. More...
class | MemoryBlock
| A class to hold a resizable block of raw data. More...
class | OptionalScopedPointer
| Holds a pointer to an object which can optionally be deleted when this pointer goes out of scope. More...
class | ReferenceCountedObject
| A base class which provides methods for reference-counting. More...
class | SingleThreadedReferenceCountedObject
| Adds reference-counting to an object. More...
class | ReferenceCountedObjectPtr
| A smart-pointer class which points to a reference-counted object. More...
struct | Reservoir
| Helper functions for managing buffered readers. More...
class | SharedResourcePointer
| A smart-pointer that automatically creates and manages the lifetime of a shared static instance of a class. More...
struct | SingletonHolder
| Used by the JUCE_DECLARE_SINGLETON macros to manage a static pointer to a singleton instance. More...
class | WeakReference
| This class acts as a pointer which will automatically become null if the object to which it points is deleted. More...
struct | ArgumentList
| Holds a list of command-line arguments, and provides useful methods for searching and operating on them. More...
struct | ConsoleApplication
| Represents a the set of commands that a console app can perform, and provides helper functions for performing them. More...
struct | NullCheckedInvocation
| Some helper methods for checking a callable object before invoking with the specified arguments. More...
class | OptionsBuilder
| A base class for building Options. More...
struct | OrderedContainerHelpers
| A helper struct providing functions for managing sorted containers. More...
class | Result
| Represents the 'success' or 'failure' of an operation, and holds an associated error message to describe the error when there's a failure. More...
class | RuntimePermissions
struct | ScopeGuard
| An easy way to ensure that a function is called at the end of the current scope. More...
class | ErasedScopeGuard
| A ScopeGuard that uses a std::function internally to allow type erasure. More...
class | Uuid
| A universally unique 128-bit identifier. More...
class | WindowsRegistry
| Contains some static helper functions for manipulating the MS Windows registry (Only available on Windows, of course!). More...
class | IPAddress
| Represents an IP address. More...
class | MACAddress
| Represents a MAC network card adapter address ID. More...
class | NamedPipe
| A cross-process pipe that can have data written to and read from it. More...
class | SocketOptions
| Options used for the configuration of the underlying system socket in the StreamingSocket and DatagramSocket classes. More...
class | StreamingSocket
| A wrapper for a streaming (TCP) socket. More...
class | DatagramSocket
| A wrapper for a datagram (UDP) socket. More...
class | URL
| Represents a URL and has a bunch of useful functions to manipulate it. More...
class | WebInputStream
| An InputStream which can be used to read from a given URL. More...
struct | SerialisationTraits
| Allows serialisation functions to be attached to a specific type without having to modify the declaration of that type. More...
struct | Named
| Combines an object with a name. More...
struct | SerialisationSize
| Holds a reference to some kind of size value, used to indicate that an object being marshalled is of variable size (e.g. More...
class | AndroidDocumentInputSource
| An InputSource backed by an AndroidDocument. More...
class | BufferedInputStream
| Wraps another input stream, and reads from it using an intermediate buffer. More...
class | FileInputSource
| A type of InputSource that represents a normal file. More...
class | InputSource
| A lightweight object that can create a stream to read some kind of resource. More...
class | InputStream
| The base class for streams that read data. More...
class | MemoryInputStream
| Allows a block of data to be accessed as a stream. More...
class | MemoryOutputStream
| Writes data to an internal memory buffer, which grows as required. More...
class | OutputStream
| The base class for streams that write data to some kind of destination. More...
class | SubregionStream
| Wraps another input stream, and reads from a specific part of it. More...
class | URLInputSource
| A type of InputSource that represents a URL. More...
class | SystemStats
| Contains methods for finding out about the current hardware and OS configuration. More...
struct | Base64
| Contains some static methods for converting between binary and the standard base-64 encoding format. More...
class | CharacterFunctions
| A collection of functions for manipulating characters and character strings. More...
class | CharPointer_ASCII
| Wraps a pointer to a null-terminated ASCII character string, and provides various methods to operate on the data. More...
class | CharPointer_UTF16
| Wraps a pointer to a null-terminated UTF-16 character string, and provides various methods to operate on the data. More...
class | CharPointer_UTF32
| Wraps a pointer to a null-terminated UTF-32 character string, and provides various methods to operate on the data. More...
class | CharPointer_UTF8
| Wraps a pointer to a null-terminated UTF-8 character string, and provides various methods to operate on the data. More...
class | Identifier
| Represents a string identifier, designed for accessing properties by name. More...
class | LocalisedStrings
| Used to convert strings to localised foreign-language versions. More...
class | NewLine
| This class is used for represent a new-line character sequence. More...
class | String
| The JUCE String class! More...
class | StringArray
| A special array for holding a list of strings. More...
class | StringPairArray
| A container for holding a set of strings which are keyed by another string. More...
class | StringPool
| A StringPool holds a set of shared strings, which reduces storage overheads and improves comparison speed when dealing with many duplicate strings. More...
class | StringRef
| A simple class for holding temporary references to a string literal or String. More...
class | TextDiff
| Calculates and applies a sequence of changes to convert one text string into another. More...
class | ChildProcess
| Launches and monitors a child process. More...
class | CriticalSection
| A re-entrant mutex. More...
class | DummyCriticalSection
| A class that can be used in place of a real CriticalSection object, but which doesn't perform any locking. More...
class | DynamicLibrary
| Handles the opening and closing of DLLs. More...
class | HighResolutionTimer
| A high-resolution periodic timer. More...
class | InterProcessLock
| Acts as a critical section which processes can use to block each other. More...
class | Process
| Represents the current executable's process. More...
class | ReadWriteLock
| A critical section that allows multiple simultaneous readers. More...
class | GenericScopedLock
| Automatically locks and unlocks a mutex object. More...
class | GenericScopedUnlock
| Automatically unlocks and re-locks a mutex object. More...
class | GenericScopedTryLock
| Automatically locks and unlocks a mutex object. More...
class | ScopedReadLock
| Automatically locks and unlocks a ReadWriteLock object. More...
class | ScopedTryReadLock
| Automatically locks and unlocks a ReadWriteLock object. More...
class | ScopedWriteLock
| Automatically locks and unlocks a ReadWriteLock object. More...
class | ScopedTryWriteLock
| Automatically locks and unlocks a ReadWriteLock object. More...
class | SpinLock
| A simple spin-lock class that can be used as a simple, low-overhead mutex for uncontended situations. More...
class | Thread
| Encapsulates a thread. More...
class | ThreadLocalValue
| Provides cross-platform support for thread-local objects. More...
class | ThreadPoolJob
| A task that is executed by a ThreadPool object. More...
struct | ThreadPoolOptions
| A set of threads that will run a list of jobs. More...
class | ThreadPool
| A set of threads that will run a list of jobs. More...
class | TimeSliceClient
| Used by the TimeSliceThread class. More...
class | TimeSliceThread
| A thread that keeps a list of clients, and calls each one in turn, giving them all a chance to run some sort of short task. More...
class | WaitableEvent
| Allows threads to wait for events triggered by other threads. More...
class | PerformanceCounter
| A timer for measuring performance of code and dumping the results to a file. More...
class | ScopedTimeMeasurement
| Simple RAII class for measuring the time spent in a scope. More...
class | RelativeTime
| A relative measure of time. More...
class | Time
| Holds an absolute date and time. More...
class | TimedDiagnostic
| An object for storing and measuring durations for diagnostic purposes. More...
class | UnitTest
| This is a base class for classes that perform a unit test. More...
class | UnitTestRunner
| Runs a set of unit tests. More...
class | XmlDocument
| Parses a text-based XML document and creates an XmlElement object from it. More...
struct | XmlAttribute
| A name-value pair representing an attribute of an XML tag. More...
class | XmlElement
| Used to build a tree of elements representing an XML document. More...
class | GZIPCompressorOutputStream
| A stream which uses zlib to compress the data written into it. More...
class | GZIPDecompressorInputStream
| This stream will decompress a source-stream using zlib. More...
class | ZipFile
| Decodes a ZIP file from a stream. More...
class | BlowFish
| BlowFish encryption class. More...
class | Primes
| Prime number creation class. More...
class | RSAKey
| RSA public/private key-pair encryption class. More...
class | MD5
| MD5 checksum class. More...
class | SHA256
| SHA-256 secure hash generator. More...
class | Whirlpool
| Whirlpool hash class. More...
class | ApplicationProperties
| Manages a collection of properties. More...
class | PropertiesFile
| Wrapper on a file that stores a list of key/value data pairs. More...
class | UndoableAction
| Used by the UndoManager class to store an action which can be done and undone. More...
class | UndoManager
| Manages a list of undo/redo commands. More...
class | CachedValue
| This class acts as a typed wrapper around a property inside a ValueTree. More...
class | Value
| Represents a shared variant value. More...
class | ValueTree
| A powerful tree structure that can be used to hold free-form data, and which can handle its own undo and redo behaviour. More...
class | ValueTreePropertyWithDefault
| This class acts as a wrapper around a property inside a ValueTree. More...
class | ValueTreeSynchroniser
| This class can be used to watch for all changes to the state of a ValueTree, and to convert them to a transmittable binary encoding. More...
class | ActionBroadcaster
| Manages a list of ActionListeners, and can send them messages. More...
class | ActionListener
| Interface class for delivery of events that are sent by an ActionBroadcaster. More...
class | AsyncUpdater
| Has a callback method that is triggered asynchronously. More...
class | ChangeBroadcaster
| Holds a list of ChangeListeners, and sends messages to them when instructed. More...
class | ChangeListener
| Receives change event callbacks that are sent out by a ChangeBroadcaster. More...
class | LockingAsyncUpdater
| A bit like an AsyncUpdater, but guarantees that after cancelPendingUpdate() returns, the async function will never be called until triggerAsyncUpdate() is called again. More...
class | ChildProcessManager
| Manages a set of ChildProcesses and periodically checks their return value. More...
class | ChildProcessWorker
| Acts as the worker end of a coordinator/worker pair of connected processes. More...
class | ChildProcessCoordinator
| Acts as the coordinator in a coordinator/worker pair of connected processes. More...
class | InterprocessConnection
| Manages a simple two-way messaging connection to another process, using either a socket or a named pipe as the transport medium. More...
class | InterprocessConnectionServer
| An object that waits for client sockets to connect to a port on this host, and creates InterprocessConnection objects for each one. More...
struct | NetworkServiceDiscovery
| Contains classes that implement a simple protocol for broadcasting the availability and location of a discoverable service on the local network, and for maintaining a list of known services. More...
class | JUCEApplicationBase
| Abstract base class for application classes. More...
class | CallbackMessage
| A message that invokes a callback method when it gets delivered. More...
class | DeletedAtShutdown
| Classes derived from this will be automatically deleted when the application exits. More...
class | ScopedJuceInitialiser_GUI
| A utility object that helps you initialise and shutdown JUCE correctly using an RAII pattern. More...
class | Message
| The base class for objects that can be sent to a MessageListener. More...
class | MessageListener
| MessageListener subclasses can post and receive Message objects. More...
class | MessageManager
| This class is in charge of the application's event-dispatch loop. More...
class | MessageManagerLock
| Used to make sure that the calling thread has exclusive access to the message loop. More...
class | MountedVolumeListChangeDetector
| An instance of this class will provide callbacks when drives are mounted or unmounted on the system. More...
class | MultiTimer
| A type of timer class that can run multiple timers with different frequencies, all of which share a single callback. More...
class | TimedCallback
| Utility class wrapping a single non-null callback called by a Timer. More...
class | Timer
| Makes repeated callbacks to a virtual method at a specified time interval. More...
class | Colour
| Represents a colour, also including a transparency value. More...
class | ColourGradient
| Describes the layout and colours that should be used to paint a colour gradient. More...
class | FillType
| Represents a colour or fill pattern to use for rendering paths. More...
class | PixelARGB
| Represents a 32-bit INTERNAL pixel with premultiplied alpha, and can perform compositing operations with it. More...
class | PixelRGB
| Represents a 24-bit RGB pixel, and can perform compositing operations on it. More...
class | PixelAlpha
| Represents an 8-bit single-channel pixel, and can perform compositing operations on it. More...
class | Graphics
| A graphics context, used for drawing a component or image. More...
class | LowLevelGraphicsContext
| Interface class for graphics context objects, used internally by the Graphics class. More...
class | LowLevelGraphicsSoftwareRenderer
| A lowest-common-denominator implementation of LowLevelGraphicsContext that does all its rendering in memory. More...
struct | DropShadow
| Defines a drop-shadow effect. More...
class | DropShadowEffect
| An effect filter that adds a drop-shadow behind the image's content. More...
class | GlowEffect
| A component effect that adds a coloured blur around the component's contents. More...
class | ImageEffectFilter
| A graphical effect filter that can be applied to components. More...
class | AttributedString
| A text string with a set of colour/font settings that are associated with sub-ranges of the text. More...
class | Font
| Represents a particular font, including its size, style, etc. More...
class | FontFeatureTag
| Represents a single OpenType font feature. More...
class | FontFeatureSetting
| Represents a single OpenType font feature setting. More...
class | FontOptions
| Options that describe a particular font. More...
class | PositionedGlyph
| A glyph from a particular font, with a particular size, style, typeface and position. More...
class | GlyphArrangement
| A set of glyphs, each with a position. More...
class | GlyphArrangementOptions
| Options that can be used to affect the layout produced by GlyphArrangement::addFittedText. More...
class | TextLayout
| A Pre-formatted piece of text, which may contain multiple fonts and colours. More...
struct | ColourLayer
| A single path-based layer of a colour glyph. More...
struct | ImageLayer
| A bitmap representing (part of) a glyph, most commonly used to represent colour emoji glyphs. More...
struct | GlyphLayer
| A single layer that makes up part of a glyph image. More...
struct | TypefaceMetrics
| Font metrics using JUCE conventions. More...
class | Typeface
| A typeface represents a size-independent font. More...
class | AffineTransform
| Represents a 2D affine-transformation matrix. More...
class | BorderSize
| Specifies a set of gaps to be left around the sides of a rectangle. More...
class | EdgeTable
| A table of horizontal scan-line segments - used for rasterising Paths. More...
class | Line
| Represents a line. More...
class | Parallelogram
| Represents a parallelogram that is defined by 3 points. More...
class | Path
| A path is a sequence of lines and curves that may either form a closed shape or be open-ended. More...
class | PathFlatteningIterator
| Flattens a Path object into a series of straight-line sections. More...
class | PathStrokeType
| Describes a type of stroke used to render a solid outline along a path. More...
class | Point
| A pair of (x, y) coordinates. More...
class | Rectangle
| Manages a rectangle and allows geometric operations to be performed on it. More...
class | RectangleList
| Maintains a set of rectangles as a complex region. More...
class | Image
| Holds a fixed-size bitmap. More...
class | ImagePixelDataBackupExtensions
| The methods on this interface allow clients of ImagePixelData to query and control the automatic-backup process from graphics memory to main memory, if this mechanism is relevant and supported. More...
class | ImagePixelData
| This is a base class for holding image data in implementation-specific ways. More...
class | ImageType
| This base class is for handlers that control a type of image manipulation format, e.g. More...
class | SoftwareImageType
| An image storage type which holds the pixels in-memory as a simple block of values. More...
class | NativeImageType
| An image storage type which holds the pixels using whatever is the default storage format on the current platform. More...
class | ImageCache
| A global cache of images that have been loaded from files or memory. More...
class | ImageConvolutionKernel
| Represents a filter kernel to use in convoluting an image. More...
class | ImageFileFormat
| Base-class for codecs that can read and write image file formats such as PNG, JPEG, etc. More...
class | PNGImageFormat
| A subclass of ImageFileFormat for reading and writing PNG files. More...
class | JPEGImageFormat
| A subclass of ImageFileFormat for reading and writing JPEG files. More...
class | GIFImageFormat
| A subclass of ImageFileFormat for reading GIF files. More...
class | ImagePixelDataNativeExtensions
class | ScaledImage
| An image that will be resampled before it is drawn. More...
class | Justification
| Represents a type of justification to be used when positioning graphical items. More...
class | RectanglePlacement
| Defines the method used to position some kind of rectangular object within a rectangular viewport. More...
class | AccessibilityActions
| A simple wrapper for building a collection of supported accessibility actions and corresponding callbacks for a UI element. More...
class | AccessibilityCellInterface
| An abstract interface which represents a UI element that supports a cell interface. More...
class | AccessibilityTableInterface
| An abstract interface which represents a UI element that supports a table interface. More...
class | AccessibilityTextInterface
| An abstract interface which represents a UI element that supports a text interface. More...
class | AccessibilityValueInterface
| An abstract interface representing the value of an accessibility element. More...
class | AccessibilityTextValueInterface
| A value interface that represents a text value. More...
class | AccessibilityNumericValueInterface
| A value interface that represents a non-ranged numeric value. More...
class | AccessibilityRangedNumericValueInterface
| A value interface that represents a ranged numeric value. More...
class | AccessibilityHandler
| Base class for accessible Components. More...
class | AccessibleState
| Represents the state of an accessible UI element. More...
class | JUCEApplication
| An instance of this class is used to specify initialisation and shutdown code for the application. More...
class | ArrowButton
| A button with an arrow in it. More...
class | Button
| A base class for buttons. More...
class | DrawableButton
| A button that displays a Drawable. More...
class | HyperlinkButton
| A button showing an underlined weblink, that will launch the link when it's clicked. More...
class | ImageButton
| As the title suggests, this is a button containing an image. More...
class | ShapeButton
| A button that contains a filled shape. More...
class | TextButton
| A button that uses the standard lozenge-shaped background with a line of text on it. More...
class | ToggleButton
| A button that can be toggled on/off. More...
class | ToolbarButton
| A type of button designed to go on a toolbar. More...
struct | ApplicationCommandInfo
| Holds information describing an application command. More...
class | ApplicationCommandManager
| One of these objects holds a list of all the commands your app can perform, and despatches these commands when needed. More...
class | ApplicationCommandManagerListener
| A listener that receives callbacks from an ApplicationCommandManager when commands are invoked or the command list is changed. More...
class | ApplicationCommandTarget
| A command target publishes a list of command IDs that it can perform. More...
class | KeyPressMappingSet
| Manages and edits a list of keypresses, which it uses to invoke the appropriate command in an ApplicationCommandManager. More...
class | CachedComponentImage
| Base class used internally for structures that can store cached images of component state. More...
class | Component
| The base class for all JUCE user-interface objects. More...
struct | ComponentPaintDiagnostics
| Holds timing and cache usage information for a Component's paint operation. More...
class | ComponentListener
| Gets informed about changes to a component's hierarchy or position. More...
class | ComponentTraverser
| Base class for traversing components. More...
class | FocusTraverser
| Controls the order in which focus moves between components. More...
class | ModalComponentManager
| Manages the system's stack of modal components. More...
class | ModalCallbackFunction
| This class provides some handy utility methods for creating ModalComponentManager::Callback objects that will invoke a static function with some parameters when a modal component is dismissed. More...
class | FocusChangeListener
| Classes can implement this interface and register themselves with the Desktop class to receive callbacks when the currently focused component changes. More...
class | DarkModeSettingListener
| Classes can implement this interface and register themselves with the Desktop class to receive callbacks when the operating system dark mode setting changes. More...
class | Desktop
| Describes and controls aspects of the computer's desktop. More...
class | Displays
| Manages details about connected display devices. More...
class | Drawable
| The base class for objects which can draw themselves, e.g. More...
class | DrawableComposite
| A drawable object which acts as a container for a set of other Drawables. More...
class | DrawableImage
| A drawable object which is a bitmap image. More...
class | DrawablePath
| A drawable object which renders a filled or outlined shape. More...
class | DrawableRectangle
| A Drawable object which draws a rectangle. More...
class | DrawableShape
| A base class implementing common functionality for Drawable classes which consist of some kind of filled and stroked outline. More...
class | DrawableText
| A drawable object which renders a line of text. More...
class | ContentSharer
| Functions that allow sharing content between apps and devices. More...
class | DirectoryContentsDisplayComponent
| A base class for components that display a list of the files in a directory. More...
class | DirectoryContentsList
| A class to asynchronously scan for details about the files in a directory. More...
class | FileBrowserComponent
| A component for browsing and selecting a file or directory to open or save. More...
class | FileBrowserListener
| A listener for user selection events in a file browser. More...
class | FileChooser
| Creates a dialog box to choose a file or directory to load or save. More...
class | FileChooserDialogBox
| A file open/save dialog box. More...
class | FileListComponent
| A component that displays the files in a directory as a listbox. More...
class | FilenameComponentListener
| Listens for events happening to a FilenameComponent. More...
class | FilenameComponent
| Shows a filename as an editable text box, with a 'browse' button and a drop-down list for recently selected files. More...
class | FilePreviewComponent
| Base class for components that live inside a file chooser dialog box and show previews of the files that get selected. More...
class | FileSearchPathListComponent
| Shows a set of file paths in a list, allowing them to be added, removed or re-ordered. More...
class | FileTreeComponent
| A component that displays the files in a directory as a treeview. More...
class | ImagePreviewComponent
| A simple preview component that shows thumbnails of image files. More...
class | CaretComponent
class | KeyboardFocusTraverser
| Controls the order in which keyboard focus moves between components. More...
class | KeyListener
| Receives callbacks when keys are pressed. More...
class | KeyPress
| Represents a key press, including any modifier keys that are needed. More...
class | ModifierKeys
| Represents the state of the mouse buttons and modifier keys. More...
class | SystemClipboard
| Handles reading/writing to the system's clipboard. More...
struct | TextEditorKeyMapper
| This class is used to invoke a range of text-editor navigation methods on an object, based upon a keypress event. More...
class | TextInputTarget
| An abstract base class which can be implemented by components that function as text editors. More...
class | AnimatedPosition
| Models a 1-dimensional position that can be dragged around by the user, and which will then continue moving with a customisable physics behaviour when released. More...
class | BorderedComponentBoundsConstrainer
| A ComponentBoundsConstrainer that can be used to add a constant border onto another ComponentBoundsConstrainer. More...
class | ComponentAnimator
| This class has been superseded, it is now recommended you use the Animator class in the juce_animation module. More...
class | ComponentBoundsConstrainer
| A class that imposes restrictions on a Component's size or position. More...
class | ComponentBuilder
| Loads and maintains a tree of Components from a ValueTree that represents them. More...
class | ComponentMovementWatcher
| An object that watches for any movement of a component or any of its parent components. More...
class | ConcertinaPanel
| A panel which holds a vertical stack of components which can be expanded and contracted. More...
class | FlexBox
| Represents a FlexBox container, which contains and manages the layout of a set of FlexItem objects. More...
class | FlexItem
| Describes the properties of an item inside a FlexBox container. More...
class | Grid
| Container that handles geometry for grid layouts (fixed columns and rows) using a set of declarative rules. More...
class | GridItem
| Defines an item in a Grid. More...
class | GroupComponent
| A component that draws an outline around itself and has an optional title at the top, for drawing an outline around a group of controls. More...
class | MultiDocumentPanelWindow
| This is a derivative of DocumentWindow that is used inside a MultiDocumentPanel component. More...
class | MultiDocumentPanel
| A component that contains a set of other components either in floating windows or tabs. More...
class | ResizableBorderComponent
| A component that resizes its parent component when dragged. More...
class | ResizableCornerComponent
| A component that resizes a parent component when dragged. More...
class | ResizableEdgeComponent
| A component that resizes its parent component when dragged. More...
class | ScrollBar
| A scrollbar component. More...
class | SidePanel
| A component that is positioned on either the left- or right-hand side of its parent, containing a header and some content. More...
class | StretchableLayoutManager
| For laying out a set of components, where the components have preferred sizes and size limits, but where they are allowed to stretch to fill the available space. More...
class | StretchableLayoutResizerBar
| A component that acts as one of the vertical or horizontal bars you see being used to resize panels in a window. More...
class | StretchableObjectResizer
| A utility class for fitting a set of objects whose sizes can vary between a minimum and maximum size, into a space. More...
class | TabBarButton
| In a TabbedButtonBar, this component is used for each of the buttons. More...
class | TabbedButtonBar
| A vertical or horizontal bar containing tabs that you can select. More...
class | TabbedComponent
| A component with a TabbedButtonBar along one of its sides. More...
class | Viewport
| A Viewport is used to contain a larger child component, and allows the child to be automatically scrolled around. More...
struct | ExtraLookAndFeelBaseClasses
| This class is used to hold a few look and feel base classes which are associated with classes that may not be present because they're from modules other than juce_gui_basics. More...
class | LookAndFeel
| LookAndFeel objects define the appearance of all the JUCE widgets, and subclasses can be used to apply different 'skins' to the application. More...
class | LookAndFeel_V1
| The original JUCE look-and-feel, as used back from 2002 to about 2007ish. More...
class | LookAndFeel_V2
| This LookAndFeel subclass implements the juce style from around 2008-12. More...
class | LookAndFeel_V3
| The latest JUCE look-and-feel style, as introduced in 2013. More...
class | LookAndFeel_V4
| The latest JUCE look-and-feel style, as introduced in 2017. More...
class | BurgerMenuComponent
| A component which lists all menu items and groups them into categories by their respective parent menus. More...
class | MenuBarComponent
| A menu bar component. More...
class | MenuBarModel
| A class for controlling MenuBar components. More...
class | PopupMenu
| Creates and displays a popup-menu. More...
class | BubbleComponent
| A component for showing a message or other graphics inside a speech-bubble-shaped outline, pointing at a location on the screen. More...
class | DropShadower
| Adds a drop-shadow to a component. More...
class | FocusOutline
| Adds a focus outline to a component. More...
class | ComponentDragger
| An object to take care of the logic for dragging components around with the mouse. More...
class | DragAndDropContainer
| Enables drag-and-drop behaviour for a component and all its sub-components. More...
class | DragAndDropTarget
| Components derived from this class can have things dropped onto them by a DragAndDropContainer. More...
class | FileDragAndDropTarget
| Components derived from this class can have files dropped onto them by an external application. More...
class | LassoSource
| A class used by the LassoComponent to manage the things that it selects. More...
class | LassoComponent
| A component that acts as a rectangular selection region, which you drag with the mouse to select groups of objects (in conjunction with a SelectedItemSet). More...
class | MouseCursor
| Represents a mouse cursor image. More...
class | MouseEvent
| Contains position and status information about a mouse event. More...
struct | MouseWheelDetails
| Contains status information about a mouse wheel event. More...
struct | PenDetails
| Contains status information about a pen event. More...
class | MouseInactivityDetector
| This object watches for mouse-events happening within a component, and if the mouse remains still for long enough, triggers an event to indicate that it has become inactive. More...
class | MouseInputSource
| Represents a linear source of mouse events from a mouse device or individual finger in a multi-touch environment. More...
class | MouseListener
| A MouseListener can be registered with a component to receive callbacks about mouse events that happen to that component. More...
class | SelectedItemSet
| Manages a list of selectable items. More...
class | TextDragAndDropTarget
| Components derived from this class can have text dropped onto them by an external application. More...
class | TooltipClient
| Components that want to use pop-up tooltips should implement this interface. More...
class | SettableTooltipClient
| An implementation of TooltipClient that stores the tooltip string and a method for changing it. More...
class | MarkerList
| Holds a set of named marker points along a one-dimensional axis. More...
class | RelativeCoordinate
| Expresses a coordinate as a dynamically evaluated expression. More...
class | RelativeCoordinatePositionerBase
| Base class for Component::Positioners that are based upon relative coordinates. More...
class | RelativeParallelogram
| A parallelogram defined by three RelativePoint positions. More...
class | RelativePoint
| An X-Y position stored as a pair of RelativeCoordinate values. More...
class | RelativePointPath
| A path object that consists of RelativePoint coordinates rather than the normal fixed ones. More...
class | RelativeRectangle
| A rectangle stored as a set of RelativeCoordinate values. More...
class | BooleanPropertyComponent
| A PropertyComponent that contains an on/off toggle button. More...
class | ButtonPropertyComponent
| A PropertyComponent that contains a button. More...
class | ChoicePropertyComponent
| A PropertyComponent that shows its value as a combo box. More...
class | MultiChoicePropertyComponent
| A PropertyComponent that shows its value as an expandable list of ToggleButtons. More...
class | PropertyComponent
| A base class for a component that goes in a PropertyPanel and displays one of an item's properties. More...
class | PropertyPanel
| A panel that holds a list of PropertyComponent objects. More...
class | SliderPropertyComponent
| A PropertyComponent that shows its value as a slider. More...
class | TextPropertyComponent
| A PropertyComponent that shows its value as editable text. More...
class | ComboBox
| A component that lets the user choose from a drop-down list of choices. More...
class | ImageComponent
| A component that simply displays an image. More...
class | Label
| A component that displays a text string, and can optionally become a text editor when clicked. More...
class | ListBoxModel
| A subclass of this is used to drive a ListBox. More...
class | ListBox
| A list of items that can be scrolled vertically. More...
class | ProgressBar
| A progress bar component. More...
class | SliderListener
| A class for receiving callbacks from a Slider or WebSliderRelay. More...
class | Slider
| A slider control for changing a value. More...
class | TableHeaderComponent
| A component that displays a strip of column headings for a table, and allows these to be resized, dragged around, etc. More...
class | TableListBoxModel
| One of these is used by a TableListBox as the data model for the table's contents. More...
class | TableListBox
| A table of cells, using a TableHeaderComponent as its header. More...
class | TextEditor
| An editable text box. More...
class | Toolbar
| A toolbar component. More...
class | ToolbarItemComponent
| A component that can be used as one of the items in a Toolbar. More...
class | ToolbarItemFactory
| A factory object which can create ToolbarItemComponent objects. More...
class | ToolbarItemPalette
| A component containing a list of toolbar items, which the user can drag onto a toolbar to add them. More...
class | TreeViewItem
| An item in a TreeView. More...
class | TreeView
| A tree-view component. More...
class | AlertWindow
| A window that displays a message and has buttons for the user to react to it. More...
class | CallOutBox
| A box with a small arrow that can be used as a temporary pop-up window to show extra controls when a button or other component is clicked. More...
class | ComponentPeer
| The Component class uses a ComponentPeer internally to create and manage a real operating-system window. More...
class | DialogWindow
| A dialog-box style window. More...
class | DocumentWindow
| A resizable window with a title bar and maximise, minimise and close buttons. More...
class | MessageBoxOptions
| Class used to create a set of options to pass to the AlertWindow and NativeMessageBox methods for showing dialog boxes. More...
class | NativeMessageBox
| This class contains some static methods for showing native alert windows. More...
class | NativeScaleFactorNotifier
| Calls a function every time the native scale factor of a component's peer changes. More...
class | ResizableWindow
| A base class for top-level windows that can be dragged around and resized. More...
class | ScopedMessageBox
| Objects of this type can be used to programmatically close message boxes. More...
class | ThreadWithProgressWindow
| A thread that automatically pops up a modal dialog box with a progress bar and cancel button while it's busy running. More...
class | TooltipWindow
| A window that displays a pop-up tooltip when the mouse hovers over another component. More...
class | TopLevelWindow
| A base class for top-level windows. More...
class | VBlankAttachment
| Helper class to synchronise Component updates to the vertical blank event of the display that the Component is presented on. More...
struct | WindowUtils
| Windowing helper functions. More...
class | CodeDocument
| A class for storing and manipulating a source code file. More...
class | CodeEditorComponent
| A text editor component designed specifically for source code. More...
class | CodeTokeniser
| A base class for tokenising code so that the syntax can be displayed in a code editor. More...
class | CPlusPlusCodeTokeniser
| A simple lexical analyser for syntax colouring of C++ code. More...
struct | CppTokeniserFunctions
| Class containing some basic functions for simple tokenising of C++ code. More...
class | LuaTokeniser
class | XmlTokeniser
class | FileBasedDocument
| A class to take care of the logic involved with the loading/saving of some kind of document. More...
class | ActiveXControlComponent
| A Windows-specific class that can create and embed an ActiveX control inside itself. More...
class | AndroidViewComponent
| An Android-specific class that can create and embed a View inside itself. More...
class | HWNDComponent
| A Windows-specific class that can create and embed a HWND inside itself. More...
class | NSViewComponent
| A Mac-specific class that can create and embed an NSView inside itself. More...
class | UIViewComponent
| An iOS-specific class that can create and embed an UIView inside itself. More...
class | XEmbedComponentOptions
| Options for constructing an XEmbedComponent. More...
class | XEmbedComponent
| A Linux-specific class that can embed a foreign X11 widget. More...
class | AnimatedAppComponent
| A base class for writing simple one-page graphical apps. More...
class | AppleRemoteDevice
| Receives events from an Apple IR remote control device (Only available in OSX!). More...
class | BubbleMessageComponent
| A speech-bubble component that displays a short message. More...
class | ColourSelector
| A component that lets the user choose a colour. More...
class | KeyMappingEditorComponent
| A component to allow editing of the keymaps stored by a KeyPressMappingSet object. More...
class | PreferencesPanel
| A component with a set of buttons at the top for changing between pages of preferences. More...
class | PushNotifications
| Singleton class responsible for push notifications functionality. More...
class | RecentlyOpenedFilesList
| Manages a set of files for use as a list of recently-opened documents. More...
class | SplashScreen
| A component for showing a splash screen while your app starts up. More...
class | SystemTrayIconComponent
| This component sits in the taskbar tray as a small icon. More...
class | WebViewLifetimeListener
| Type for a listener registered with WebBrowserComponent::Options::withWebViewLifetimeListener. More...
class | WebBrowserComponent
| A component that displays an embedded web browser. More...
class | WebControlParameterIndexReceiver
| This is a helper class for implementing AudioProcessorEditor::getControlParameterIndex with GUIs using a WebBrowserComponent. More...
class | WebSliderRelay
| Helper class that relays audio parameter information to an object inside a WebBrowserComponent. More...
class | WebToggleButtonRelay
| Helper class that relays audio parameter information to an object inside a WebBrowserComponent. More...
class | WebComboBoxRelay
| Helper class that relays audio parameter information to an object inside a WebBrowserComponent. More...
class | JavascriptEngine
| This class is a wrapper around QuickJS, an ES2023 compliant, embeddable javascript engine. More...
class | JSCursor
| A high-level wrapper around an owning root JSObject and a hierarchical path relative to it. More...
class | JSObject
| A JSObject represents an owning reference to the underlying JS object, meaning it will remain valid even if a subsequent script execution deletes other handles to it. More...
class | Draggable3DOrientation
| Stores a 3D orientation, which can be rotated by dragging with the mouse. More...
class | Matrix3D
| A 4x4 3D transformation matrix. More...
class | Quaternion
| Holds a quaternion (a 3D vector and a scalar value). More...
class | Vector3D
| A three-coordinate vector. More...
class | OpenGLContext
| Creates an OpenGL context, which can be attached to a component. More...
class | OpenGLFrameBuffer
| Creates an openGL frame buffer. More...
struct | OpenGLGraphicsContextCustomShader
| Used to create custom shaders for use with an openGL 2D rendering context. More...
class | OpenGLHelpers
| A set of miscellaneous openGL helper functions. More...
class | OpenGLImageType
| A type of ImagePixelData that stores its image data in an OpenGL framebuffer, allowing a JUCE Image object to wrap a framebuffer. More...
class | OpenGLPixelFormat
| Represents the various properties of an OpenGL pixel format. More...
class | OpenGLRenderer
| A base class that should be implemented by classes which want to render openGL on a background thread. More...
class | OpenGLShaderProgram
| Manages an OpenGL shader program. More...
class | OpenGLTexture
| Creates an openGL texture from an Image. More...
class | OpenGLAppComponent
| A base class for writing simple one-page graphical apps. More...
class | OSCAddress
| An OSC address. More...
class | OSCAddressPattern
| An OSC address pattern. More...
class | OSCArgument
| An OSC argument. More...
class | OSCBundle
| An OSC bundle. More...
class | OSCMessage
| An OSC Message. More...
class | OSCReceiver
| A class for receiving OSC data. More...
class | OSCSender
| An OSC message sender. More...
class | OSCTimeTag
| An OSC time tag. More...
class | OSCTypes
| The definitions of supported OSC types and their associated OSC type tags, as defined in the OpenSoundControl 1.0 specification. More...
struct | OSCColour
| Holds a 32-bit RGBA colour for passing to and from an OSCArgument. More...
struct | OSCException
| Base class for exceptions that can be thrown by methods in the OSC module. More...
struct | OSCFormatError
| Exception type thrown when the OSC module fails to parse something because of a data format not compatible with the OpenSoundControl 1.0 specification. More...
struct | OSCInternalError
| Exception type thrown in cases of unexpected errors in the OSC module. More...
class | InAppPurchases
| Provides in-app purchase functionality. More...
class | KeyGeneration
| Contains static utilities for generating key-files that can be unlocked by the OnlineUnlockStatus class. More...
class | OnlineUnlockForm
| Acts as a GUI which asks the user for their details, and calls the appropriate methods on your OnlineUnlockStatus object to attempt to register the app. More...
class | OnlineUnlockStatus
| A base class for online unlocking systems. More...
class | TracktionMarketplaceStatus
| An implementation of the OnlineUnlockStatus class which talks to the Tracktion Marketplace server. More...
class | CameraDevice
| Controls any video capture devices that might be available. More...
class | VideoComponent
| A component that can play a movie. More...

## Typedefs

using | AudioSampleBuffer = AudioBuffer<float>
| A multi-channel buffer of 32-bit floating point audio samples.
using | MidiKeyboardStateListener = MidiKeyboardState::Listener
using | WindowedSincInterpolator = Interpolators::WindowedSinc
| An interpolator for resampling a stream of floats using high order windowed (hann) sinc interpolation, recommended for high quality resampling.
using | LagrangeInterpolator = Interpolators::Lagrange
| An interpolator for resampling a stream of floats using 4-point lagrange interpolation.
using | CatmullRomInterpolator = Interpolators::CatmullRom
| An interpolator for resampling a stream of floats using Catmull-Rom interpolation.
using | LinearInterpolator = Interpolators::Linear
| An interpolator for resampling a stream of floats using linear interpolation.
using | ZeroOrderHoldInterpolator = Interpolators::ZeroOrderHold
| An interpolator for resampling a stream of floats using zero order hold interpolation.
template<typename FloatType>
using | LinearSmoothedValue = SmoothedValue <FloatType, ValueSmoothingTypes::Linear>
template<typename ListenerClass>
using | ThreadSafeListenerList = ListenerList<ListenerClass, Array<ListenerClass*, CriticalSection>>
| A thread safe version of the ListenerList class.
using | Nullopt = std::nullopt_t
using | int8 = signed char
| A platform-independent 8-bit signed integer type.
using | uint8 = unsigned char
| A platform-independent 8-bit unsigned integer type.
using | int16 = signed short
| A platform-independent 16-bit signed integer type.
using | uint16 = unsigned short
| A platform-independent 16-bit unsigned integer type.
using | int32 = signed int
| A platform-independent 32-bit signed integer type.
using | uint32 = unsigned int
| A platform-independent 32-bit unsigned integer type.
using | int64 = long long
| A platform-independent 64-bit integer type.
using | uint64 = unsigned long long
| A platform-independent 64-bit unsigned integer type.
using | pointer_sized_int = int
| A signed integer type that's guaranteed to be large enough to hold a pointer without truncating it.
using | pointer_sized_uint = unsigned int
| An unsigned integer type that's guaranteed to be large enough to hold a pointer without truncating it.
template<typename A, typename B>
using | DisableIfSameOrDerived = std::enable_if_t<! std::is_base_of_v<A, std::remove_reference_t<B>>>
| Can be used to disable template constructors that would otherwise cause ambiguity with compiler-generated copy and move constructors.
using | juce_wchar = wchar_t
| A platform-independent 32-bit unicode character type.
using | ScopedLock = CriticalSection::ScopedLockType
| Automatically locks and unlocks a CriticalSection object.
using | ScopedUnlock = CriticalSection::ScopedUnlockType
| Automatically unlocks and re-locks a CriticalSection object.
using | ScopedTryLock = CriticalSection::ScopedTryLockType
| Automatically tries to lock and unlock a CriticalSection object.
using | Years = std::chrono::duration<double, std::ratio<31556952>>
| A type used to store years with double precision.
using | Months = std::chrono::duration<double, std::ratio<2629746>>
| A type used to store months with double precision.
using | Weeks = std::chrono::duration<double, std::ratio<604800>>
| A type used to store weeks with double precision.
using | Days = std::chrono::duration<double, std::ratio<86400>>
| A type used to store days with double precision.
using | Hours = std::chrono::duration<double, std::ratio<3600>>
| A type used to store hours with double precision.
using | Minutes = std::chrono::duration<double, std::ratio<60>>
| A type used to store minutes with double precision.
using | Seconds = std::chrono::duration<double, std::ratio<1>>
| A type used to store seconds with double precision.
using | Milliseconds = std::chrono::duration<double, std::milli>
| A type used to store milliseconds with double precision.
using | Microseconds = std::chrono::duration<double, std::micro>
| A type used to store microseconds with double precision.
using | Nanoseconds = std::chrono::duration<double, std::nano>
| A type used to store nanoseconds with double precision.
using | MessageCallbackFunction = void* (void* userData)
| See MessageManager::callFunctionOnMessageThread() for use of this function type.
using | CommandID = int
| A type used to hold the unique ID for an application command.
using | OSCType = char
| The type used for OSC type tags.
using | OSCTypeList = Array<OSCType>
| The type used for OSC type tag strings.

## Enumerations

enum class | SysexExtractorCallbackKind { notSysex , ongoingSysex , lastSysex }
enum class | WASAPIDeviceMode { shared , exclusive , sharedLowLatency }
| Available modes for the WASAPI audio device. More...
enum class | IncrementRef { no , yes }
enum | NotificationType { dontSendNotification = 0 , sendNotification = 1 , sendNotificationSync , sendNotificationAsync }
| These enums are used in various classes to indicate whether a notification event should be sent out. More...
enum class | TypefaceMetricsKind { legacy , portable }
| Identifiers for different styles of typeface metrics. More...
enum class | AccessibilityActionType { press , toggle , focus , showMenu }
| An action that can be performed by an accessible UI element. More...
enum class | AccessibilityEvent { valueChanged , titleChanged , structureChanged , textSelectionChanged , textChanged , rowSelectionChanged }
| A list of events that can be notified to any subscribed accessibility clients. More...
enum class | AccessibilityRole { button , toggleButton , radioButton , comboBox , image , slider , label , staticText , editableText , menuItem , menuBar , popupMenu , table , tableHeader , column , row , cell , hyperlink , list , listItem , tree , treeItem , progressBar , group , dialogWindow , window , scrollBar , tooltip , splashScreen , ignored , unspecified }
| The list of available roles for an AccessibilityHandler object. More...
enum class | MessageBoxIconType { NoIcon , QuestionIcon , WarningIcon , InfoIcon }
| The type of icon to show in the dialog box. More...

## Functions

template<typename ValueType>
StaticAnimationLimits< ValueType > | makeAnimationLimits (const ValueType &end)
| Creates an instance of StaticAnimationLimits, deducing ValueType from the function argument.
template<typename ValueType>
StaticAnimationLimits< ValueType > | makeAnimationLimits (const ValueType &begin, const ValueType &end)
| Creates an instance of StaticAnimationLimits, deducing ValueType from the function arguments.
template<typename Type>
bool | operator== (const AudioBuffer< Type > &a, const AudioBuffer< Type > &b)
template<typename Type>
bool | operator!= (const AudioBuffer< Type > &a, const AudioBuffer< Type > &b)
std::unique_ptr< AudioProcessor > | createPluginFilterOfType (AudioProcessor::WrapperType type)
void | addDefaultFormatsToManager (AudioPluginFormatManager &)
| Add all standard plugin formats to the AudioPluginFormatManager, with UI support.
void | addHeadlessDefaultFormatsToManager (AudioPluginFormatManager &)
| Add all standard plugin formats to the AudioPluginFormatManager, without UI support.
template<typename Obj, typename Member, typename... Ts>
constexpr Obj | makeARASizedStruct (Member Obj::*member, Ts &&... ts)
void JUCE_API | createARAFactoryAsync (AudioPluginInstance &instance, std::function< void(ARAFactoryWrapper)> cb)
| Calls the provided callback with an ARAFactoryWrapper object obtained from the provided AudioPluginInstance.
static bool | arrayContainsPlugin (const OwnedArray< PluginDescription > &list, const PluginDescription &desc)
template<class ElementType, class ElementComparator>
static void | sortArray (ElementComparator &comparator, ElementType *const array, int firstElement, int lastElement, const bool retainOrderOfEquivalentItems)
| Sorts a range of elements in an array.
template<class ElementType, class ElementComparator>
static int | findInsertIndexInSortedArray (ElementComparator &comparator, ElementType *const array, const ElementType newElement, int firstElement, int lastElement)
| Searches a sorted array of elements, looking for the index at which a specified value should be inserted for it to be in the correct order.
template<typename Begin, typename End = Begin>
constexpr auto | makeRange (Begin begin, End end)
| Given two iterators "begin" and "end", returns an IteratorPair with a member begin() and end() function.
template<typename Range, typename Index = detail::withAdlSize::AdlSignedSize<Range>>
constexpr auto | enumerate (Range &&range, Index startingValue={})
| Given a range and an optional starting offset, returns an IteratorPair that holds EnumerateIterators wrapping the begin() and end() of the range.
template<size_t len, typename T>
bool | operator!= (const FixedSizeFunction< len, T > &fn, std::nullptr_t)
template<size_t len, typename T>
bool | operator!= (std::nullptr_t, const FixedSizeFunction< len, T > &fn)
template<size_t len, typename T>
bool | operator== (const FixedSizeFunction< len, T > &fn, std::nullptr_t)
template<size_t len, typename T>
bool | operator== (std::nullptr_t, const FixedSizeFunction< len, T > &fn)
template<typename Value>
Optional< std::decay_t< Value > > | makeOptional (Value &&v)
template<typename T, typename End>
| Span (T, End) -> Span< std::remove_pointer_t< decltype(detail::toAddress(std::declval< T >()))> >
template<typename T, size_t N>
| Span (T(&)[N]) -> Span< T, N >
template<typename T, size_t N>
| Span (std::array< T, N > &) -> Span< T, N >
template<typename T, size_t N>
| Span (const std::array< T, N > &) -> Span< const T, N >
template<typename Range>
| Span (Range &&r) -> Span< std::remove_pointer_t< decltype(std::data(r))> >
JUCE_API bool | operator== (const var &, const var &)
| Compares the values of two var objects, using the var::equals() comparison.
JUCE_API bool | operator!= (const var &, const var &)
| Compares the values of two var objects, using the var::equals() comparison.
JUCE_API bool | operator< (const var &, const var &)
| Compares the values of two var objects, using the var::equals() comparison.
JUCE_API bool | operator<= (const var &, const var &)
| Compares the values of two var objects, using the var::equals() comparison.
JUCE_API bool | operator> (const var &, const var &)
| Compares the values of two var objects, using the var::equals() comparison.
JUCE_API bool | operator>= (const var &, const var &)
| Compares the values of two var objects, using the var::equals() comparison.
JUCE_API bool | operator== (const var &, const String &)
JUCE_API bool | operator!= (const var &, const String &)
JUCE_API bool | operator== (const var &, const char *)
JUCE_API bool | operator!= (const var &, const char *)
const DirectoryEntry & | operator* (const DirectoryEntry &e) noexcept
| A convenience operator so that the expression *it++ works correctly when it is an instance of RangedDirectoryIterator.
RangedDirectoryIterator | begin (const RangedDirectoryIterator &it)
| Returns the iterator that was passed in.
RangedDirectoryIterator | end (const RangedDirectoryIterator &)
| Returns a default-constructed sentinel value.
bool | juce_isRunningUnderDebugger () noexcept
void | logAssertion (const char *file, int line) noexcept
OutputStream &JUCE_CALLTYPE | operator<< (OutputStream &stream, const BigInteger &value)
| Writes a BigInteger to an OutputStream as a UTF8 decimal string.
template<typename... Types>
void | ignoreUnused (Types &&...) noexcept
| Handy function for avoiding unused variables warning.
template<typename Type, size_t N>
constexpr int | numElementsInArray (Type(&)[N]) noexcept
| Handy function for getting the number of elements in a simple const C array.
template<typename Type>
Type | juce_hypot (Type a, Type b) noexcept
| Using juce_hypot is easier than dealing with the different types of hypot function that are provided by the various platforms and compilers.
template<typename FloatType>
constexpr FloatType | degreesToRadians (FloatType degrees) noexcept
| Converts an angle in degrees to radians.
template<typename FloatType>
constexpr FloatType | radiansToDegrees (FloatType radians) noexcept
| Converts an angle in radians to degrees.
template<typename NumericType>
bool | juce_isfinite (NumericType value) noexcept
| The isfinite() method seems to vary between platforms, so this is a platform-independent function for it.
template<typename Type>
constexpr bool | exactlyEqual (Type a, Type b)
| Equivalent to operator==, but suppresses float-equality warnings.
template<typename Type>
static Tolerance< Type > | absoluteTolerance (Type tolerance)
| Returns a type deduced Tolerance object containing only an absolute tolerance.
template<typename Type>
static Tolerance< Type > | relativeTolerance (Type tolerance)
| Returns a type deduced Tolerance object containing only a relative tolerance.
template<typename Type, std::enable_if_t< std::is_floating_point_v< Type >, int > = 0>
constexpr bool | approximatelyEqual (Type a, Type b, Tolerance< Type > tolerance=Tolerance< Type >{} .withAbsolute(std::numeric_limits< Type >::min()) .withRelative(std::numeric_limits< Type >::epsilon()))
| Returns true if the two floating-point numbers are approximately equal.
template<typename Type, std::enable_if_t<! std::is_floating_point_v< Type >, int > = 0>
constexpr bool | approximatelyEqual (Type a, Type b)
| Special case for non-floating-point types that returns true if both are exactly equal.
template<typename FloatType>
FloatType | nextFloatUp (FloatType value) noexcept
| Returns the next representable value by FloatType in the direction of the largest representable value.
template<typename FloatType>
FloatType | nextFloatDown (FloatType value) noexcept
| Returns the next representable value by FloatType in the direction of the lowest representable value.
template<typename Type>
constexpr Type | jmax (Type a, Type b)
| Returns the larger of two values.
template<typename Type>
constexpr Type | jmax (Type a, Type b, Type c)
| Returns the larger of three values.
template<typename Type>
constexpr Type | jmax (Type a, Type b, Type c, Type d)
| Returns the larger of four values.
template<typename Type>
constexpr Type | jmin (Type a, Type b)
| Returns the smaller of two values.
template<typename Type>
constexpr Type | jmin (Type a, Type b, Type c)
| Returns the smaller of three values.
template<typename Type>
constexpr Type | jmin (Type a, Type b, Type c, Type d)
| Returns the smaller of four values.
template<typename Type>
constexpr Type | jmap (Type value0To1, Type targetRangeMin, Type targetRangeMax)
| Remaps a normalised value (between 0 and 1) to a target range.
template<typename Type>
Type | jmap (Type sourceValue, Type sourceRangeMin, Type sourceRangeMax, Type targetRangeMin, Type targetRangeMax)
| Remaps a value from a source range to a target range.
template<typename Type>
Type | mapToLog10 (Type value0To1, Type logRangeMin, Type logRangeMax)
| Remaps a normalised value (between 0 and 1) to a logarithmic target range.
template<typename Type>
Type | mapFromLog10 (Type valueInLogRange, Type logRangeMin, Type logRangeMax)
| Remaps a logarithmic value in a target range to a normalised value (between 0 and 1).
template<typename Type, typename Size>
Type | findMinimum (const Type *data, Size numValues)
| Scans an array of values, returning the minimum value that it contains.
template<typename Type, typename Size>
Type | findMaximum (const Type *values, Size numValues)
| Scans an array of values, returning the maximum value that it contains.
template<typename Type>
void | findMinAndMax (const Type *values, int numValues, Type &lowest, Type &highest)
| Scans an array of values, returning the minimum and maximum values that it contains.
template<typename Type>
Type | jlimit (Type lowerLimit, Type upperLimit, Type valueToConstrain) noexcept
| Constrains a value to keep it within a given range.
template<typename Type1, typename Type2>
bool | isPositiveAndBelow (Type1 valueToTest, Type2 upperLimit) noexcept
| Returns true if a value is at least zero, and also below a specified upper limit.
template<typename Type>
bool | isPositiveAndBelow (int valueToTest, Type upperLimit) noexcept
template<typename Type1, typename Type2>
bool | isPositiveAndNotGreaterThan (Type1 valueToTest, Type2 upperLimit) noexcept
| Returns true if a value is at least zero, and also less than or equal to a specified upper limit.
template<typename Type>
bool | isPositiveAndNotGreaterThan (int valueToTest, Type upperLimit) noexcept
template<typename Type>
bool | isWithin (Type a, Type b, Type tolerance) noexcept
| Computes the absolute difference between two values and returns true if it is less than or equal to a given tolerance, otherwise it returns false.
template<typename FloatType>
int | roundToInt (const FloatType value) noexcept
| Fast floating-point-to-integer conversion.
int | roundToInt (int value) noexcept
int | roundToIntAccurate (double value) noexcept
| Fast floating-point-to-integer conversion.
template<typename FloatType>
unsigned int | truncatePositiveToUnsignedInt (FloatType value) noexcept
| Truncates a positive floating-point number to an unsigned int.
template<typename IntegerType>
constexpr bool | isPowerOfTwo (IntegerType value)
| Returns true if the specified integer is a power-of-two.
int | nextPowerOfTwo (int n) noexcept
| Returns the smallest power-of-two which is equal to or greater than the given integer.
int | findHighestSetBit (uint32 n) noexcept
| Returns the index of the highest set bit in a (non-zero) number.
constexpr int | countNumberOfBits (uint32 n) noexcept
| Returns the number of bits in a 32-bit integer.
constexpr int | countNumberOfBits (uint64 n) noexcept
| Returns the number of bits in a 64-bit integer.
template<typename IntegerType>
IntegerType | negativeAwareModulo (IntegerType dividend, const IntegerType divisor) noexcept
| Performs a modulo operation, but can cope with the dividend being negative.
template<typename NumericType>
constexpr NumericType | square (NumericType n) noexcept
| Returns the square of its argument.
void | writeLittleEndianBitsInBuffer (void *targetBuffer, uint32 startBit, uint32 numBits, uint32 value) noexcept
| Writes a number of bits into a memory buffer at a given bit index.
uint32 | readLittleEndianBitsInBuffer (const void *sourceBuffer, uint32 startBit, uint32 numBits) noexcept
| Reads a number of bits from a buffer at a given bit index.
template<typename T>
constexpr auto | toUnderlyingType (T t) -> std::enable_if_t< std::is_enum_v< T >, std::underlying_type_t< T > >
| Converts an enum to its underlying integral type.
void | zeromem (void *memory, size_t numBytes) noexcept
| Fills a block of memory with zeros.
template<typename Type>
void | zerostruct (Type &structure) noexcept
| Overwrites a structure or object with zeros.
template<typename Type>
void | deleteAndZero (Type &pointer)
| Delete an object pointer, and sets the pointer to null.
template<typename Type, typename IntegerType>
Type * | snapPointerToAlignment (Type *basePointer, IntegerType alignmentBytes) noexcept
| A handy function to round up a pointer to the nearest multiple of a given number of bytes.
template<typename Type1, typename Type2>
int | getAddressDifference (Type1 *pointer1, Type2 *pointer2) noexcept
| A handy function which returns the difference between any two pointers, in bytes.
template<class Type>
Type * | createCopyIfNotNull (const Type *objectToCopy)
| If a pointer is non-null, this returns a new copy of the object that it points to, or safely returns nullptr if the pointer is null.
template<typename Type>
Type | readUnaligned (const void *srcPtr) noexcept
| A handy function to read un-aligned memory without a performance penalty or bus-error.
template<typename Type>
void | writeUnaligned (void *dstPtr, Type value) noexcept
| A handy function to write un-aligned memory without a performance penalty or bus-error.
template<typename Type>
Type | unalignedPointerCast (void *ptr) noexcept
| Casts a pointer to another type via void*, which suppresses the cast-align warning which sometimes arises when casting pointers to types with different alignment.
template<typename Type>
Type | unalignedPointerCast (const void *ptr) noexcept
| Casts a pointer to another type via void*, which suppresses the cast-align warning which sometimes arises when casting pointers to types with different alignment.
template<typename Type, typename IntegerType>
Type * | addBytesToPointer (Type *basePointer, IntegerType bytes) noexcept
| A handy function which adds a number of bytes to any type of pointer and returns the result.
template<typename Type, typename IntegerType>
const Type * | addBytesToPointer (const Type *basePointer, IntegerType bytes) noexcept
| A handy function which adds a number of bytes to any type of pointer and returns the result.
template<typename T>
std::unique_ptr< T > | rawToUniquePtr (T *ptr)
| Converts an owning raw pointer into a unique_ptr, deriving the type of the unique_ptr automatically.
template<typename Type>
bool | operator== (const Type *object1, const ReferenceCountedObjectPtr< Type > &object2) noexcept
| Compares two ReferenceCountedObjectPtrs.
template<typename Type>
bool | operator!= (const Type *object1, const ReferenceCountedObjectPtr< Type > &object2) noexcept
| Compares two ReferenceCountedObjectPtrs.
template<typename EnumType, std::enable_if_t< std::is_enum_v< EnumType >, int > = 0>
constexpr bool | hasBitValueSet (EnumType enumValue, EnumType valueToLookFor) noexcept
template<typename EnumType, std::enable_if_t< std::is_enum_v< EnumType >, int > = 0>
constexpr EnumType | withBitValueSet (EnumType enumValue, EnumType valueToAdd) noexcept
template<typename EnumType, std::enable_if_t< std::is_enum_v< EnumType >, int > = 0>
constexpr EnumType | withBitValueCleared (EnumType enumValue, EnumType valueToRemove) noexcept
template<typename Object, typename OtherObject, typename Member, typename Other>
Object | withMember (Object copy, Member OtherObject::*member, Other &&value)
| Copies an object, sets one of the copy's members to the specified value, and then returns the copy.
template<typename Functor>
static constexpr auto | toFnPtr (Functor functor)
| Converts a captureless lambda to its equivalent function pointer type.
template<typename Fn>
| ScopeGuard (Fn) -> ScopeGuard< Fn >
template<typename T>
constexpr auto | named (std::string_view c, T &t)
| Produces a Named instance that holds a mutable reference.
template<typename T>
constexpr auto | named (std::string_view c, const T &t)
| Produces a Named instance that holds an immutable reference.
template<typename T>
constexpr auto | serialisationSize (T &t) -> std::enable_if_t< std::is_integral_v< T >, SerialisationSize< T > >
| Produces a SerialisationSize instance that holds a mutable reference to a size value.
template<typename T>
constexpr auto | serialisationSize (const T &t) -> std::enable_if_t< std::is_integral_v< T >, SerialisationSize< const T > >
| Produces a SerialisationSize instance that holds an immutable reference to a size value.
OutputStream &JUCE_CALLTYPE | operator<< (OutputStream &stream, const MemoryOutputStream &streamToRead)
| Copies all the data that has been written to a MemoryOutputStream into another stream.
JUCE_API OutputStream &JUCE_CALLTYPE | operator<< (OutputStream &stream, int number)
| Writes a number to a stream as 8-bit characters in the default system encoding.
JUCE_API OutputStream &JUCE_CALLTYPE | operator<< (OutputStream &stream, int64 number)
| Writes a number to a stream as 8-bit characters in the default system encoding.
JUCE_API OutputStream &JUCE_CALLTYPE | operator<< (OutputStream &stream, double number)
| Writes a number to a stream as 8-bit characters in the default system encoding.
JUCE_API OutputStream &JUCE_CALLTYPE | operator<< (OutputStream &stream, char character)
| Writes a character to a stream.
JUCE_API OutputStream &JUCE_CALLTYPE | operator<< (OutputStream &stream, const char *text)
| Writes a null-terminated text string to a stream.
JUCE_API OutputStream &JUCE_CALLTYPE | operator<< (OutputStream &stream, const MemoryBlock &data)
| Writes a block of data from a MemoryBlock to a stream.
JUCE_API OutputStream &JUCE_CALLTYPE | operator<< (OutputStream &stream, const File &fileToRead)
| Writes the contents of a file to a stream.
JUCE_API OutputStream &JUCE_CALLTYPE | operator<< (OutputStream &stream, InputStream &streamToRead)
| Writes the complete contents of an input stream to an output stream.
JUCE_API OutputStream &JUCE_CALLTYPE | operator<< (OutputStream &stream, const NewLine &)
| Writes a new-line to a stream.
JUCE_API String | translate (const String &stringLiteral)
| Uses the LocalisedStrings class to translate the given string literal.
JUCE_API String | translate (const char *stringLiteral)
| Uses the LocalisedStrings class to translate the given string literal.
JUCE_API String | translate (CharPointer_UTF8 stringLiteral)
| Uses the LocalisedStrings class to translate the given string literal.
JUCE_API String | translate (const String &stringLiteral, const String &resultIfNotFound)
| Uses the LocalisedStrings class to translate the given string literal.
String & | operator<< (String &string1, const NewLine &)
| Writes a new-line sequence to a string.
String & | operator+= (String &s, const NewLine &)
String | operator+ (const NewLine &, const NewLine &)
String | operator+ (String s, const NewLine &)
String | operator+ (const NewLine &, String s)
String | operator+ (const NewLine &, const char *s)
String | operator+ (const char *s, const NewLine &)
JUCE_API String JUCE_CALLTYPE | operator+ (const char *string1, const String &string2)
| Concatenates two strings.
JUCE_API String JUCE_CALLTYPE | operator+ (const wchar_t *string1, const String &string2)
| Concatenates two strings.
JUCE_API String JUCE_CALLTYPE | operator+ (char string1, const String &string2)
| Concatenates two strings.
JUCE_API String JUCE_CALLTYPE | operator+ (wchar_t string1, const String &string2)
| Concatenates two strings.
JUCE_API String JUCE_CALLTYPE | operator+ (String string1, const String &string2)
| Concatenates two strings.
JUCE_API String JUCE_CALLTYPE | operator+ (String string1, const char *string2)
| Concatenates two strings.
JUCE_API String JUCE_CALLTYPE | operator+ (String string1, const wchar_t *string2)
| Concatenates two strings.
JUCE_API String JUCE_CALLTYPE | operator+ (String string1, const std::string &string2)
| Concatenates two strings.
JUCE_API String JUCE_CALLTYPE | operator+ (String string1, char characterToAppend)
| Concatenates two strings.
JUCE_API String JUCE_CALLTYPE | operator+ (String string1, wchar_t characterToAppend)
| Concatenates two strings.
JUCE_API String &JUCE_CALLTYPE | operator<< (String &string1, char characterToAppend)
| Appends a character at the end of a string.
JUCE_API String &JUCE_CALLTYPE | operator<< (String &string1, wchar_t characterToAppend)
| Appends a character at the end of a string.
JUCE_API String &JUCE_CALLTYPE | operator<< (String &string1, const char *string2)
| Appends a string to the end of the first one.
JUCE_API String &JUCE_CALLTYPE | operator<< (String &string1, const wchar_t *string2)
| Appends a string to the end of the first one.
JUCE_API String &JUCE_CALLTYPE | operator<< (String &string1, const String &string2)
| Appends a string to the end of the first one.
JUCE_API String &JUCE_CALLTYPE | operator<< (String &string1, StringRef string2)
| Appends a string to the end of the first one.
JUCE_API String &JUCE_CALLTYPE | operator<< (String &string1, const std::string &string2)
| Appends a string to the end of the first one.
JUCE_API String &JUCE_CALLTYPE | operator<< (String &string1, uint8 number)
| Appends a decimal number to the end of a string.
JUCE_API String &JUCE_CALLTYPE | operator<< (String &string1, short number)
| Appends a decimal number to the end of a string.
JUCE_API String &JUCE_CALLTYPE | operator<< (String &string1, int number)
| Appends a decimal number to the end of a string.
JUCE_API String &JUCE_CALLTYPE | operator<< (String &string1, unsigned int number)
| Appends a decimal number to the end of a string.
JUCE_API String &JUCE_CALLTYPE | operator<< (String &string1, long number)
| Appends a decimal number to the end of a string.
JUCE_API String &JUCE_CALLTYPE | operator<< (String &string1, unsigned long number)
| Appends a decimal number to the end of a string.
JUCE_API String &JUCE_CALLTYPE | operator<< (String &string1, int64 number)
| Appends a decimal number to the end of a string.
JUCE_API String &JUCE_CALLTYPE | operator<< (String &string1, uint64 number)
| Appends a decimal number to the end of a string.
JUCE_API String &JUCE_CALLTYPE | operator<< (String &string1, float number)
| Appends a decimal number to the end of a string.
JUCE_API String &JUCE_CALLTYPE | operator<< (String &string1, double number)
| Appends a decimal number to the end of a string.
JUCE_API bool JUCE_CALLTYPE | operator== (const String &string1, const String &string2) noexcept
| Case-sensitive comparison of two strings.
JUCE_API bool JUCE_CALLTYPE | operator== (const String &string1, const char *string2) noexcept
| Case-sensitive comparison of two strings.
JUCE_API bool JUCE_CALLTYPE | operator== (const String &string1, const wchar_t *string2) noexcept
| Case-sensitive comparison of two strings.
JUCE_API bool JUCE_CALLTYPE | operator== (const String &string1, CharPointer_UTF8 string2) noexcept
| Case-sensitive comparison of two strings.
JUCE_API bool JUCE_CALLTYPE | operator== (const String &string1, CharPointer_UTF16 string2) noexcept
| Case-sensitive comparison of two strings.
JUCE_API bool JUCE_CALLTYPE | operator== (const String &string1, CharPointer_UTF32 string2) noexcept
| Case-sensitive comparison of two strings.
JUCE_API bool JUCE_CALLTYPE | operator!= (const String &string1, const String &string2) noexcept
| Case-sensitive comparison of two strings.
JUCE_API bool JUCE_CALLTYPE | operator!= (const String &string1, const char *string2) noexcept
| Case-sensitive comparison of two strings.
JUCE_API bool JUCE_CALLTYPE | operator!= (const String &string1, const wchar_t *string2) noexcept
| Case-sensitive comparison of two strings.
JUCE_API bool JUCE_CALLTYPE | operator!= (const String &string1, CharPointer_UTF8 string2) noexcept
| Case-sensitive comparison of two strings.
JUCE_API bool JUCE_CALLTYPE | operator!= (const String &string1, CharPointer_UTF16 string2) noexcept
| Case-sensitive comparison of two strings.
JUCE_API bool JUCE_CALLTYPE | operator!= (const String &string1, CharPointer_UTF32 string2) noexcept
| Case-sensitive comparison of two strings.
template<class traits>
std::basic_ostream< char, traits > &JUCE_CALLTYPE | operator<< (std::basic_ostream< char, traits > &stream, const String &stringToWrite)
| This operator allows you to write a juce String directly to std output streams.
template<class traits>
std::basic_ostream< wchar_t, traits > &JUCE_CALLTYPE | operator<< (std::basic_ostream< wchar_t, traits > &stream, const String &stringToWrite)
| This operator allows you to write a juce String directly to std output streams.
JUCE_API OutputStream &JUCE_CALLTYPE | operator<< (OutputStream &stream, const String &stringToWrite)
| Writes a string to an OutputStream as UTF8.
JUCE_API OutputStream &JUCE_CALLTYPE | operator<< (OutputStream &stream, StringRef stringToWrite)
| Writes a string to an OutputStream as UTF8.
JUCE_API bool JUCE_CALLTYPE | operator== (const String &string1, StringRef string2) noexcept
| Case-sensitive comparison of two strings.
JUCE_API bool JUCE_CALLTYPE | operator!= (const String &string1, StringRef string2) noexcept
| Case-sensitive comparison of two strings.
JUCE_API bool JUCE_CALLTYPE | operator< (const String &string1, StringRef string2) noexcept
| Case-sensitive comparison of two strings.
JUCE_API bool JUCE_CALLTYPE | operator<= (const String &string1, StringRef string2) noexcept
| Case-sensitive comparison of two strings.
JUCE_API bool JUCE_CALLTYPE | operator> (const String &string1, StringRef string2) noexcept
| Case-sensitive comparison of two strings.
JUCE_API bool JUCE_CALLTYPE | operator>= (const String &string1, StringRef string2) noexcept
| Case-sensitive comparison of two strings.
String | operator+ (String s1, StringRef s2)
String | operator+ (StringRef s1, const String &s2)
String | operator+ (const char *s1, StringRef s2)
String | operator+ (StringRef s1, const char *s2)
JUCE_API bool JUCE_CALLTYPE | operator== (RelativeTime t1, RelativeTime t2) noexcept
| Compares two RelativeTimes.
JUCE_API bool JUCE_CALLTYPE | operator!= (RelativeTime t1, RelativeTime t2) noexcept
| Compares two RelativeTimes.
JUCE_API bool JUCE_CALLTYPE | operator> (RelativeTime t1, RelativeTime t2) noexcept
| Compares two RelativeTimes.
JUCE_API bool JUCE_CALLTYPE | operator< (RelativeTime t1, RelativeTime t2) noexcept
| Compares two RelativeTimes.
JUCE_API bool JUCE_CALLTYPE | operator>= (RelativeTime t1, RelativeTime t2) noexcept
| Compares two RelativeTimes.
JUCE_API bool JUCE_CALLTYPE | operator<= (RelativeTime t1, RelativeTime t2) noexcept
| Compares two RelativeTimes.
JUCE_API RelativeTime JUCE_CALLTYPE | operator+ (RelativeTime t1, RelativeTime t2) noexcept
| Adds two RelativeTimes together.
JUCE_API RelativeTime JUCE_CALLTYPE | operator- (RelativeTime t1, RelativeTime t2) noexcept
| Subtracts two RelativeTimes.
JUCE_API Time | operator+ (Time time, RelativeTime delta) noexcept
| Adds a RelativeTime to a Time.
JUCE_API Time | operator+ (RelativeTime delta, Time time) noexcept
| Adds a RelativeTime to a Time.
JUCE_API Time | operator- (Time time, RelativeTime delta) noexcept
| Subtracts a RelativeTime from a Time.
JUCE_API RelativeTime | operator- (Time time1, Time time2) noexcept
| Returns the relative time difference between two times.
JUCE_API bool | operator== (Time time1, Time time2) noexcept
| Compares two Time objects.
JUCE_API bool | operator!= (Time time1, Time time2) noexcept
| Compares two Time objects.
JUCE_API bool | operator< (Time time1, Time time2) noexcept
| Compares two Time objects.
JUCE_API bool | operator<= (Time time1, Time time2) noexcept
| Compares two Time objects.
JUCE_API bool | operator> (Time time1, Time time2) noexcept
| Compares two Time objects.
JUCE_API bool | operator>= (Time time1, Time time2) noexcept
| Compares two Time objects.
std::unique_ptr< XmlElement > | parseXML (const String &textToParse)
| Attempts to parse some XML text, returning a new XmlElement if it was valid.
std::unique_ptr< XmlElement > | parseXML (const File &fileToParse)
| Attempts to parse some XML text, returning a new XmlElement if it was valid.
std::unique_ptr< XmlElement > | parseXMLIfTagMatches (const String &textToParse, StringRef requiredTag)
| Does an inexpensive check to see whether the top-level element has the given tag name, and if that's true, does a full parse and returns the result.
std::unique_ptr< XmlElement > | parseXMLIfTagMatches (const File &fileToParse, StringRef requiredTag)
| Does an inexpensive check to see whether the top-level element has the given tag name, and if that's true, does a full parse and returns the result.
OutputStream &JUCE_CALLTYPE | operator<< (OutputStream &, const Value &)
| Writes a Value to an OutputStream as a UTF8 string.
template<typename Type>
dsp::SIMDRegister< Type > JUCE_VECTOR_CALLTYPE | jmin (dsp::SIMDRegister< Type > a, dsp::SIMDRegister< Type > b)
template<typename Type>
dsp::SIMDRegister< Type > JUCE_VECTOR_CALLTYPE | jmax (dsp::SIMDRegister< Type > a, dsp::SIMDRegister< Type > b)
JUCE_API void JUCE_CALLTYPE | initialiseJuce_GUI ()
| Initialises JUCE's GUI classes.
JUCE_API void JUCE_CALLTYPE | shutdownJuce_GUI ()
| Clears up any static data being used by JUCE's GUI classes.
uint32 | maskPixelComponents (uint32 x) noexcept
uint32 | clampPixelComponents (uint32 x) noexcept
template<typename ValueType>
Point< ValueType > | operator* (ValueType value, Point< ValueType > p) noexcept
| Multiplies the point's coordinates by a scalar value.
Image | createSnapshotOfNativeWindow (void *nativeWindowHandle)
constexpr Grid::Px | operator""_px (long double px)
constexpr Grid::Px | operator""_px (unsigned long long px)
constexpr Grid::Fr | operator""_fr (unsigned long long fr)
bool | juce_handleXEmbedEvent (ComponentPeer *, void *)
unsigned long | juce_getCurrentFocusWindow (ComponentPeer *)
std::unique_ptr< LowLevelGraphicsContext > | createOpenGLGraphicsContext (OpenGLContext &, int width, int height)
| Creates a graphics context object that will render into the given OpenGL target.
std::unique_ptr< LowLevelGraphicsContext > | createOpenGLGraphicsContext (OpenGLContext &, OpenGLFrameBuffer &)
| Creates a graphics context object that will render into the given OpenGL framebuffer.
std::unique_ptr< LowLevelGraphicsContext > | createOpenGLGraphicsContext (OpenGLContext &, unsigned int frameBufferID, int width, int height)
| Creates a graphics context object that will render into the given OpenGL framebuffer, with the given size.

## Variables

constexpr auto | nullopt = std::nullopt
constexpr auto | dynamicExtent = std::numeric_limits<size_t>::max()
NewLine | newLine
| A predefined object representing a new-line, which can be written to a string or stream.

## Typedef Documentation

## AudioSampleBuffer

using juce::AudioSampleBuffer = AudioBuffer<float>

A multi-channel buffer of 32-bit floating point audio samples.

This type is here for backwards compatibility with the older AudioSampleBuffer class, which was fixed for 32-bit data, but is otherwise the same as the new templated AudioBuffer class.

See also
  AudioBuffer

## MidiKeyboardStateListener

using juce::MidiKeyboardStateListener = MidiKeyboardState::Listener

## WindowedSincInterpolator

using juce::WindowedSincInterpolator = Interpolators::WindowedSinc

An interpolator for resampling a stream of floats using high order windowed (hann) sinc interpolation, recommended for high quality resampling.

Note that the resampler is stateful, so when there's a break in the continuity of the input stream you're feeding it, you should call reset() before feeding it any new data. And like with any other stateful filter, if you're resampling multiple channels, make sure each one uses its own WindowedSincInterpolator object.

See also
  GenericInterpolator
  LagrangeInterpolator, CatmullRomInterpolator, LinearInterpolator, ZeroOrderHoldInterpolator

## LagrangeInterpolator

using juce::LagrangeInterpolator = Interpolators::Lagrange

An interpolator for resampling a stream of floats using 4-point lagrange interpolation.

Note that the resampler is stateful, so when there's a break in the continuity of the input stream you're feeding it, you should call reset() before feeding it any new data. And like with any other stateful filter, if you're resampling multiple channels, make sure each one uses its own LagrangeInterpolator object.

See also
  GenericInterpolator
  CatmullRomInterpolator, WindowedSincInterpolator, LinearInterpolator, ZeroOrderHoldInterpolator

## CatmullRomInterpolator

using juce::CatmullRomInterpolator = Interpolators::CatmullRom

An interpolator for resampling a stream of floats using Catmull-Rom interpolation.

Note that the resampler is stateful, so when there's a break in the continuity of the input stream you're feeding it, you should call reset() before feeding it any new data. And like with any other stateful filter, if you're resampling multiple channels, make sure each one uses its own CatmullRomInterpolator object.

See also
  GenericInterpolator
  LagrangeInterpolator, WindowedSincInterpolator, LinearInterpolator, ZeroOrderHoldInterpolator

## LinearInterpolator

using juce::LinearInterpolator = Interpolators::Linear

An interpolator for resampling a stream of floats using linear interpolation.

Note that the resampler is stateful, so when there's a break in the continuity of the input stream you're feeding it, you should call reset() before feeding it any new data. And like with any other stateful filter, if you're resampling multiple channels, make sure each one uses its own LinearInterpolator object.

See also
  GenericInterpolator
  LagrangeInterpolator, CatmullRomInterpolator, WindowedSincInterpolator, ZeroOrderHoldInterpolator

## ZeroOrderHoldInterpolator

using juce::ZeroOrderHoldInterpolator = Interpolators::ZeroOrderHold

An interpolator for resampling a stream of floats using zero order hold interpolation.

Note that the resampler is stateful, so when there's a break in the continuity of the input stream you're feeding it, you should call reset() before feeding it any new data. And like with any other stateful filter, if you're resampling multiple channels, make sure each one uses its own ZeroOrderHoldInterpolator object.

See also
  GenericInterpolator
  LagrangeInterpolator, CatmullRomInterpolator, WindowedSincInterpolator, LinearInterpolator

## LinearSmoothedValue

template<typename FloatType>

using juce::LinearSmoothedValue = SmoothedValue <FloatType, ValueSmoothingTypes::Linear>

## ThreadSafeListenerList

template<typename ListenerClass>

using juce::ThreadSafeListenerList = ListenerList<ListenerClass, Array<ListenerClass*, CriticalSection>>

A thread safe version of the ListenerList class.

See also
  ListenerList, LightweightListenerList

## Nullopt

using juce::Nullopt = std::nullopt_t

## int8

using juce::int8 = signed char

A platform-independent 8-bit signed integer type.

## uint8

using juce::uint8 = unsigned char

A platform-independent 8-bit unsigned integer type.

## int16

using juce::int16 = signed short

A platform-independent 16-bit signed integer type.

## uint16

using juce::uint16 = unsigned short

A platform-independent 16-bit unsigned integer type.

## int32

using juce::int32 = signed int

A platform-independent 32-bit signed integer type.

## uint32

using juce::uint32 = unsigned int

A platform-independent 32-bit unsigned integer type.

## int64

using juce::int64 = long long

A platform-independent 64-bit integer type.

## uint64

using juce::uint64 = unsigned long long

A platform-independent 64-bit unsigned integer type.

## pointer_sized_int

using juce::pointer_sized_int = int

A signed integer type that's guaranteed to be large enough to hold a pointer without truncating it.

## pointer_sized_uint

using juce::pointer_sized_uint = unsigned int

An unsigned integer type that's guaranteed to be large enough to hold a pointer without truncating it.

## DisableIfSameOrDerived

template<typename A, typename B>

using juce::DisableIfSameOrDerived = std::enable_if_t<! std::is_base_of_v<A, std::remove_reference_t<B>>>

Can be used to disable template constructors that would otherwise cause ambiguity with compiler-generated copy and move constructors.

Adapted from https://ericniebler.com/2013/08/07/universal-references-and-the-copy-constructo/

## juce_wchar

using juce::juce_wchar = wchar_t

A platform-independent 32-bit unicode character type.

## ScopedLock

using juce::ScopedLock = CriticalSection::ScopedLockType

Automatically locks and unlocks a CriticalSection object.

You can use a ScopedLock as a local variable to provide RAII-based locking of a CriticalSection.

e.g.

struct MyObject
{
CriticalSection objectLock;
// assuming that this example function will be called by multiple threads
void foo()
{
const ScopedLock myScopedLock (objectLock);
// objectLock is now locked...
...do some thread-safe work here...
// ...and objectLock gets unlocked here, as myScopedLock goes out of
// scope at the end of the block
}
};
juce::CriticalSection
A re-entrant mutex.
Definition juce_CriticalSection.h:55
juce::ScopedLock
CriticalSection::ScopedLockType ScopedLock
Automatically locks and unlocks a CriticalSection object.
Definition juce_CriticalSection.h:198

See also
  CriticalSection, ScopedUnlock

## ScopedUnlock

using juce::ScopedUnlock = CriticalSection::ScopedUnlockType

Automatically unlocks and re-locks a CriticalSection object.

This is the reverse of a ScopedLock object - instead of locking the critical section for the lifetime of this object, it unlocks it.

Make sure you don't try to unlock critical sections that aren't actually locked!

e.g.

struct MyObject
{
CriticalSection objectLock;
void foo()
{
{
const ScopedLock myScopedLock (objectLock);
// objectLock is now locked...
{
ScopedUnlock myUnlocker (objectLock);
// ...and now unlocked...
}
// ...and now locked again...
}
// ...and finally unlocked.
}
};
juce::ScopedUnlock
CriticalSection::ScopedUnlockType ScopedUnlock
Automatically unlocks and re-locks a CriticalSection object.
Definition juce_CriticalSection.h:238

See also
  CriticalSection, ScopedLock

## ScopedTryLock

using juce::ScopedTryLock = CriticalSection::ScopedTryLockType

Automatically tries to lock and unlock a CriticalSection object.

Use one of these as a local variable to control access to a CriticalSection.

e.g.

struct MyObject
{
CriticalSection objectLock;
void foo()
{
const ScopedTryLock myScopedTryLock (objectLock);
// Unlike using a ScopedLock, this may fail to actually get the lock, so you
// must call the isLocked() method before making any assumptions.
if (myScopedTryLock.isLocked())
{
...safely do some work...
}
else
{
// If we get here, then our attempt at locking failed because another thread had already locked it.
}
}
};
juce::ScopedTryLock
CriticalSection::ScopedTryLockType ScopedTryLock
Automatically tries to lock and unlock a CriticalSection object.
Definition juce_CriticalSection.h:272

See also
  CriticalSection::tryEnter, ScopedLock, ScopedUnlock, ScopedReadLock

## Years

using juce::Years = std::chrono::duration<double, std::ratio<31556952>>

A type used to store years with double precision.

## Months

using juce::Months = std::chrono::duration<double, std::ratio<2629746>>

A type used to store months with double precision.

## Weeks

using juce::Weeks = std::chrono::duration<double, std::ratio<604800>>

A type used to store weeks with double precision.

## Days

using juce::Days = std::chrono::duration<double, std::ratio<86400>>

A type used to store days with double precision.

## Hours

using juce::Hours = std::chrono::duration<double, std::ratio<3600>>

A type used to store hours with double precision.

## Minutes

using juce::Minutes = std::chrono::duration<double, std::ratio<60>>

A type used to store minutes with double precision.

## Seconds

using juce::Seconds = std::chrono::duration<double, std::ratio<1>>

A type used to store seconds with double precision.

## Milliseconds

using juce::Milliseconds = std::chrono::duration<double, std::milli>

A type used to store milliseconds with double precision.

## Microseconds

using juce::Microseconds = std::chrono::duration<double, std::micro>

A type used to store microseconds with double precision.

## Nanoseconds

using juce::Nanoseconds = std::chrono::duration<double, std::nano>

A type used to store nanoseconds with double precision.

## MessageCallbackFunction

using juce::MessageCallbackFunction = void* (void* userData)

See MessageManager::callFunctionOnMessageThread() for use of this function type.

## CommandID

using juce::CommandID = int

A type used to hold the unique ID for an application command.

This is a numeric type, so it can be stored as an integer.

See also
  ApplicationCommandInfo, ApplicationCommandManager, ApplicationCommandTarget, KeyPressMappingSet

## OSCType

using juce::OSCType = char

The type used for OSC type tags.

## OSCTypeList

using juce::OSCTypeList = Array<OSCType>

The type used for OSC type tag strings.

## Enumeration Type Documentation

## SysexExtractorCallbackKind

enum class juce::SysexExtractorCallbackKind

strong

Enumerator
notSysex |
ongoingSysex |
lastSysex |

## WASAPIDeviceMode

enum class juce::WASAPIDeviceMode

strong

Available modes for the WASAPI audio device.

Pass one of these to the AudioIODeviceType::createAudioIODeviceType_WASAPI() method to create a WASAPI AudioIODeviceType object in this mode.

Enumerator
shared |
exclusive |
sharedLowLatency |

## IncrementRef

enum class juce::IncrementRef

strong

Enumerator
no |
yes |

## NotificationType

enum juce::NotificationType

These enums are used in various classes to indicate whether a notification event should be sent out.

Enumerator
dontSendNotification | No notification message should be sent.
sendNotification | Requests a notification message, either synchronous or not.
sendNotificationSync | Requests a synchronous notification.
sendNotificationAsync | Requests an asynchronous notification.

## TypefaceMetricsKind

enum class juce::TypefaceMetricsKind

strong

Identifiers for different styles of typeface metrics.

In new projects, it's recommended to use the 'portable' metrics kind, so that fonts display at a similar size on all platforms. Portable metrics are enabled by default when constructing a Font using FontOptions. The old, deprecated Font constructors will all request the legacy metrics kind instead. JUCE components that display text will query LookAndFeel::getDefaultMetricsKind() to find the kind of metrics that should be used. This function can be overridden to switch the metrics kind for the entire LookAndFeel.

The 'legacy' metrics kind uses the platform font facilities to retrieve font metrics. Each platform has its own idiosyncratic behaviour when computing metrics - depending on the typeface data, it's possible that the 'portable' metrics will differ from the 'legacy' metrics on every platform. The biggest differences between legacy and portable metrics are likely to be seen on Windows, so it may be helpful to check this platform first.

Enumerator
legacy | Old-style metrics that may differ for the same font file when running on different platforms. This was the default behaviour prior to JUCE 8.
portable | Where possible, will return the same font metrics on all platforms. It's a good idea to use this for new JUCE projects, to keep text layout and sizing consistent on all platforms.

## AccessibilityActionType

enum class juce::AccessibilityActionType

strong

An action that can be performed by an accessible UI element.

Enumerator
press | Represents a "press" action. This will be called when the user "clicks" the UI element using an accessibility client.
toggle | Represents a "toggle" action. This will be called when the user toggles the state of a UI element, for example a toggle button or the selection of a list item.
focus | Indicates that the UI element has received focus. This will be called when a UI element receives focus from an accessibility client, or keyboard focus from the application.
showMenu | Represents the user showing a contextual menu for a UI element. This will be called for UI elements which expand and collapse to show contextual information or menus, or show a popup.

## AccessibilityEvent

enum class juce::AccessibilityEvent

strong

A list of events that can be notified to any subscribed accessibility clients.

To post a notification, call AccessibilityHandler::notifyAccessibilityEvent on the associated handler with the appropriate AccessibilityEvent type and listening clients will be notified.

Enumerator
valueChanged | Indicates that the UI element's value has changed. This should be called on the handler that implements AccessibilityValueInterface for the UI element that has changed.
titleChanged | Indicates that the title of the UI element has changed. This should be called on the handler whose title has changed.
structureChanged | Indicates that the structure of the UI elements has changed in a significant way. This should be called on the top-level handler whose structure has changed.
textSelectionChanged | Indicates that the selection of a text element has changed. This should be called on the handler that implements AccessibilityTextInterface for the text element that has changed.
textChanged | Indicates that the visible text of a text element has changed. This should be called on the handler that implements AccessibilityTextInterface for the text element that has changed.
rowSelectionChanged | Indicates that the selection of rows in a list or table has changed. This should be called on the handler that implements AccessibilityTableInterface for the UI element that has changed.

## AccessibilityRole

enum class juce::AccessibilityRole

strong

The list of available roles for an AccessibilityHandler object.

When creating a custom AccessibilityHandler you should select the role that best describes the UI element being represented.

Enumerator
button |
toggleButton |
radioButton |
comboBox |
image |
slider |
label |
staticText |
editableText |
menuItem |
menuBar |
popupMenu |
table |
tableHeader |
column |
row |
cell |
hyperlink |
list |
listItem |
tree |
treeItem |
progressBar |
group |
dialogWindow |
window |
scrollBar |
tooltip |
splashScreen |
ignored |
unspecified |

## MessageBoxIconType

enum class juce::MessageBoxIconType

strong

The type of icon to show in the dialog box.

Enumerator
NoIcon | No icon will be shown on the dialog box.
QuestionIcon | A question-mark icon, for dialog boxes that need the user to answer a question.
WarningIcon | An exclamation mark to indicate that the dialog is a warning about something and shouldn't be ignored.
InfoIcon | An icon that indicates that the dialog box is just giving the user some information, which doesn't require a response from them.

## Function Documentation

## makeAnimationLimits() [1/2]

template<typename ValueType>

StaticAnimationLimits< ValueType > juce::makeAnimationLimits | ( | const ValueType & | end | ) |

Creates an instance of StaticAnimationLimits, deducing ValueType from the function argument.

References end().

## makeAnimationLimits() [2/2]

template<typename ValueType>

StaticAnimationLimits< ValueType > juce::makeAnimationLimits | ( | const ValueType & | begin,
|  | const ValueType & | end )

Creates an instance of StaticAnimationLimits, deducing ValueType from the function arguments.

References begin(), and end().

## operator==() [1/16]

template<typename Type>

bool juce::operator== | ( | const AudioBuffer< Type > & | a,
|  | const AudioBuffer< Type > & | b )

References begin(), end(), juce::AudioBuffer< Type >::getNumChannels(), and x.

Referenced by juce::MidiBufferIterator::operator!=(), and juce::SortedSet< ElementType, TypeOfCriticalSectionToUse >::operator!=().

## operator!=() [1/16]

template<typename Type>

bool juce::operator!= | ( | const AudioBuffer< Type > & | a,
|  | const AudioBuffer< Type > & | b )

## createPluginFilterOfType()

std::unique_ptr< AudioProcessor > juce::createPluginFilterOfType | ( | AudioProcessor::WrapperType | type | ) |

inline

References createPluginFilter(), jassert, rawToUniquePtr(), juce::AudioProcessor::setTypeOfNextNewPlugin(), and juce::AudioProcessor::wrapperType_Undefined.

## addDefaultFormatsToManager()

void juce::addDefaultFormatsToManager | ( | AudioPluginFormatManager & |  | ) |

Add all standard plugin formats to the AudioPluginFormatManager, with UI support.

This function replaces AudioPluginFormatManager::addDefaultFormats().

## addHeadlessDefaultFormatsToManager()

void juce::addHeadlessDefaultFormatsToManager | ( | AudioPluginFormatManager & |  | ) |

Add all standard plugin formats to the AudioPluginFormatManager, without UI support.

If you use one of these formats to load a plugin, the resulting plugin will always return false from hasEditor(), and return nullptr from createEditor().

This function is intended for use in commandline projects that never need to load plugin UIs. In such cases, build times can be improved by omitting UI code from the project.

This is a cut-down version of the old AudioPluginFormatManager::addDefaultFormats().

## makeARASizedStruct()

template<typename Obj, typename Member, typename... Ts>

Obj juce::makeARASizedStruct | ( | Member Obj::* | member,
|  | Ts &&... | ts )

constexpr

References makeARASizedStruct().

Referenced by juce::ARAHostModel::AudioModification::getEmptyProperties(), juce::ARAHostModel::AudioSource::getEmptyProperties(), juce::ARAHostModel::MusicalContext::getEmptyProperties(), juce::ARAHostModel::PlaybackRegion::getEmptyProperties(), juce::ARAHostModel::RegionSequence::getEmptyProperties(), and makeARASizedStruct().

## createARAFactoryAsync()

void JUCE_API juce::createARAFactoryAsync | ( | AudioPluginInstance & | instance,
|  | std::function< void(ARAFactoryWrapper)> | cb )

Calls the provided callback with an ARAFactoryWrapper object obtained from the provided AudioPluginInstance.

If the provided AudioPluginInstance has no ARA extensions, the callback will be called with an ARAFactoryWrapper that wraps a nullptr.

The object passed to the callback must be checked even if the plugin instance reports having ARA extensions.

References JUCE_API.

## arrayContainsPlugin()

bool juce::arrayContainsPlugin | ( | const OwnedArray< PluginDescription > & | list,
|  | const PluginDescription & | desc )

inline static

References list.

## sortArray()

template<class ElementType, class ElementComparator>

void juce::sortArray | ( | ElementComparator & | comparator,
|  | ElementType *const | array,
|  | int | firstElement,
|  | int | lastElement,
|  | const bool | retainOrderOfEquivalentItems )

static

Sorts a range of elements in an array.

The comparator object that is passed-in must define a public method with the following signature:

int compareElements (ElementType first, ElementType second);

...and this method must return:

- a value of < 0 if the first comes before the second
- a value of 0 if the two objects are equivalent
- a value of > 0 if the second comes before the first

To improve performance, the compareElements() method can be declared as static or const.

Parameters

  comparator | an object which defines a compareElements() method
  array | the array to sort
  firstElement | the index of the first element of the range to be sorted
  lastElement | the index of the last element in the range that needs sorting (this is inclusive)
  retainOrderOfEquivalentItems | if true, the order of items that the comparator deems the same will be maintained - this will be a slower algorithm than if they are allowed to be moved around.

See also
  sortArrayRetainingOrder

References jassert.

Referenced by juce::Array< ElementType, TypeOfCriticalSectionToUse, minimumAllocatedSize >::sort(), juce::OwnedArray< ObjectClass, TypeOfCriticalSectionToUse >::sort(), juce::ReferenceCountedArray< ObjectClass, TypeOfCriticalSectionToUse >::sort(), and juce::XmlElement::sortChildElements().

## findInsertIndexInSortedArray()

template<class ElementType, class ElementComparator>

int juce::findInsertIndexInSortedArray | ( | ElementComparator & | comparator,
|  | ElementType *const | array,
|  | const ElementType | newElement,
|  | int | firstElement,
|  | int | lastElement )

static

Searches a sorted array of elements, looking for the index at which a specified value should be inserted for it to be in the correct order.

The comparator object that is passed-in must define a public method with the following signature:

int compareElements (ElementType first, ElementType second);

...and this method must return:

- a value of < 0 if the first comes before the second
- a value of 0 if the two objects are equivalent
- a value of > 0 if the second comes before the first

To improve performance, the compareElements() method can be declared as static or const.

Parameters

  comparator | an object which defines a compareElements() method
  array | the array to search
  newElement | the value that is going to be inserted
  firstElement | the index of the first element to search
  lastElement | the index of the last element in the range (this is non-inclusive)

References jassert.

Referenced by juce::ReferenceCountedArray< ObjectClass, TypeOfCriticalSectionToUse >::addOrReplaceSorted(), juce::Array< SelectableItemType >::addSorted(), juce::OwnedArray< ObjectClass, TypeOfCriticalSectionToUse >::addSorted(), juce::ReferenceCountedArray< ObjectClass, TypeOfCriticalSectionToUse >::addSorted(), and juce::TreeViewItem::addSubItemSorted().

## makeRange()

template<typename Begin, typename End = Begin>

auto juce::makeRange | ( | Begin | begin,
|  | End | end )

nodiscard constexpr

Given two iterators "begin" and "end", returns an IteratorPair with a member begin() and end() function.

This pair can be used in contexts that expect an iterable range, the most significant of which is ranged-for loops. This automatically deduces the Begin and End types, so it is more concise to use than directly calling the IteratorPair constructor.

References begin(), and end().

## enumerate()

template<typename Range, typename Index = detail::withAdlSize::AdlSignedSize<Range>>

auto juce::enumerate | ( | Range && | range,
|  | Index | startingValue = {} )

nodiscard constexpr

Given a range and an optional starting offset, returns an IteratorPair that holds EnumerateIterators wrapping the begin() and end() of the range.

This is useful in situations where you need to iterate some range, but also query the position of each item in the range.

A simple usage might look like this:

std::list<int> elements { 10, 20, 30, 40, 50 };
for (const auto pair : enumerate (elements))
std::cout << pair.index << ' ' << pair.value << ' ';
// output: 0 10 1 20 2 30 3 40 4 50
juce::enumerate
constexpr auto enumerate(Range &&range, Index startingValue={})
Given a range and an optional starting offset, returns an IteratorPair that holds EnumerateIterators ...
Definition juce_Enumerate.h:431

You can also use structured bindings to concisely destructure each Enumerated instance:

for (const auto [index, value] : enumerate (elements))
std::cout << index << ' ' << value << ' ';

Note that the Enumerated instance is returned by value. This is because each Enumerated instance is created on-demand when the iterator is dereferenced. As a result, the following will result in a dangling reference, and will probably trigger a compiler warning:

// BAD IDEA: creating a reference to a temporary Enumerated instance
for (auto& [index, value] : enumerate (elements))
...

The 'value' member of Enumerated automatically assumes the same type as dereferencing the wrapped iterator, which is normally a reference to an element of a container. In the following snippet, the type of '[index, value]' is 'const Enumerated<ptrdiff_t, int&>', the type of 'index' is 'ptrdiff_t', and the type of 'value' is 'int&'.

std::vector<int> elements { 10, 20, 30, 40, 50 };
for (const auto [index, value] : enumerate (elements))
...

By default, the constness of pair.value will match the constness of the range passed to enumerate. If you pass a mutable lvalue reference to enumerate, then each value will also be mutable. If you pass a constant lvalue reference to enumerate, then each value will be const. If you know that you don't need the iterated elements to be mutable, it's good practice to wrap the range with std::as_const before passing it to enumerate:

for (const auto [index, value] : enumerate (std::as_const (elements)))
{
// value is immutable here
}

Referenced by juce::BytestreamSysexExtractor::push().

## operator!=() [2/16]

template<size_t len, typename T>

bool juce::operator!= | ( | const FixedSizeFunction< len, T > & | fn,
|  | std::nullptr_t | )

## operator!=() [3/16]

template<size_t len, typename T>

bool juce::operator!= | ( | std::nullptr_t | ,
|  | const FixedSizeFunction< len, T > & | fn )

## operator==() [2/16]

template<size_t len, typename T>

bool juce::operator== | ( | const FixedSizeFunction< len, T > & | fn,
|  | std::nullptr_t | )

## operator==() [3/16]

template<size_t len, typename T>

bool juce::operator== | ( | std::nullptr_t | ,
|  | const FixedSizeFunction< len, T > & | fn )

## makeOptional()

template<typename Value>

Optional< std::decay_t< Value > > juce::makeOptional | ( | Value && | v | ) |

## Span() [1/5]

template<typename T, typename End>

juce::Span | ( | T | ,
|  | End | )->Span< std::remove_pointer_t< decltype(detail::toAddress(std::declval< T >()))> >

## Span() [2/5]

template<typename T, size_t N>

juce::Span | ( | T(&) | [N] | ) | ->Span< T, N >

## Span() [3/5]

template<typename T, size_t N>

juce::Span | ( | std::array< T, N > & |  | ) | ->Span< T, N >

## Span() [4/5]

template<typename T, size_t N>

juce::Span | ( | const std::array< T, N > & |  | ) | ->Span< constT, N >

## Span() [5/5]

template<typename Range>

juce::Span | ( | Range && | r | ) | ->Span< std::remove_pointer_t< decltype(std::data(r))> >

## operator==() [4/16]

JUCE_API bool juce::operator== | ( | const var & | ,
|  | const var & | )

Compares the values of two var objects, using the var::equals() comparison.

References JUCE_API.

## operator!=() [4/16]

JUCE_API bool juce::operator!= | ( | const var & | ,
|  | const var & | )

Compares the values of two var objects, using the var::equals() comparison.

References JUCE_API.

## operator<() [1/4]

JUCE_API bool juce::operator< | ( | const var & | ,
|  | const var & | )

Compares the values of two var objects, using the var::equals() comparison.

References JUCE_API.

## operator<=() [1/4]

JUCE_API bool juce::operator<= | ( | const var & | ,
|  | const var & | )

Compares the values of two var objects, using the var::equals() comparison.

References JUCE_API.

## operator>() [1/4]

JUCE_API bool juce::operator> | ( | const var & | ,
|  | const var & | )

Compares the values of two var objects, using the var::equals() comparison.

References JUCE_API.

## operator>=() [1/4]

JUCE_API bool juce::operator>= | ( | const var & | ,
|  | const var & | )

Compares the values of two var objects, using the var::equals() comparison.

References JUCE_API.

## operator==() [5/16]

JUCE_API bool juce::operator== | ( | const var & | ,
|  | const String & | )

References JUCE_API.

## operator!=() [5/16]

JUCE_API bool juce::operator!= | ( | const var & | ,
|  | const String & | )

References JUCE_API.

## operator==() [6/16]

JUCE_API bool juce::operator== | ( | const var & | ,
|  | const char * | )

References JUCE_API.

## operator!=() [6/16]

JUCE_API bool juce::operator!= | ( | const var & | ,
|  | const char * | )

References JUCE_API.

## operator*() [1/2]

const DirectoryEntry & juce::operator* | ( | const DirectoryEntry & | e | ) |

inline noexcept

A convenience operator so that the expression *it++ works correctly when it is an instance of RangedDirectoryIterator.

## begin()

RangedDirectoryIterator juce::begin | ( | const RangedDirectoryIterator & | it | ) |

inline

Returns the iterator that was passed in.

Provided for range-for compatibility.

Referenced by juce::AudioProcessorValueTreeState::ParameterLayout::add(), makeAnimationLimits(), makeRange(), operator==(), juce::AudioProcessorValueTreeState::ParameterLayout::ParameterLayout(), juce::CharacterFunctions::trimBegin(), and juce::CharacterFunctions::trimEnd().

## end()

RangedDirectoryIterator juce::end | ( | const RangedDirectoryIterator & |  | ) |

inline

Returns a default-constructed sentinel value.

Provided for range-for compatibility.

Referenced by juce::AudioProcessorValueTreeState::ParameterLayout::add(), juce::CodeDocument::findLineContaining(), juce::CodeDocument::findTokenContaining(), juce::StringPool::getPooledString(), juce::CodeDocument::getTextBetween(), juce::CharacterFunctions::lengthUpTo(), juce::CharPointer_ASCII::lengthUpTo(), juce::CharPointer_UTF16::lengthUpTo(), juce::CharPointer_UTF32::lengthUpTo(), juce::CharPointer_UTF8::lengthUpTo(), juce::Path::lineTo(), makeAnimationLimits(), makeAnimationLimits(), makeRange(), operator==(), juce::SparseSet< Type >::operator[](), juce::AudioProcessorValueTreeState::ParameterLayout::ParameterLayout(), juce::ListenerList< ListenerClass, ArrayType >::remove(), juce::CodeEditorComponent::selectRegion(), juce::CharacterFunctions::trimBegin(), and juce::CharacterFunctions::trimEnd().

## juce_isRunningUnderDebugger()

bool juce::juce_isRunningUnderDebugger | ( |  | ) |

extern noexcept

References JUCE_API, and JUCE_CALLTYPE.

## logAssertion()

void juce::logAssertion | ( | const char * | file,
|  | int | line )

extern noexcept

References JUCE_API, JUCE_CALLTYPE, and logAssertion().

Referenced by logAssertion().

## operator<<() [1/34]

OutputStream &JUCE_CALLTYPE juce::operator<< | ( | OutputStream & | stream,
|  | const BigInteger & | value )

Writes a BigInteger to an OutputStream as a UTF8 decimal string.

References JUCE_CALLTYPE.

## ignoreUnused()

template<typename... Types>

void juce::ignoreUnused | ( | Types && | ... | ) |

noexcept

Handy function for avoiding unused variables warning.

Referenced by juce_isfinite().

## numElementsInArray()

template<typename Type, size_t N>

int juce::numElementsInArray | ( | Type(&) | [N] | ) |

constexpr noexcept

Handy function for getting the number of elements in a simple const C array.

E.g.

static int myArray[] = { 1, 2, 3 };
int numElements = numElementsInArray (myArray) // returns 3
juce::numElementsInArray
constexpr int numElementsInArray(Type(&)[N]) noexcept
Handy function for getting the number of elements in a simple const C array.
Definition juce_MathsFunctions.h:115

Referenced by juce::AudioBuffer< float >::AudioBuffer(), and juce::AudioBuffer< float >::operator=().

## juce_hypot()

template<typename Type>

Type juce::juce_hypot | ( | Type | a,
|  | Type | b )

noexcept

Using juce_hypot is easier than dealing with the different types of hypot function that are provided by the various platforms and compilers.

Referenced by juce::Point< ValueType >::getDistanceFrom(), juce::Point< ValueType >::getDistanceFromOrigin(), and juce::Line< ValueType >::getPointAlongLine().

## degreesToRadians()

template<typename FloatType>

FloatType juce::degreesToRadians | ( | FloatType | degrees | ) |

constexpr noexcept

Converts an angle in degrees to radians.

References juce::MathConstants< FloatType >::pi.

## radiansToDegrees()

template<typename FloatType>

FloatType juce::radiansToDegrees | ( | FloatType | radians | ) |

constexpr noexcept

Converts an angle in radians to degrees.

References juce::MathConstants< FloatType >::pi.

## juce_isfinite()

template<typename NumericType>

bool juce::juce_isfinite | ( | NumericType | value | ) |

noexcept

The isfinite() method seems to vary between platforms, so this is a platform-independent function for it.

References ignoreUnused().

Referenced by juce::StatisticsAccumulator< FloatType >::addValue(), juce::Point< ValueType >::isFinite(), and juce::Rectangle< ValueType >::isFinite().

## exactlyEqual()

template<typename Type>

bool juce::exactlyEqual | ( | Type | a,
|  | Type | b )

constexpr

Equivalent to operator==, but suppresses float-equality warnings.

This allows code to be explicit about float-equality checks that are known to have the correct semantics.

References JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE, and JUCE_END_IGNORE_WARNINGS_GCC_LIKE.

Referenced by juce::Array< SelectableItemType >::contains(), juce::NormalisableRange< ValueType >::convertFrom0to1(), juce::NormalisableRange< ValueType >::convertTo0to1(), juce::Rectangle< ValueType >::enlargeIfAdjacent(), juce::UnitTest::expectEquals(), juce::UnitTest::expectNotEquals(), juce::Array< SelectableItemType >::indexOf(), juce::Range< ValueType >::isEmpty(), juce::TimedDiagnostic::isEmpty(), juce::ArrayBase< ElementType, TypeOfCriticalSectionToUse >::operator==(), juce::CachedValue< Type >::setValue(), and juce::String::toDecimalStringWithSignificantFigures().

## absoluteTolerance()

template<typename Type>

Tolerance< Type > juce::absoluteTolerance | ( | Type | tolerance | ) |

static

Returns a type deduced Tolerance object containing only an absolute tolerance.

See also
  Tolerance::withAbsolute, approximatelyEqual

References juce::Tolerance< Type >::withAbsolute().

## relativeTolerance()

template<typename Type>

Tolerance< Type > juce::relativeTolerance | ( | Type | tolerance | ) |

static

Returns a type deduced Tolerance object containing only a relative tolerance.

See also
  Tolerance::withRelative, approximatelyEqual

References juce::Tolerance< Type >::withRelative().

## approximatelyEqual() [1/2]

template<typename Type, std::enable_if_t< std::is_floating_point_v< Type >, int > = 0>

bool juce::approximatelyEqual | ( | Type | a,
|  | Type | b,
|  | Tolerance< Type > | tolerance = Tolerance<Type>{} .withAbsolute (std::numeric_limits<Type>::min()) .withRelative (std::numeric_limits<Type>::epsilon()) )

constexpr

Returns true if the two floating-point numbers are approximately equal.

If either a or b are not finite, returns exactlyEqual (a, b).

The default absolute tolerance is equal to the minimum normal value. This ensures differences that are subnormal are always considered equal. It is highly recommend this value is reviewed depending on the calculation being carried out. In general specifying an absolute value is useful when considering values close to zero. For example you might expect sin (pi) to return 0, but what it actually returns is close to the error of the value pi. Therefore, in this example it might be better to set the absolute tolerance to sin (pi).

The default relative tolerance is equal to the machine epsilon which is the difference between 1.0 and the next floating-point value that can be represented by Type. In most cases this value is probably reasonable. This value is multiplied by the largest absolute value of a and b so as to scale relatively according to the input parameters. For example, specifying a relative value of 0.05 will ensure values return equal if the difference between them is less than or equal to 5% of the larger of the two absolute values.

Parameters

  a | The first number to compare.
  b | The second number to compare.
  tolerance | An object that represents both absolute and relative tolerances when evaluating if a and b are equal.

See also
  exactlyEqual

Referenced by juce::LowLevelGraphicsContext::drawEllipse(), juce::Line< ValueType >::getPointAlongLine(), juce::AudioProcessorGraph::Node::isBypassed(), juce::AnimatedPositionBehaviours::ContinuousWithMomentum::isStopped(), jmap(), juce::dsp::Bias< FloatType >::setRampDurationSeconds(), juce::dsp::Gain< FloatType >::setRampDurationSeconds(), juce::dsp::LogRampedValue< FloatType >::setTargetValue(), juce::SmoothedValue< FloatType, ValueSmoothingTypes::Linear >::setTargetValue(), and juce::SmoothedValue< FloatType, ValueSmoothingTypes::Linear >::SmoothedValue().

## approximatelyEqual() [2/2]

template<typename Type, std::enable_if_t<! std::is_floating_point_v< Type >, int > = 0>

bool juce::approximatelyEqual | ( | Type | a,
|  | Type | b )

constexpr

Special case for non-floating-point types that returns true if both are exactly equal.

## nextFloatUp()

template<typename FloatType>

FloatType juce::nextFloatUp | ( | FloatType | value | ) |

noexcept

Returns the next representable value by FloatType in the direction of the largest representable value.

## nextFloatDown()

template<typename FloatType>

FloatType juce::nextFloatDown | ( | FloatType | value | ) |

noexcept

Returns the next representable value by FloatType in the direction of the lowest representable value.

## jmax() [1/4]

template<typename Type>

Type juce::jmax | ( | Type | a,
|  | Type | b )

constexpr

Returns the larger of two values.

Referenced by juce::Draggable3DOrientation::Draggable3DOrientation(), juce::Draggable3DOrientation::Draggable3DOrientation(), juce::Rectangle< ValueType >::enlargeIfAdjacent(), juce::Rectangle< ValueType >::expand(), juce::Rectangle< ValueType >::expanded(), juce::Rectangle< ValueType >::findAreaContainingPoints(), juce::Decibels::gainToDecibels(), juce::Decibels::gainWithLowerBound(), juce::RectangleList< ValueType >::getBounds(), juce::Rectangle< ValueType >::getIntersection(), juce::Range< ValueType >::getIntersectionWith(), juce::Rectangle< ValueType >::getLargestIntegerWithin(), juce::AudioBuffer< float >::getMagnitude(), juce::AudioBuffer< float >::getMagnitude(), juce::dsp::Polynomial< FloatingType >::getProductWith(), juce::Rectangle< ValueType >::getUnion(), juce::Range< ValueType >::getUnionWith(), juce::Range< ValueType >::getUnionWith(), juce::Rectangle< ValueType >::intersectRectangle(), juce::Rectangle< ValueType >::intersectRectangles(), jmax(), juce::dsp::Chorus< SampleType >::process(), juce::Range< ValueType >::Range(), juce::dsp::FIR::Filter< SampleType >::reset(), juce::ResizableBorderComponent::Zone::resizeRectangleBy(), juce::Rectangle< ValueType >::setLeft(), juce::Range< ValueType >::setLength(), juce::Draggable3DOrientation::setRadius(), juce::Rectangle< ValueType >::setTop(), juce::StandalonePluginHolder::showAudioSettingsDialog(), juce::StandaloneFilterWindow::StandaloneFilterWindow(), juce::Rectangle< ValueType >::transformedBy(), juce::Rectangle< ValueType >::withBottom(), juce::Rectangle< ValueType >::withHeight(), juce::Rectangle< ValueType >::withLeft(), juce::Rectangle< ValueType >::withRight(), juce::Rectangle< ValueType >::withSize(), juce::Range< ValueType >::withStart(), juce::Rectangle< ValueType >::withTop(), and juce::Rectangle< ValueType >::withWidth().

## jmax() [2/4]

template<typename Type>

Type juce::jmax | ( | Type | a,
|  | Type | b,
|  | Type | c )

constexpr

Returns the larger of three values.

## jmax() [3/4]

template<typename Type>

Type juce::jmax | ( | Type | a,
|  | Type | b,
|  | Type | c,
|  | Type | d )

constexpr

Returns the larger of four values.

References jmax().

## jmin() [1/4]

template<typename Type>

Type juce::jmin | ( | Type | a,
|  | Type | b )

constexpr

Returns the smaller of two values.

Referenced by juce::Rectangle< ValueType >::constrainedWithin(), juce::dsp::AudioBlock< const SampleType >::copyTo(), juce::SelectedItemSet< SelectableItemType >::deselectAll(), juce::Rectangle< ValueType >::enlargeIfAdjacent(), juce::Rectangle< ValueType >::findAreaContainingPoints(), juce::RectangleList< ValueType >::getBounds(), juce::Rectangle< ValueType >::getIntersection(), juce::Range< ValueType >::getIntersectionWith(), juce::Rectangle< ValueType >::getUnion(), juce::Range< ValueType >::getUnionWith(), juce::Range< ValueType >::getUnionWith(), juce::Rectangle< ValueType >::intersectRectangle(), juce::Rectangle< ValueType >::intersectRectangles(), jmin(), juce::dsp::Oscillator< SampleType >::process(), juce::dsp::Phaser< SampleType >::process(), juce::dsp::ProcessorDuplicator< MonoProcessorType, StateType >::process(), juce::SingleThreadedAbstractFifo::read(), juce::Rectangle< ValueType >::Rectangle(), juce::Rectangle< ValueType >::removeFromBottom(), juce::Rectangle< ValueType >::removeFromLeft(), juce::Rectangle< ValueType >::removeFromRight(), juce::Rectangle< ValueType >::removeFromTop(), juce::ResizableBorderComponent::Zone::resizeRectangleBy(), juce::SelectedItemSet< SelectableItemType >::selectOnly(), juce::Rectangle< ValueType >::setBottom(), juce::Rectangle< ValueType >::setRight(), juce::AudioBuffer< float >::setSize(), juce::Rectangle< ValueType >::transformedBy(), juce::PixelARGB::unpremultiply(), juce::Rectangle< ValueType >::withBottom(), juce::Range< ValueType >::withEnd(), juce::Rectangle< ValueType >::withRight(), juce::Line< ValueType >::withShortenedEnd(), juce::Line< ValueType >::withShortenedStart(), and juce::SingleThreadedAbstractFifo::write().

## jmin() [2/4]

template<typename Type>

Type juce::jmin | ( | Type | a,
|  | Type | b,
|  | Type | c )

constexpr

Returns the smaller of three values.

## jmin() [3/4]

template<typename Type>

Type juce::jmin | ( | Type | a,
|  | Type | b,
|  | Type | c,
|  | Type | d )

constexpr

Returns the smaller of four values.

References jmin().

## jmap() [1/2]

template<typename Type>

Type juce::jmap | ( | Type | value0To1,
|  | Type | targetRangeMin,
|  | Type | targetRangeMax )

constexpr

Remaps a normalised value (between 0 and 1) to a target range.

This effectively returns (targetRangeMin + value0To1 * (targetRangeMax - targetRangeMin)).

Referenced by juce::dsp::LogRampedValue< FloatType >::getNextValue(), juce::dsp::LookupTable< FloatType >::getUnchecked(), and juce::dsp::LogRampedValue< FloatType >::skip().

## jmap() [2/2]

template<typename Type>

Type juce::jmap | ( | Type | sourceValue,
|  | Type | sourceRangeMin,
|  | Type | sourceRangeMax,
|  | Type | targetRangeMin,
|  | Type | targetRangeMax )

Remaps a value from a source range to a target range.

References approximatelyEqual(), and jassert.

## mapToLog10()

template<typename Type>

Type juce::mapToLog10 | ( | Type | value0To1,
|  | Type | logRangeMin,
|  | Type | logRangeMax )

Remaps a normalised value (between 0 and 1) to a logarithmic target range.

The entire target range must be greater than zero.

See also
  mapFromLog10

mapToLog10 (0.5, 0.4, 40.0) == 4.0
juce::mapToLog10
Type mapToLog10(Type value0To1, Type logRangeMin, Type logRangeMax)
Remaps a normalised value (between 0 and 1) to a logarithmic target range.
Definition juce_MathsFunctions.h:402

References jassert.

Referenced by juce::dsp::Phaser< SampleType >::process().

## mapFromLog10()

template<typename Type>

Type juce::mapFromLog10 | ( | Type | valueInLogRange,
|  | Type | logRangeMin,
|  | Type | logRangeMax )

Remaps a logarithmic value in a target range to a normalised value (between 0 and 1).

The entire target range must be greater than zero.

See also
  mapToLog10

mapFromLog10 (4.0, 0.4, 40.0) == 0.5
juce::mapFromLog10
Type mapFromLog10(Type valueInLogRange, Type logRangeMin, Type logRangeMax)
Remaps a logarithmic value in a target range to a normalised value (between 0 and 1).
Definition juce_MathsFunctions.h:424

References jassert.

## findMinimum()

template<typename Type, typename Size>

Type juce::findMinimum | ( | const Type * | data,
|  | Size | numValues )

Scans an array of values, returning the minimum value that it contains.

## findMaximum()

template<typename Type, typename Size>

Type juce::findMaximum | ( | const Type * | values,
|  | Size | numValues )

Scans an array of values, returning the maximum value that it contains.

## findMinAndMax()

template<typename Type>

void juce::findMinAndMax | ( | const Type * | values,
|  | int | numValues,
|  | Type & | lowest,
|  | Type & | highest )

Scans an array of values, returning the minimum and maximum values that it contains.

## jlimit()

template<typename Type>

Type juce::jlimit | ( | Type | lowerLimit,
|  | Type | upperLimit,
|  | Type | valueToConstrain )

noexcept

Constrains a value to keep it within a given range.

This will check that the specified value lies between the lower and upper bounds specified, and if not, will return the nearest value that would be in-range. Effectively, it's like calling jmax (lowerLimit, jmin (upperLimit, value)).

Note that it expects that lowerLimit <= upperLimit. If this isn't true, the results will be unpredictable.

Parameters

  lowerLimit | the minimum value to return
  upperLimit | the maximum value to return
  valueToConstrain | the value to try to return

Returns
  the closest value to valueToConstrain which lies between lowerLimit and upperLimit (inclusive)

See also
  jmin, jmax, jmap

References jassert.

Referenced by juce::Range< ValueType >::clipValue(), juce::ProgressBar::colourChanged(), juce::Range< ValueType >::constrainRange(), juce::Line< ValueType >::findNearestProportionalPositionTo(), juce::Rectangle< ValueType >::getConstrainedPoint(), juce::dsp::Phaser< SampleType >::process(), juce::dsp::LookupTableTransform< FloatType >::processSample(), juce::Array< SelectableItemType >::removeRange(), juce::OwnedArray< ObjectClass, TypeOfCriticalSectionToUse >::removeRange(), juce::ReferenceCountedArray< ObjectClass, TypeOfCriticalSectionToUse >::removeRange(), juce::MPEKeyboardComponent::setLift(), juce::MPEKeyboardComponent::setPressure(), juce::MPEKeyboardComponent::setVelocity(), juce::StandaloneFilterWindow::StandaloneFilterWindow(), and juce::Thread::RealtimeOptions::withPriority().

## isPositiveAndBelow() [1/2]

template<typename Type1, typename Type2>

bool juce::isPositiveAndBelow | ( | Type1 | valueToTest,
|  | Type2 | upperLimit )

noexcept

Returns true if a value is at least zero, and also below a specified upper limit.

This is basically a quicker way to write:

valueToTest >= 0 && valueToTest < upperLimit

References jassert.

Referenced by juce::AudioBuffer< float >::addFrom(), juce::AudioBuffer< float >::addFrom(), juce::AudioBuffer< float >::addFromWithRamp(), juce::AudioBuffer< float >::addSample(), juce::dsp::AudioBlock< const SampleType >::addSample(), juce::AudioBuffer< float >::applyGain(), juce::AudioBuffer< float >::applyGainRamp(), juce::AudioBuffer< float >::clear(), juce::AudioBuffer< float >::copyFrom(), juce::AudioBuffer< float >::copyFrom(), juce::AudioBuffer< float >::copyFrom(), juce::AudioBuffer< float >::copyFromWithRamp(), juce::AudioBuffer< float >::findMinMax(), juce::AudioBuffer< float >::getMagnitude(), juce::AudioProcessor::BusesLayout::getNumChannels(), juce::LegacyAudioParametersWrapper::getParamForIndex(), juce::AudioBuffer< float >::getReadPointer(), juce::AudioBuffer< float >::getReadPointer(), juce::AudioBuffer< float >::getRMSLevel(), juce::AudioBuffer< float >::getSample(), juce::dsp::AudioBlock< const SampleType >::getSample(), juce::dsp::LookupTable< FloatType >::getUnchecked(), juce::ArrayBase< ElementType, TypeOfCriticalSectionToUse >::getValueWithDefault(), juce::AudioBuffer< float >::getWritePointer(), juce::AudioBuffer< float >::getWritePointer(), juce::EdgeTable::iterate(), juce::HashMap< KeyType, ValueType, HashFunctionType, TypeOfCriticalSectionToUse >::Iterator, juce::ArrayBase< ElementType, TypeOfCriticalSectionToUse >::move(), juce::ArrayBase< ElementType, TypeOfCriticalSectionToUse >::operator[](), juce::ArrayBase< ElementType, TypeOfCriticalSectionToUse >::operator[](), juce::dsp::LookupTableTransform< FloatType >::processSample(), juce::Array< SelectableItemType >::remove(), juce::Array< SelectableItemType >::remove(), juce::OwnedArray< ObjectClass, TypeOfCriticalSectionToUse >::remove(), juce::ReferenceCountedArray< ObjectClass, TypeOfCriticalSectionToUse >::remove(), juce::Array< SelectableItemType >::removeAndReturn(), juce::OwnedArray< ObjectClass, TypeOfCriticalSectionToUse >::removeAndReturn(), juce::ReferenceCountedArray< ObjectClass, TypeOfCriticalSectionToUse >::removeAndReturn(), juce::AudioBuffer< float >::reverse(), juce::AudioBuffer< float >::setSample(), juce::dsp::AudioBlock< const SampleType >::setSample(), juce::Array< SelectableItemType >::setUnchecked(), juce::ArrayBase< ElementType, TypeOfCriticalSectionToUse >::swap(), juce::ReferenceCountedArray< ObjectClass, TypeOfCriticalSectionToUse >::swap(), and juce::midi_ci::ChannelAddress::withGroup().

## isPositiveAndBelow() [2/2]

template<typename Type>

bool juce::isPositiveAndBelow | ( | int | valueToTest,
|  | Type | upperLimit )

noexcept

References jassert.

## isPositiveAndNotGreaterThan() [1/2]

template<typename Type1, typename Type2>

bool juce::isPositiveAndNotGreaterThan | ( | Type1 | valueToTest,
|  | Type2 | upperLimit )

noexcept

Returns true if a value is at least zero, and also less than or equal to a specified upper limit.

This is basically a quicker way to write:

valueToTest >= 0 && valueToTest <= upperLimit

References jassert.

Referenced by juce::Thread::RealtimeOptions::withPriority().

## isPositiveAndNotGreaterThan() [2/2]

template<typename Type>

bool juce::isPositiveAndNotGreaterThan | ( | int | valueToTest,
|  | Type | upperLimit )

noexcept

References jassert.

## isWithin()

template<typename Type>

bool juce::isWithin | ( | Type | a,
|  | Type | b,
|  | Type | tolerance )

noexcept

Computes the absolute difference between two values and returns true if it is less than or equal to a given tolerance, otherwise it returns false.

## roundToInt() [1/2]

template<typename FloatType>

int juce::roundToInt | ( | const FloatType | value | ) |

noexcept

Fast floating-point-to-integer conversion.

This is faster than using the normal c++ cast to convert a float to an int, and it will round the value to the nearest integer, rather than rounding it down like the normal cast does.

Note that this routine gets its speed at the expense of some accuracy, and when rounding values whose floating point component is exactly 0.5, odd numbers and even numbers will be rounded up or down differently.

Referenced by juce::AudioParameterInt::get(), juce::AudioParameterChoice::getIndex(), juce::Point< ValueType >::roundToInt(), roundToIntAccurate(), juce::Rectangle< ValueType >::toNearestInt(), and juce::Rectangle< ValueType >::toNearestIntEdges().

## roundToInt() [2/2]

int juce::roundToInt | ( | int | value | ) |

inline noexcept

## roundToIntAccurate()

int juce::roundToIntAccurate | ( | double | value | ) |

inline noexcept

Fast floating-point-to-integer conversion.

This is a slightly slower and slightly more accurate version of roundToInt(). It works fine for values above zero, but negative numbers are rounded the wrong way.

References roundToInt().

## truncatePositiveToUnsignedInt()

template<typename FloatType>

unsigned int juce::truncatePositiveToUnsignedInt | ( | FloatType | value | ) |

noexcept

Truncates a positive floating-point number to an unsigned int.

This is generally faster than static_cast<unsigned int> (std::floor (x)) but it only works for positive numbers small enough to be represented as an unsigned int.

References jassert.

Referenced by juce::dsp::LookupTable< FloatType >::getUnchecked().

## isPowerOfTwo()

template<typename IntegerType>

bool juce::isPowerOfTwo | ( | IntegerType | value | ) |

constexpr

Returns true if the specified integer is a power-of-two.

Referenced by juce::SingleThreadedAbstractFifo::SingleThreadedAbstractFifo().

## nextPowerOfTwo()

int juce::nextPowerOfTwo | ( | int | n | ) |

inline noexcept

Returns the smallest power-of-two which is equal to or greater than the given integer.

## findHighestSetBit()

int juce::findHighestSetBit | ( | uint32 | n | ) |

noexcept

Returns the index of the highest set bit in a (non-zero) number.

So for n=3 this would return 1, for n=7 it returns 2, etc. An input value of 0 is illegal!

## countNumberOfBits() [1/2]

int juce::countNumberOfBits | ( | uint32 | n | ) |

constexpr noexcept

Returns the number of bits in a 32-bit integer.

Referenced by countNumberOfBits().

## countNumberOfBits() [2/2]

int juce::countNumberOfBits | ( | uint64 | n | ) |

constexpr noexcept

Returns the number of bits in a 64-bit integer.

References countNumberOfBits().

## negativeAwareModulo()

template<typename IntegerType>

IntegerType juce::negativeAwareModulo | ( | IntegerType | dividend,
|  | const IntegerType | divisor )

noexcept

Performs a modulo operation, but can cope with the dividend being negative.

The divisor must be greater than zero.

References jassert.

## square()

template<typename NumericType>

NumericType juce::square | ( | NumericType | n | ) |

inline constexpr noexcept

Returns the square of its argument.

## writeLittleEndianBitsInBuffer()

void juce::writeLittleEndianBitsInBuffer | ( | void * | targetBuffer,
|  | uint32 | startBit,
|  | uint32 | numBits,
|  | uint32 | value )

noexcept

Writes a number of bits into a memory buffer at a given bit index.

The buffer is treated as a sequence of 8-bit bytes, and the value is encoded in little-endian order, so for example if startBit = 10, and numBits = 11 then the lower 6 bits of the value would be written into bits 2-8 of targetBuffer[1], and the upper 5 bits of value into bits 0-5 of targetBuffer[2].

See also
  readLittleEndianBitsInBuffer

## readLittleEndianBitsInBuffer()

uint32 juce::readLittleEndianBitsInBuffer | ( | const void * | sourceBuffer,
|  | uint32 | startBit,
|  | uint32 | numBits )

noexcept

Reads a number of bits from a buffer at a given bit index.

The buffer is treated as a sequence of 8-bit bytes, and the value is encoded in little-endian order, so for example if startBit = 10, and numBits = 11 then the lower 6 bits of the result would be read from bits 2-8 of sourceBuffer[1], and the upper 5 bits of the result from bits 0-5 of sourceBuffer[2].

See also
  writeLittleEndianBitsInBuffer

## toUnderlyingType()

template<typename T>

auto juce::toUnderlyingType | ( | T | t | ) | ->std::enable_if_t< std::is_enum_v< T >, std::underlying_type_t< T > >

constexpr

Converts an enum to its underlying integral type.

Similar to std::to_underlying, which is only available in C++23 and above.

Referenced by juce::midi_ci::operator<().

## zeromem()

void juce::zeromem | ( | void * | memory,
|  | size_t | numBytes )

inline noexcept

Fills a block of memory with zeros.

Referenced by juce::SpeakerMappings::channelSetToVstArrangement(), juce::dsp::Matrix< ElementType >::clear(), juce::HeapBlock< char, true >::clear(), juce::AudioFormatReader::clearSamplesBeyondAvailableLength(), and juce::SpeakerMappings::VstSpeakerConfigurationHolder::VstSpeakerConfigurationHolder().

## zerostruct()

template<typename Type>

void juce::zerostruct | ( | Type & | structure | ) |

inline noexcept

Overwrites a structure or object with zeros.

## deleteAndZero()

template<typename Type>

void juce::deleteAndZero | ( | Type & | pointer | ) |

inline

Delete an object pointer, and sets the pointer to null.

Remember that it's not good c++ practice to use delete directly - always try to use a std::unique_ptr or other automatic lifetime-management system rather than resorting to deleting raw pointers!

## snapPointerToAlignment()

template<typename Type, typename IntegerType>

Type * juce::snapPointerToAlignment | ( | Type * | basePointer,
|  | IntegerType | alignmentBytes )

inline noexcept

A handy function to round up a pointer to the nearest multiple of a given number of bytes.

alignmentBytes must be a power of two.

Referenced by juce::dsp::AudioBlock< const SampleType >::AudioBlock(), juce::dsp::SIMDRegister< MaskType >::getNextSIMDAlignedPtr(), and juce::dsp::FIR::Filter< SampleType >::reset().

## getAddressDifference()

template<typename Type1, typename Type2>

int juce::getAddressDifference | ( | Type1 * | pointer1,
|  | Type2 * | pointer2 )

inline noexcept

A handy function which returns the difference between any two pointers, in bytes.

The address of the second pointer is subtracted from the first, and the difference in bytes is returned.

Referenced by juce::CharacterFunctions::copyWithDestByteLimit().

## createCopyIfNotNull()

template<class Type>

Type * juce::createCopyIfNotNull | ( | const Type * | objectToCopy | ) |

inline

If a pointer is non-null, this returns a new copy of the object that it points to, or safely returns nullptr if the pointer is null.

Referenced by juce::OwnedArray< ObjectClass, TypeOfCriticalSectionToUse >::addCopiesOf().

## readUnaligned()

template<typename Type>

Type juce::readUnaligned | ( | const void * | srcPtr | ) |

inline noexcept

A handy function to read un-aligned memory without a performance penalty or bus-error.

Referenced by juce::ARAHostModel::ConversionFunctions< A, B >::fromHostRef(), and juce::ARAHostModel::ConversionFunctions< A, B >::toHostRef().

## writeUnaligned()

template<typename Type>

void juce::writeUnaligned | ( | void * | dstPtr,
|  | Type | value )

inline noexcept

A handy function to write un-aligned memory without a performance penalty or bus-error.

## unalignedPointerCast() [1/2]

template<typename Type>

Type juce::unalignedPointerCast | ( | void * | ptr | ) |

inline noexcept

Casts a pointer to another type via void*, which suppresses the cast-align warning which sometimes arises when casting pointers to types with different alignment.

You should only use this when you know for a fact that the input pointer points to a region that has suitable alignment for Type, e.g. regions returned from malloc/calloc that should be suitable for any non-over-aligned type.

Referenced by addBytesToPointer(), addBytesToPointer(), juce::dsp::AudioBlock< const SampleType >::AudioBlock(), juce::MidiDataConcatenator::pushMidiData(), and juce::AudioBuffer< float >::setSize().

## unalignedPointerCast() [2/2]

template<typename Type>

Type juce::unalignedPointerCast | ( | const void * | ptr | ) |

inline noexcept

Casts a pointer to another type via void*, which suppresses the cast-align warning which sometimes arises when casting pointers to types with different alignment.

You should only use this when you know for a fact that the input pointer points to a region that has suitable alignment for Type, e.g. regions returned from malloc/calloc that should be suitable for any non-over-aligned type.

## addBytesToPointer() [1/2]

template<typename Type, typename IntegerType>

Type * juce::addBytesToPointer | ( | Type * | basePointer,
|  | IntegerType | bytes )

inline noexcept

A handy function which adds a number of bytes to any type of pointer and returns the result.

This can be useful to avoid casting pointers to a char* and back when you want to move them by a specific number of bytes,

References unalignedPointerCast().

Referenced by juce::String::appendCharPointer(), juce::String::appendCharPointer(), juce::dsp::AudioBlock< const SampleType >::AudioBlock(), juce::AudioData::ConverterInstance< SourceSampleType, DestSampleType >::convertSamples(), juce::AudioData::deinterleaveSamples(), juce::AudioData::interleaveSamples(), juce::AudioFormatReader::ReadHelper< DestSampleType, SourceSampleType, SourceEndianness >::read(), juce::MemoryMappedAudioFormatReader::sampleToPointer(), juce::MemoryMappedAudioFormatReader::scanMinAndMaxInterleaved(), and juce::AudioFormatWriter::WriteHelper< DestSampleType, SourceSampleType, DestEndianness >::write().

## addBytesToPointer() [2/2]

template<typename Type, typename IntegerType>

const Type * juce::addBytesToPointer | ( | const Type * | basePointer,
|  | IntegerType | bytes )

inline noexcept

A handy function which adds a number of bytes to any type of pointer and returns the result.

This can be useful to avoid casting pointers to a char* and back when you want to move them by a specific number of bytes,

References unalignedPointerCast().

## rawToUniquePtr()

template<typename T>

std::unique_ptr< T > juce::rawToUniquePtr | ( | T * | ptr | ) |

Converts an owning raw pointer into a unique_ptr, deriving the type of the unique_ptr automatically.

This should only be used with pointers to single objects. Do NOT pass a pointer to an array to this function, as the destructor of the unique_ptr will incorrectly call delete instead of delete[] on the pointer.

Referenced by juce::AudioPluginFormatManager::addFormat(), and createPluginFilterOfType().

## operator==() [7/16]

template<typename Type>

bool juce::operator== | ( | const Type * | object1,
|  | const ReferenceCountedObjectPtr< Type > & | object2 )

noexcept

Compares two ReferenceCountedObjectPtrs.

## operator!=() [7/16]

template<typename Type>

bool juce::operator!= | ( | const Type * | object1,
|  | const ReferenceCountedObjectPtr< Type > & | object2 )

noexcept

Compares two ReferenceCountedObjectPtrs.

## hasBitValueSet()

template<typename EnumType, std::enable_if_t< std::is_enum_v< EnumType >, int > = 0>

bool juce::hasBitValueSet | ( | EnumType | enumValue,
|  | EnumType | valueToLookFor )

constexpr noexcept

## withBitValueSet()

template<typename EnumType, std::enable_if_t< std::is_enum_v< EnumType >, int > = 0>

EnumType juce::withBitValueSet | ( | EnumType | enumValue,
|  | EnumType | valueToAdd )

constexpr noexcept

## withBitValueCleared()

template<typename EnumType, std::enable_if_t< std::is_enum_v< EnumType >, int > = 0>

EnumType juce::withBitValueCleared | ( | EnumType | enumValue,
|  | EnumType | valueToRemove )

constexpr noexcept

## withMember()

template<typename Object, typename OtherObject, typename Member, typename Other>

Object juce::withMember | ( | Object | copy,
|  | Member OtherObject::* | member,
|  | Other && | value )

nodiscard

Copies an object, sets one of the copy's members to the specified value, and then returns the copy.

Referenced by juce::Tolerance< Type >::withAbsolute(), juce::WebBrowserComponent::Options::AppleWkWebView::withAllowAccessToEnclosingDirectory(), juce::XEmbedComponentOptions::withAllowForeignWidgetToResizeComponent(), juce::WebBrowserComponent::Options::withAppleWkWebViewOptions(), juce::FontOptions::withAscentOverride(), juce::MessageBoxOptions::withAssociatedComponent(), juce::SpringEasingOptions::withAttenuation(), juce::AudioProcessorParameterWithIDAttributes::withAutomatable(), juce::AudioProcessorValueTreeStateParameterAttributes::withAutomatable(), juce::RangedAudioParameterAttributes< Derived, Value >::withAutomatable(), juce::WebBrowserComponent::Options::withBackend(), juce::WebBrowserComponent::Options::WinWebView2::withBackgroundColour(), juce::AudioFormatWriterOptions::withBitsPerSample(), juce::AudioProcessorValueTreeStateParameterAttributes::withBoolean(), juce::WebBrowserComponent::Options::WinWebView2::withBuiltInErrorPageDisabled(), juce::AudioProcessorParameterWithIDAttributes::withCategory(), juce::AudioProcessorValueTreeStateParameterAttributes::withCategory(), juce::RangedAudioParameterAttributes< Derived, Value >::withCategory(), juce::midi_ci::ChannelAddress::withChannel(), juce::AudioFormatWriterOptions::withChannelLayout(), juce::XEmbedComponentOptions::withClientWindow(), juce::FontOptions::withDescentOverride(), juce::ThreadPoolOptions::withDesiredThreadPriority(), juce::midi_ci::DeviceOptions::withDeviceInfo(), juce::universal_midi_packets::Endpoint::withDeviceInfo(), juce::universal_midi_packets::Block::withDirection(), juce::WebBrowserComponent::Options::AppleWkWebView::withDisabledAcceptsFirstMouse(), juce::AudioProcessorValueTreeStateParameterAttributes::withDiscrete(), juce::WebBrowserComponent::Options::WinWebView2::withDLLLocation(), juce::universal_midi_packets::Block::withEnabled(), juce::JSON::FormatOptions::withEncoding(), juce::ToVarOptions::withExplicitVersion(), juce::SpringEasingOptions::withExtraAttenuationRange(), juce::FontOptions::withFallbackEnabled(), juce::FontOptions::withFallbacks(), juce::midi_ci::DeviceOptions::withFeatures(), juce::universal_midi_packets::Block::withFirstGroup(), juce::SpringEasingOptions::withFrequency(), juce::midi_ci::DeviceOptions::withFunctionBlock(), juce::midi_ci::ChannelAddress::withGroup(), juce::universal_midi_packets::StaticDeviceInfo::withHasDestination(), juce::universal_midi_packets::StaticDeviceInfo::withHasSource(), juce::FontOptions::withHorizontalScale(), juce::MessageBoxOptions::withIconType(), juce::MidiDeviceInfo::withIdentifier(), juce::XEmbedComponentOptions::withIgnoreXembedMapped(), juce::JSON::FormatOptions::withIndentLevel(), juce::AudioProcessorParameterWithIDAttributes::withInverted(), juce::AudioProcessorValueTreeStateParameterAttributes::withInverted(), juce::RangedAudioParameterAttributes< Derived, Value >::withInverted(), juce::WebBrowserComponent::Options::withKeepPageLoadedWhenBrowserIsHidden(), juce::FontOptions::withKerningFactor(), juce::AudioProcessorParameterWithIDAttributes::withLabel(), juce::AudioProcessorValueTreeStateParameterAttributes::withLabel(), juce::RangedAudioParameterAttributes< Derived, Value >::withLabel(), juce::GlyphArrangementOptions::withLineHeightMultiple(), juce::GlyphArrangementOptions::withLineSpacing(), juce::universal_midi_packets::StaticDeviceInfo::withManufacturer(), juce::JSON::FormatOptions::withMaxDecimalPlaces(), juce::Thread::RealtimeOptions::withMaximumProcessingTimeMs(), juce::universal_midi_packets::Block::withMaxSysex8Streams(), juce::midi_ci::DeviceOptions::withMaxSysExSize(), juce::MessageBoxOptions::withMessage(), juce::AudioProcessorParameterWithIDAttributes::withMeta(), juce::AudioProcessorValueTreeStateParameterAttributes::withMeta(), juce::RangedAudioParameterAttributes< Derived, Value >::withMeta(), juce::AudioFormatWriterOptions::withMetadataValues(), juce::FontOptions::withMetricsKind(), juce::universal_midi_packets::Block::withMIDI1ProxyKind(), juce::universal_midi_packets::Endpoint::withMidi1Support(), juce::universal_midi_packets::Endpoint::withMidi2Support(), juce::FontOptions::withName(), juce::MidiDeviceInfo::withName(), juce::universal_midi_packets::Block::withName(), juce::universal_midi_packets::Endpoint::withName(), juce::universal_midi_packets::StaticDeviceInfo::withName(), juce::WebBrowserComponent::Options::withNativeIntegrationEnabled(), juce::ThreadPoolOptions::withNumberOfThreads(), juce::AudioFormatWriterOptions::withNumChannels(), juce::universal_midi_packets::Block::withNumGroups(), juce::midi_ci::DeviceOptions::withOutputs(), juce::MessageBoxOptions::withParentComponent(), juce::Thread::RealtimeOptions::withPeriodMs(), juce::Thread::RealtimeOptions::withPriority(), juce::Thread::RealtimeOptions::withProcessingTimeMs(), juce::universal_midi_packets::StaticDeviceInfo::withProduct(), juce::midi_ci::DeviceOptions::withProductInstanceId(), juce::universal_midi_packets::Endpoint::withProductInstanceId(), juce::midi_ci::DeviceOptions::withProfileDelegate(), juce::midi_ci::DeviceOptions::withPropertyDelegate(), juce::universal_midi_packets::Endpoint::withProtocol(), juce::AudioFormatWriterOptions::withQualityOptionIndex(), juce::SocketOptions::withReceiveBufferSize(), juce::universal_midi_packets::Endpoint::withReceiveJREnabled(), juce::universal_midi_packets::Endpoint::withReceiveJRSupport(), juce::Tolerance< Type >::withRelative(), juce::WebBrowserComponent::Options::withResourceProvider(), juce::AudioFormatWriterOptions::withSampleFormat(), juce::AudioFormatWriterOptions::withSampleRate(), juce::SocketOptions::withSendBufferSize(), juce::JSON::FormatOptions::withSpacing(), juce::universal_midi_packets::Endpoint::withStaticBlocks(), juce::WebBrowserComponent::Options::WinWebView2::withStatusBarDisabled(), juce::AudioProcessorValueTreeStateParameterAttributes::withStringFromValueFunction(), juce::RangedAudioParameterAttributes< Derived, Value >::withStringFromValueFunction(), juce::FontOptions::withStyle(), juce::ThreadPoolOptions::withThreadName(), juce::ThreadPoolOptions::withThreadStackSizeBytes(), juce::MessageBoxOptions::withTitle(), juce::universal_midi_packets::Endpoint::withTransmitJREnabled(), juce::universal_midi_packets::Endpoint::withTransmitJRSupport(), juce::universal_midi_packets::StaticDeviceInfo::withTransport(), juce::FontOptions::withTypeface(), juce::universal_midi_packets::Block::withUiHint(), juce::universal_midi_packets::Endpoint::withUMPVersion(), juce::FontOptions::withUnderline(), juce::WebBrowserComponent::Options::withUserAgent(), juce::WebBrowserComponent::Options::WinWebView2::withUserDataFolder(), juce::AudioProcessorValueTreeStateParameterAttributes::withValueFromStringFunction(), juce::RangedAudioParameterAttributes< Derived, Value >::withValueFromStringFunction(), juce::ToVarOptions::withVersionIncluded(), juce::XEmbedComponentOptions::withWantsKeyboardFocus(), and juce::WebBrowserComponent::Options::withWinWebView2Options().

## toFnPtr()

template<typename Functor>

constexpr auto juce::toFnPtr | ( | Functor | functor | ) |

static constexpr

Converts a captureless lambda to its equivalent function pointer type.

## ScopeGuard()

template<typename Fn>

juce::ScopeGuard | ( | Fn |  | ) | ->ScopeGuard< Fn >

## named() [1/2]

template<typename T>

auto juce::named | ( | std::string_view | c,
|  | T & | t )

constexpr

Produces a Named instance that holds a mutable reference.

Referenced by juce::universal_midi_packets::DeviceInfo::serialise().

## named() [2/2]

template<typename T>

auto juce::named | ( | std::string_view | c,
|  | const T & | t )

constexpr

Produces a Named instance that holds an immutable reference.

## serialisationSize() [1/2]

template<typename T>

auto juce::serialisationSize | ( | T & | t | ) | ->std::enable_if_t< std::is_integral_v< T >, SerialisationSize< T > >

constexpr

Produces a SerialisationSize instance that holds a mutable reference to a size value.

## serialisationSize() [2/2]

template<typename T>

auto juce::serialisationSize | ( | const T & | t | ) | ->std::enable_if_t< std::is_integral_v< T >, SerialisationSize< constT > >

constexpr

Produces a SerialisationSize instance that holds an immutable reference to a size value.

## operator<<() [2/34]

OutputStream &JUCE_CALLTYPE juce::operator<< | ( | OutputStream & | stream,
|  | const MemoryOutputStream & | streamToRead )

Copies all the data that has been written to a MemoryOutputStream into another stream.

References JUCE_CALLTYPE.

## operator<<() [3/34]

JUCE_API OutputStream &JUCE_CALLTYPE juce::operator<< | ( | OutputStream & | stream,
|  | int | number )

Writes a number to a stream as 8-bit characters in the default system encoding.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [4/34]

JUCE_API OutputStream &JUCE_CALLTYPE juce::operator<< | ( | OutputStream & | stream,
|  | int64 | number )

Writes a number to a stream as 8-bit characters in the default system encoding.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [5/34]

JUCE_API OutputStream &JUCE_CALLTYPE juce::operator<< | ( | OutputStream & | stream,
|  | double | number )

Writes a number to a stream as 8-bit characters in the default system encoding.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [6/34]

JUCE_API OutputStream &JUCE_CALLTYPE juce::operator<< | ( | OutputStream & | stream,
|  | char | character )

Writes a character to a stream.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [7/34]

JUCE_API OutputStream &JUCE_CALLTYPE juce::operator<< | ( | OutputStream & | stream,
|  | const char * | text )

Writes a null-terminated text string to a stream.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [8/34]

JUCE_API OutputStream &JUCE_CALLTYPE juce::operator<< | ( | OutputStream & | stream,
|  | const MemoryBlock & | data )

Writes a block of data from a MemoryBlock to a stream.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [9/34]

JUCE_API OutputStream &JUCE_CALLTYPE juce::operator<< | ( | OutputStream & | stream,
|  | const File & | fileToRead )

Writes the contents of a file to a stream.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [10/34]

JUCE_API OutputStream &JUCE_CALLTYPE juce::operator<< | ( | OutputStream & | stream,
|  | InputStream & | streamToRead )

Writes the complete contents of an input stream to an output stream.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [11/34]

JUCE_API OutputStream &JUCE_CALLTYPE juce::operator<< | ( | OutputStream & | stream,
|  | const NewLine & | )

Writes a new-line to a stream.

You can use the predefined symbol 'newLine' to invoke this, e.g.

myOutputStream << "Hello World" << newLine << newLine;
juce::newLine
NewLine newLine
A predefined object representing a new-line, which can be written to a string or stream.

See also
  OutputStream::setNewLineString

References JUCE_API, and JUCE_CALLTYPE.

## translate() [1/4]

JUCE_API String juce::translate | ( | const String & | stringLiteral | ) |

Uses the LocalisedStrings class to translate the given string literal.

See also
  LocalisedStrings

References JUCE_API.

## translate() [2/4]

JUCE_API String juce::translate | ( | const char * | stringLiteral | ) |

Uses the LocalisedStrings class to translate the given string literal.

See also
  LocalisedStrings

References JUCE_API.

## translate() [3/4]

JUCE_API String juce::translate | ( | CharPointer_UTF8 | stringLiteral | ) |

Uses the LocalisedStrings class to translate the given string literal.

See also
  LocalisedStrings

References JUCE_API.

## translate() [4/4]

JUCE_API String juce::translate | ( | const String & | stringLiteral,
|  | const String & | resultIfNotFound )

Uses the LocalisedStrings class to translate the given string literal.

See also
  LocalisedStrings

References JUCE_API.

## operator<<() [12/34]

String & juce::operator<< | ( | String & | string1,
|  | const NewLine & | )

inline

Writes a new-line sequence to a string.

You can use the predefined object 'newLine' to invoke this, e.g.

myString << "Hello World" << newLine << newLine;

References juce::NewLine::getDefault().

## operator+=()

String & juce::operator+= | ( | String & | s,
|  | const NewLine & | )

inline

References juce::NewLine::getDefault().

## operator+() [1/22]

String juce::operator+ | ( | const NewLine & | ,
|  | const NewLine & | )

inline

References juce::NewLine::getDefault().

## operator+() [2/22]

String juce::operator+ | ( | String | s,
|  | const NewLine & | )

inline

References juce::NewLine::getDefault().

## operator+() [3/22]

String juce::operator+ | ( | const NewLine & | ,
|  | String | s )

inline

References juce::NewLine::getDefault().

## operator+() [4/22]

String juce::operator+ | ( | const NewLine & | ,
|  | const char * | s )

inline

References juce::NewLine::getDefault().

## operator+() [5/22]

String juce::operator+ | ( | const char * | s,
|  | const NewLine & | )

inline

References juce::NewLine::getDefault().

## operator+() [6/22]

JUCE_API String JUCE_CALLTYPE juce::operator+ | ( | const char * | string1,
|  | const String & | string2 )

Concatenates two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator+() [7/22]

JUCE_API String JUCE_CALLTYPE juce::operator+ | ( | const wchar_t * | string1,
|  | const String & | string2 )

Concatenates two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator+() [8/22]

JUCE_API String JUCE_CALLTYPE juce::operator+ | ( | char | string1,
|  | const String & | string2 )

Concatenates two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator+() [9/22]

JUCE_API String JUCE_CALLTYPE juce::operator+ | ( | wchar_t | string1,
|  | const String & | string2 )

Concatenates two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator+() [10/22]

JUCE_API String JUCE_CALLTYPE juce::operator+ | ( | String | string1,
|  | const String & | string2 )

Concatenates two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator+() [11/22]

JUCE_API String JUCE_CALLTYPE juce::operator+ | ( | String | string1,
|  | const char * | string2 )

Concatenates two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator+() [12/22]

JUCE_API String JUCE_CALLTYPE juce::operator+ | ( | String | string1,
|  | const wchar_t * | string2 )

Concatenates two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator+() [13/22]

JUCE_API String JUCE_CALLTYPE juce::operator+ | ( | String | string1,
|  | const std::string & | string2 )

Concatenates two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator+() [14/22]

JUCE_API String JUCE_CALLTYPE juce::operator+ | ( | String | string1,
|  | char | characterToAppend )

Concatenates two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator+() [15/22]

JUCE_API String JUCE_CALLTYPE juce::operator+ | ( | String | string1,
|  | wchar_t | characterToAppend )

Concatenates two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [13/34]

JUCE_API String &JUCE_CALLTYPE juce::operator<< | ( | String & | string1,
|  | char | characterToAppend )

Appends a character at the end of a string.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [14/34]

JUCE_API String &JUCE_CALLTYPE juce::operator<< | ( | String & | string1,
|  | wchar_t | characterToAppend )

Appends a character at the end of a string.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [15/34]

JUCE_API String &JUCE_CALLTYPE juce::operator<< | ( | String & | string1,
|  | const char * | string2 )

Appends a string to the end of the first one.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [16/34]

JUCE_API String &JUCE_CALLTYPE juce::operator<< | ( | String & | string1,
|  | const wchar_t * | string2 )

Appends a string to the end of the first one.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [17/34]

JUCE_API String &JUCE_CALLTYPE juce::operator<< | ( | String & | string1,
|  | const String & | string2 )

Appends a string to the end of the first one.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [18/34]

JUCE_API String &JUCE_CALLTYPE juce::operator<< | ( | String & | string1,
|  | StringRef | string2 )

Appends a string to the end of the first one.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [19/34]

JUCE_API String &JUCE_CALLTYPE juce::operator<< | ( | String & | string1,
|  | const std::string & | string2 )

Appends a string to the end of the first one.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [20/34]

JUCE_API String &JUCE_CALLTYPE juce::operator<< | ( | String & | string1,
|  | uint8 | number )

Appends a decimal number to the end of a string.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [21/34]

JUCE_API String &JUCE_CALLTYPE juce::operator<< | ( | String & | string1,
|  | short | number )

Appends a decimal number to the end of a string.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [22/34]

JUCE_API String &JUCE_CALLTYPE juce::operator<< | ( | String & | string1,
|  | int | number )

Appends a decimal number to the end of a string.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [23/34]

JUCE_API String &JUCE_CALLTYPE juce::operator<< | ( | String & | string1,
|  | unsigned int | number )

Appends a decimal number to the end of a string.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [24/34]

JUCE_API String &JUCE_CALLTYPE juce::operator<< | ( | String & | string1,
|  | long | number )

Appends a decimal number to the end of a string.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [25/34]

JUCE_API String &JUCE_CALLTYPE juce::operator<< | ( | String & | string1,
|  | unsigned long | number )

Appends a decimal number to the end of a string.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [26/34]

JUCE_API String &JUCE_CALLTYPE juce::operator<< | ( | String & | string1,
|  | int64 | number )

Appends a decimal number to the end of a string.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [27/34]

JUCE_API String &JUCE_CALLTYPE juce::operator<< | ( | String & | string1,
|  | uint64 | number )

Appends a decimal number to the end of a string.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [28/34]

JUCE_API String &JUCE_CALLTYPE juce::operator<< | ( | String & | string1,
|  | float | number )

Appends a decimal number to the end of a string.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [29/34]

JUCE_API String &JUCE_CALLTYPE juce::operator<< | ( | String & | string1,
|  | double | number )

Appends a decimal number to the end of a string.

References JUCE_API, and JUCE_CALLTYPE.

## operator==() [8/16]

JUCE_API bool JUCE_CALLTYPE juce::operator== | ( | const String & | string1,
|  | const String & | string2 )

noexcept

Case-sensitive comparison of two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator==() [9/16]

JUCE_API bool JUCE_CALLTYPE juce::operator== | ( | const String & | string1,
|  | const char * | string2 )

noexcept

Case-sensitive comparison of two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator==() [10/16]

JUCE_API bool JUCE_CALLTYPE juce::operator== | ( | const String & | string1,
|  | const wchar_t * | string2 )

noexcept

Case-sensitive comparison of two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator==() [11/16]

JUCE_API bool JUCE_CALLTYPE juce::operator== | ( | const String & | string1,
|  | CharPointer_UTF8 | string2 )

noexcept

Case-sensitive comparison of two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator==() [12/16]

JUCE_API bool JUCE_CALLTYPE juce::operator== | ( | const String & | string1,
|  | CharPointer_UTF16 | string2 )

noexcept

Case-sensitive comparison of two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator==() [13/16]

JUCE_API bool JUCE_CALLTYPE juce::operator== | ( | const String & | string1,
|  | CharPointer_UTF32 | string2 )

noexcept

Case-sensitive comparison of two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator!=() [8/16]

JUCE_API bool JUCE_CALLTYPE juce::operator!= | ( | const String & | string1,
|  | const String & | string2 )

noexcept

Case-sensitive comparison of two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator!=() [9/16]

JUCE_API bool JUCE_CALLTYPE juce::operator!= | ( | const String & | string1,
|  | const char * | string2 )

noexcept

Case-sensitive comparison of two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator!=() [10/16]

JUCE_API bool JUCE_CALLTYPE juce::operator!= | ( | const String & | string1,
|  | const wchar_t * | string2 )

noexcept

Case-sensitive comparison of two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator!=() [11/16]

JUCE_API bool JUCE_CALLTYPE juce::operator!= | ( | const String & | string1,
|  | CharPointer_UTF8 | string2 )

noexcept

Case-sensitive comparison of two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator!=() [12/16]

JUCE_API bool JUCE_CALLTYPE juce::operator!= | ( | const String & | string1,
|  | CharPointer_UTF16 | string2 )

noexcept

Case-sensitive comparison of two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator!=() [13/16]

JUCE_API bool JUCE_CALLTYPE juce::operator!= | ( | const String & | string1,
|  | CharPointer_UTF32 | string2 )

noexcept

Case-sensitive comparison of two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [30/34]

template<class traits>

std::basic_ostream< char, traits > &JUCE_CALLTYPE juce::operator<< | ( | std::basic_ostream< char, traits > & | stream,
|  | const String & | stringToWrite )

This operator allows you to write a juce String directly to std output streams.

This is handy for writing strings to std::cout, std::cerr, etc.

References JUCE_CALLTYPE, and juce::String::toRawUTF8().

## operator<<() [31/34]

template<class traits>

std::basic_ostream< wchar_t, traits > &JUCE_CALLTYPE juce::operator<< | ( | std::basic_ostream< wchar_t, traits > & | stream,
|  | const String & | stringToWrite )

This operator allows you to write a juce String directly to std output streams.

This is handy for writing strings to std::wcout, std::wcerr, etc.

References JUCE_CALLTYPE, and juce::String::toWideCharPointer().

## operator<<() [32/34]

JUCE_API OutputStream &JUCE_CALLTYPE juce::operator<< | ( | OutputStream & | stream,
|  | const String & | stringToWrite )

Writes a string to an OutputStream as UTF8.

References JUCE_API, and JUCE_CALLTYPE.

## operator<<() [33/34]

JUCE_API OutputStream &JUCE_CALLTYPE juce::operator<< | ( | OutputStream & | stream,
|  | StringRef | stringToWrite )

Writes a string to an OutputStream as UTF8.

References JUCE_API, and JUCE_CALLTYPE.

## operator==() [14/16]

JUCE_API bool JUCE_CALLTYPE juce::operator== | ( | const String & | string1,
|  | StringRef | string2 )

noexcept

Case-sensitive comparison of two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator!=() [14/16]

JUCE_API bool JUCE_CALLTYPE juce::operator!= | ( | const String & | string1,
|  | StringRef | string2 )

noexcept

Case-sensitive comparison of two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator<() [2/4]

JUCE_API bool JUCE_CALLTYPE juce::operator< | ( | const String & | string1,
|  | StringRef | string2 )

noexcept

Case-sensitive comparison of two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator<=() [2/4]

JUCE_API bool JUCE_CALLTYPE juce::operator<= | ( | const String & | string1,
|  | StringRef | string2 )

noexcept

Case-sensitive comparison of two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator>() [2/4]

JUCE_API bool JUCE_CALLTYPE juce::operator> | ( | const String & | string1,
|  | StringRef | string2 )

noexcept

Case-sensitive comparison of two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator>=() [2/4]

JUCE_API bool JUCE_CALLTYPE juce::operator>= | ( | const String & | string1,
|  | StringRef | string2 )

noexcept

Case-sensitive comparison of two strings.

References JUCE_API, and JUCE_CALLTYPE.

## operator+() [16/22]

String juce::operator+ | ( | String | s1,
|  | StringRef | s2 )

inline

References juce::StringRef::text.

## operator+() [17/22]

String juce::operator+ | ( | StringRef | s1,
|  | const String & | s2 )

inline

References juce::StringRef::text.

## operator+() [18/22]

String juce::operator+ | ( | const char * | s1,
|  | StringRef | s2 )

inline

References juce::StringRef::text.

## operator+() [19/22]

String juce::operator+ | ( | StringRef | s1,
|  | const char * | s2 )

inline

References juce::StringRef::text.

## operator==() [15/16]

JUCE_API bool JUCE_CALLTYPE juce::operator== | ( | RelativeTime | t1,
|  | RelativeTime | t2 )

noexcept

Compares two RelativeTimes.

References JUCE_API, and JUCE_CALLTYPE.

## operator!=() [15/16]

JUCE_API bool JUCE_CALLTYPE juce::operator!= | ( | RelativeTime | t1,
|  | RelativeTime | t2 )

noexcept

Compares two RelativeTimes.

References JUCE_API, and JUCE_CALLTYPE.

## operator>() [3/4]

JUCE_API bool JUCE_CALLTYPE juce::operator> | ( | RelativeTime | t1,
|  | RelativeTime | t2 )

noexcept

Compares two RelativeTimes.

References JUCE_API, and JUCE_CALLTYPE.

## operator<() [3/4]

JUCE_API bool JUCE_CALLTYPE juce::operator< | ( | RelativeTime | t1,
|  | RelativeTime | t2 )

noexcept

Compares two RelativeTimes.

References JUCE_API, and JUCE_CALLTYPE.

## operator>=() [3/4]

JUCE_API bool JUCE_CALLTYPE juce::operator>= | ( | RelativeTime | t1,
|  | RelativeTime | t2 )

noexcept

Compares two RelativeTimes.

References JUCE_API, and JUCE_CALLTYPE.

## operator<=() [3/4]

JUCE_API bool JUCE_CALLTYPE juce::operator<= | ( | RelativeTime | t1,
|  | RelativeTime | t2 )

noexcept

Compares two RelativeTimes.

References JUCE_API, and JUCE_CALLTYPE.

## operator+() [20/22]

JUCE_API RelativeTime JUCE_CALLTYPE juce::operator+ | ( | RelativeTime | t1,
|  | RelativeTime | t2 )

noexcept

Adds two RelativeTimes together.

References JUCE_API, and JUCE_CALLTYPE.

## operator-() [1/3]

JUCE_API RelativeTime JUCE_CALLTYPE juce::operator- | ( | RelativeTime | t1,
|  | RelativeTime | t2 )

noexcept

Subtracts two RelativeTimes.

References JUCE_API, and JUCE_CALLTYPE.

## operator+() [21/22]

JUCE_API Time juce::operator+ | ( | Time | time,
|  | RelativeTime | delta )

noexcept

Adds a RelativeTime to a Time.

References JUCE_API.

## operator+() [22/22]

JUCE_API Time juce::operator+ | ( | RelativeTime | delta,
|  | Time | time )

noexcept

Adds a RelativeTime to a Time.

References JUCE_API.

## operator-() [2/3]

JUCE_API Time juce::operator- | ( | Time | time,
|  | RelativeTime | delta )

noexcept

Subtracts a RelativeTime from a Time.

References JUCE_API.

## operator-() [3/3]

JUCE_API RelativeTime juce::operator- | ( | Time | time1,
|  | Time | time2 )

noexcept

Returns the relative time difference between two times.

References JUCE_API.

## operator==() [16/16]

JUCE_API bool juce::operator== | ( | Time | time1,
|  | Time | time2 )

noexcept

Compares two Time objects.

References JUCE_API.

## operator!=() [16/16]

JUCE_API bool juce::operator!= | ( | Time | time1,
|  | Time | time2 )

noexcept

Compares two Time objects.

References JUCE_API.

## operator<() [4/4]

JUCE_API bool juce::operator< | ( | Time | time1,
|  | Time | time2 )

noexcept

Compares two Time objects.

References JUCE_API.

## operator<=() [4/4]

JUCE_API bool juce::operator<= | ( | Time | time1,
|  | Time | time2 )

noexcept

Compares two Time objects.

References JUCE_API.

## operator>() [4/4]

JUCE_API bool juce::operator> | ( | Time | time1,
|  | Time | time2 )

noexcept

Compares two Time objects.

References JUCE_API.

## operator>=() [4/4]

JUCE_API bool juce::operator>= | ( | Time | time1,
|  | Time | time2 )

noexcept

Compares two Time objects.

References JUCE_API.

## parseXML() [1/2]

std::unique_ptr< XmlElement > juce::parseXML | ( | const String & | textToParse | ) |

Attempts to parse some XML text, returning a new XmlElement if it was valid.

If the parse fails, this will return a nullptr - if you need more information about errors or more parsing options, see the XmlDocument class instead.

See also
  XmlDocument, parseXMLIfTagMatches

References parseXML().

Referenced by parseXML(), and parseXML().

## parseXML() [2/2]

std::unique_ptr< XmlElement > juce::parseXML | ( | const File & | fileToParse | ) |

Attempts to parse some XML text, returning a new XmlElement if it was valid.

If the parse fails, this will return a nullptr - if you need more information about errors or more parsing options, see the XmlDocument class instead.

See also
  XmlDocument, parseXMLIfTagMatches

References parseXML().

## parseXMLIfTagMatches() [1/2]

std::unique_ptr< XmlElement > juce::parseXMLIfTagMatches | ( | const String & | textToParse,
|  | StringRef | requiredTag )

Does an inexpensive check to see whether the top-level element has the given tag name, and if that's true, does a full parse and returns the result.

If the outer tag doesn't match, or the XML has errors, this will return nullptr;

See also
  parseXML

References parseXMLIfTagMatches().

Referenced by parseXMLIfTagMatches(), and parseXMLIfTagMatches().

## parseXMLIfTagMatches() [2/2]

std::unique_ptr< XmlElement > juce::parseXMLIfTagMatches | ( | const File & | fileToParse,
|  | StringRef | requiredTag )

Does an inexpensive check to see whether the top-level element has the given tag name, and if that's true, does a full parse and returns the result.

If the outer tag doesn't match, or the XML has errors, this will return nullptr;

See also
  parseXML

References parseXMLIfTagMatches().

## operator<<() [34/34]

OutputStream &JUCE_CALLTYPE juce::operator<< | ( | OutputStream & | ,
|  | const Value & | )

Writes a Value to an OutputStream as a UTF8 string.

References JUCE_CALLTYPE.

## jmin() [4/4]

template<typename Type>

dsp::SIMDRegister< Type > JUCE_VECTOR_CALLTYPE juce::jmin | ( | dsp::SIMDRegister< Type > | a,
|  | dsp::SIMDRegister< Type > | b )

inline

References JUCE_VECTOR_CALLTYPE, and juce::dsp::SIMDRegister< Type >::min().

## jmax() [4/4]

template<typename Type>

dsp::SIMDRegister< Type > JUCE_VECTOR_CALLTYPE juce::jmax | ( | dsp::SIMDRegister< Type > | a,
|  | dsp::SIMDRegister< Type > | b )

inline

References JUCE_VECTOR_CALLTYPE, and juce::dsp::SIMDRegister< Type >::max().

## initialiseJuce_GUI()

JUCE_API void JUCE_CALLTYPE juce::initialiseJuce_GUI | ( |  | ) |

Initialises JUCE's GUI classes.

If you're embedding JUCE into an application that uses its own event-loop rather than using the START_JUCE_APPLICATION macro, call this function before making any JUCE calls, to make sure things are initialised correctly.

Note that if you're creating a JUCE DLL for Windows, you may also need to call the Process::setCurrentModuleInstanceHandle() method.

See also
  shutdownJuce_GUI()

References JUCE_API, and JUCE_CALLTYPE.

## shutdownJuce_GUI()

JUCE_API void JUCE_CALLTYPE juce::shutdownJuce_GUI | ( |  | ) |

Clears up any static data being used by JUCE's GUI classes.

If you're embedding JUCE into an application that uses its own event-loop rather than using the START_JUCE_APPLICATION macro, call this function in your shutdown code to clean up any JUCE objects that might be lying around.

See also
  initialiseJuce_GUI()

References JUCE_API, and JUCE_CALLTYPE.

## maskPixelComponents()

uint32 juce::maskPixelComponents | ( | uint32 | x | ) |

inline noexcept

References x.

Referenced by juce::PixelARGB::blend(), juce::PixelARGB::blend(), juce::PixelRGB::blend(), juce::PixelRGB::blend(), and clampPixelComponents().

## clampPixelComponents()

uint32 juce::clampPixelComponents | ( | uint32 | x | ) |

inline noexcept

References maskPixelComponents(), and x.

Referenced by juce::PixelARGB::blend(), juce::PixelARGB::blend(), juce::PixelRGB::blend(), and juce::PixelRGB::blend().

## operator*() [2/2]

template<typename ValueType>

Point< ValueType > juce::operator* | ( | ValueType | value,
|  | Point< ValueType > | p )

noexcept

Multiplies the point's coordinates by a scalar value.

## createSnapshotOfNativeWindow()

Image juce::createSnapshotOfNativeWindow | ( | void * | nativeWindowHandle | ) |

## operator""_px() [1/2]

Grid::Px juce::operator""_px | ( | long double | px | ) |

constexpr

## operator""_px() [2/2]

Grid::Px juce::operator""_px | ( | unsigned long long | px | ) |

constexpr

## operator""_fr()

Grid::Fr juce::operator""_fr | ( | unsigned long long | fr | ) |

constexpr

## juce_handleXEmbedEvent()

bool juce::juce_handleXEmbedEvent | ( | ComponentPeer * | ,
|  | void * | )

## juce_getCurrentFocusWindow()

unsigned long juce::juce_getCurrentFocusWindow | ( | ComponentPeer * |  | ) |

## createOpenGLGraphicsContext() [1/3]

std::unique_ptr< LowLevelGraphicsContext > juce::createOpenGLGraphicsContext | ( | OpenGLContext & | ,
|  | int | width,
|  | int | height )

Creates a graphics context object that will render into the given OpenGL target.

## createOpenGLGraphicsContext() [2/3]

std::unique_ptr< LowLevelGraphicsContext > juce::createOpenGLGraphicsContext | ( | OpenGLContext & | ,
|  | OpenGLFrameBuffer & | )

Creates a graphics context object that will render into the given OpenGL framebuffer.

## createOpenGLGraphicsContext() [3/3]

std::unique_ptr< LowLevelGraphicsContext > juce::createOpenGLGraphicsContext | ( | OpenGLContext & | ,
|  | unsigned int | frameBufferID,
|  | int | width,
|  | int | height )

Creates a graphics context object that will render into the given OpenGL framebuffer, with the given size.

## Variable Documentation

## nullopt

auto juce::nullopt = std::nullopt

constexpr

Referenced by juce::midi_ci::PropertyExchangeResult::PropertyExchangeResult().

## dynamicExtent

auto juce::dynamicExtent = std::numeric_limits<size_t>::max()

inline constexpr

## newLine

NewLine juce::newLine

extern

A predefined object representing a new-line, which can be written to a string or stream.

To write a new-line to a stream, you can use the predefined 'newLine' variable like this:

myOutputStream << "Hello World" << newLine << newLine;

Referenced by juce::CppTokeniserFunctions::writeEscapeChars().

### Purchase

Get JUCE

### Discover

What's New in JUCE Features

### Learn

Documentaion Tutorials Made with JUCE Resources

### Support

JUCE Forum Newsletter Archive

### About

Contact Us JUCE Legal JUCE Licensing FAQ

### Events

Audio Developer Conference
© Raw Material Software Limited