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

Namespaces

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

Classes

struct  AAXClientExtensions
 An interface to allow an AudioProcessor to implement extended AAX-specific functionality. More...
class  AbstractFifo
 Encapsulates the logic required to implement a lock-free FIFO. 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  AccessibilityHandler
 Base class for accessible Components. 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  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  AccessibilityTextValueInterface
 A value interface that represents a text value. More...
class  AccessibilityValueInterface
 An abstract interface representing the value of an accessibility element. More...
class  AccessibleState
 Represents the state of an accessible UI element. 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  ActiveXControlComponent
 A Windows-specific class that can create and embed an ActiveX control inside itself. More...
class  ADSR
 A very simple ADSR envelope class. More...
class  AffineTransform
 Represents a 2D affine-transformation matrix. More...
class  AiffAudioFormat
 Reads and Writes AIFF format audio files. More...
class  AlertWindow
 A window that displays a message and has buttons for the user to react to it. More...
class  Analytics
 A singleton class to manage analytics data. More...
struct  AnalyticsDestination
 An interface for handling analytics events collected by an Analytics object. More...
class  AndroidDocument
 Provides access to a document on Android devices. More...
class  AndroidDocumentInfo
 Some information about a document. More...
class  AndroidDocumentInputSource
 An InputSource backed by an AndroidDocument. More...
class  AndroidDocumentIterator
 An iterator that visits child documents in a directory. More...
class  AndroidDocumentPermission
 Represents a permission granted to an application to read and/or write to a particular document or tree. More...
class  AndroidViewComponent
 An Android-specific class that can create and embed a View inside itself. More...
class  AnimatedAppComponent
 A base class for writing simple one-page graphical apps. 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  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  AppleRemoteDevice
 Receives events from an Apple IR remote control device (Only available in OSX!). 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  ApplicationProperties
 Manages a collection of properties. More...
class  ARAAudioModification
 Base class representing an ARA audio modification. More...
class  ARAAudioModificationListener
 A base class for listeners that want to know about changes to an ARAAudioModification object. More...
class  ARAAudioSource
 Base class representing an ARA audio source. More...
class  ARAAudioSourceListener
 A base class for listeners that want to know about changes to an ARAAudioSource object. More...
class  ARAAudioSourceReader
 Subclass of AudioFormatReader that reads samples from a single ARA audio source. More...
class  ARADocument
 Base class representing an ARA document. More...
class  ARADocumentController
class  ARADocumentControllerSpecialisation
 This class contains the customisation points for the JUCE provided ARA document controller implementation. More...
class  ARADocumentListener
 A base class for listeners that want to know about changes to an ARADocument object. More...
class  ARAEditGuard
 Reference counting helper class to ensure that the DocumentController is in editable state. 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...
struct  ARAFactoryResult
 Represents the result of AudioPluginFormatManager::createARAFactoryAsync(). 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...
class  ARAHostDocumentController
 Wrapper class for ARA::Host::DocumentController. More...
class  ARAInputStream
 Used to read persisted ARA archives - see doRestoreObjectsFromStream() for details. More...
class  ARAListenableModelClass
 Base class used by the JUCE ARA model objects to provide listenable interfaces. More...
class  ARAMusicalContext
 Base class representing an ARA musical context. More...
class  ARAMusicalContextListener
 A base class for listeners that want to know about changes to an ARAMusicalContext 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  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  ARAOutputStream
 Used to write persistent ARA archives - see doStoreObjectsToStream() for details. More...
class  ARAPlaybackRegion
 Base class representing an ARA playback region. More...
class  ARAPlaybackRegionListener
 A base class for listeners that want to know about changes to an ARAPlaybackRegion object. More...
class  ARAPlaybackRegionReader
 Subclass of AudioFormatReader that reads samples from a group of playback regions. More...
class  ARAPlaybackRenderer
 Base class for a renderer fulfilling the ARAPlaybackRenderer role as described in the ARA SDK. More...
class  ARARegionSequence
 Base class representing an ARA region sequence. More...
class  ARARegionSequenceListener
 A base class for listeners that want to know about changes to an ARARegionSequence object. More...
class  ARARenderer
 Base class for a renderer fulfilling either the ARAPlaybackRenderer or the ARAEditorRenderer role. More...
struct  ArgumentList
 Holds a list of command-line arguments, and provides useful methods for searching and operating on them. 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  ArrowButton
 A button with an arrow in it. More...
class  AsyncUpdater
 Has a callback method that is triggered asynchronously. More...
struct  Atomic
 A simple wrapper around std::atomic. More...
class  AttributedString
 A text string with a set of colour/font settings that are associated with sub-ranges of the text. More...
class  AudioAppComponent
 A base class for writing audio apps that stream from the audio i/o devices. More...
class  AudioBuffer
 A multi-channel buffer containing floating point audio samples. More...
class  AudioCDBurner
class  AudioCDReader
 A type of AudioFormatReader that reads from an audio CD. 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  AudioDeviceManager
 Manages the state of some audio and midi i/o devices. More...
class  AudioDeviceSelectorComponent
 A component containing controls to let the user change the audio settings of an AudioDeviceManager object. 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  AudioIODevice
 Base class for an audio device with synchronised input and output channels. More...
class  AudioIODeviceCallback
 One of these is passed to an AudioIODevice object to stream the audio data in and out. More...
struct  AudioIODeviceCallbackContext
 Additional information that may be passed to the AudioIODeviceCallback. More...
class  AudioIODeviceType
 Represents a type of audio driver, such as DirectSound, ASIO, CoreAudio, etc. More...
class  AudioParameterBool
 Provides a class of AudioProcessorParameter that can be used as a boolean value. More...
class  AudioParameterBoolAttributes
 Properties of an AudioParameterBool. More...
class  AudioParameterChoice
 Provides a class of AudioProcessorParameter that can be used to select an indexed, named choice from a list. More...
class  AudioParameterChoiceAttributes
 Properties of an AudioParameterChoice. More...
class  AudioParameterFloat
 A subclass of AudioProcessorParameter that provides an easy way to create a parameter which maps onto a given NormalisableRange. More...
class  AudioParameterFloatAttributes
 Properties of an AudioParameterFloat. More...
class  AudioParameterInt
 Provides a class of AudioProcessorParameter that can be used as an integer value with a given range. More...
class  AudioParameterIntAttributes
 Properties of an AudioParameterInt. 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  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  AudioPluginInstance
 Base class for an active instance of a plugin. More...
class  AudioProcessLoadMeasurer
 Maintains an ongoing measurement of the proportion of time which is being spent inside an audio callback. More...
class  AudioProcessor
 Base class for audio processing classes or plugins. More...
class  AudioProcessorARAExtension
 Extension class meant to be subclassed by the plugin's implementation of. More...
class  AudioProcessorEditor
 Base class for the component that acts as the GUI for an AudioProcessor. More...
class  AudioProcessorEditorARAExtension
 Extension class meant to be subclassed by the plugin's implementation of. More...
struct  AudioProcessorEditorHostContext
 Calling AudioProcessorEditor::getHostContext() may return a pointer to an instance of this class. 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...
class  AudioProcessorParameterWithID
 This abstract base class is used by some AudioProcessorParameter helper classes. 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  AudioProcessorPlayer
 An AudioIODeviceCallback object which streams audio through an AudioProcessor. More...
class  AudioProcessorValueTreeState
 This class contains a ValueTree that is used to manage an AudioProcessor's entire state. More...
class  AudioProcessorValueTreeStateParameterAttributes
 Advanced properties of an AudioProcessorValueTreeState::Parameter. More...
class  AudioSource
 Base class for objects that can produce a continuous stream of audio. More...
struct  AudioSourceChannelInfo
 Used by AudioSource::getNextAudioBlock(). More...
class  AudioSourcePlayer
 Wrapper class to continuously stream audio from an audio source to an AudioIODevice. More...
class  AudioSubsectionReader
 This class is used to wrap an AudioFormatReader and only read from a subsection of the file. 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  AudioTransportSource
 An AudioSource that takes a PositionableAudioSource and allows it to be played, stopped, started, etc. More...
class  AudioUnitPluginFormat
 Implements a plugin format manager for AudioUnits. More...
class  AudioUnitPluginFormatHeadless
 Implements a plugin format manager for AudioUnits. More...
class  AudioVisualiserComponent
 A simple component that can be used to show a scrolling waveform of audio data. 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...
struct  Base64
 Contains some static methods for converting between binary and the standard base-64 encoding format. More...
class  BigInteger
 An arbitrarily large integer class. More...
class  BlowFish
 BlowFish encryption class. 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  BooleanPropertyComponent
 A PropertyComponent that contains an on/off toggle button. More...
class  BorderedComponentBoundsConstrainer
 A ComponentBoundsConstrainer that can be used to add a constant border onto another ComponentBoundsConstrainer. More...
class  BorderSize
 Specifies a set of gaps to be left around the sides of a rectangle. More...
class  Box2DRenderer
 A simple implementation of the b2Draw class, used to draw a Box2D world. 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  BubbleMessageComponent
 A speech-bubble component that displays a short message. More...
class  BufferedInputStream
 Wraps another input stream, and reads from it using an intermediate buffer. More...
class  BufferingAudioReader
 An AudioFormatReader that uses a background thread to pre-read data from another reader. More...
class  BufferingAudioSource
 An AudioSource which takes another source as input, and buffers it using a thread. More...
class  BurgerMenuComponent
 A component which lists all menu items and groups them into categories by their respective parent menus. More...
class  Button
 A base class for buttons. More...
class  ButtonParameterAttachment
 An object of this class maintains a connection between a Button and a plug-in parameter. More...
class  ButtonPropertyComponent
 A PropertyComponent that contains a button. More...
class  ButtonTracker
 A class that automatically sends analytics events to the Analytics singleton when a button is clicked. More...
class  ByteOrder
 Contains static methods for converting the byte order between different endiannesses. More...
class  BytestreamSysexExtractor
class  CachedComponentImage
 Base class used internally for structures that can store cached images of component state. More...
class  CachedValue
 This class acts as a typed wrapper around a property inside a ValueTree. More...
class  CallbackMessage
 A message that invokes a callback method when it gets delivered. 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  CameraDevice
 Controls any video capture devices that might be available. More...
class  CaretComponent
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  ChannelRemappingAudioSource
 An AudioSource that takes the audio from another source, and re-maps its input and output channels to a different arrangement. 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  ChildProcess
 Launches and monitors a child process. More...
class  ChildProcessCoordinator
 Acts as the coordinator in a coordinator/worker pair of connected processes. 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  ChoicePropertyComponent
 A PropertyComponent that shows its value as a combo box. 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  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...
struct  ColourLayer
 A single path-based layer of a colour glyph. More...
class  ColourSelector
 A component that lets the user choose a colour. More...
class  ComboBox
 A component that lets the user choose from a drop-down list of choices. More...
class  ComboBoxParameterAttachment
 An object of this class maintains a connection between a ComboBox and a plug-in parameter. More...
class  Component
 The base class for all JUCE user-interface objects. 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  ComponentDragger
 An object to take care of the logic for dragging components around with the mouse. More...
class  ComponentListener
 Gets informed about changes to a component's hierarchy or position. More...
class  ComponentMovementWatcher
 An object that watches for any movement of a component or any of its parent components. More...
class  ComponentPeer
 The Component class uses a ComponentPeer internally to create and manage a real operating-system window. More...
class  ComponentTraverser
 Base class for traversing components. More...
class  ConcertinaPanel
 A panel which holds a vertical stack of components which can be expanded and contracted. More...
struct  ConsoleApplication
 Represents a the set of commands that a console app can perform, and provides helper functions for performing them. More...
struct  ContainerDeletePolicy
 Used by container classes as an indirect way to delete an object of a particular type. More...
class  ContentSharer
 Functions that allow sharing content between apps and devices. More...
class  CopyableHeapBlock
 Wraps a HeapBlock, but additionally provides a copy constructor and remembers its size. 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  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  CriticalSection
 A re-entrant mutex. 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  DatagramSocket
 A wrapper for a datagram (UDP) socket. More...
class  Decibels
 This class contains some helpful static methods for dealing with decibel values. More...
class  DefaultElementComparator
 A simple ElementComparator class that can be used to sort an array of objects that support the '<' operator. More...
struct  DefaultHashFunctions
 A simple class to generate hash functions for some primitive types, intended for use with the HashMap class. More...
class  DeletedAtShutdown
 Classes derived from this will be automatically deleted when the application exits. More...
class  Desktop
 Describes and controls aspects of the computer's desktop. More...
class  DialogWindow
 A dialog-box style window. 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  DirectoryEntry
 Describes the attributes of a file or folder. More...
class  Displays
 Manages details about connected display devices. More...
class  DocumentWindow
 A resizable window with a title bar and maximise, minimise and close buttons. 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  Draggable3DOrientation
 Stores a 3D orientation, which can be rotated by dragging with the mouse. More...
class  Drawable
 The base class for objects which can draw themselves, e.g. More...
class  DrawableButton
 A button that displays a Drawable. 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...
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  DropShadower
 Adds a drop-shadow to a component. 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  DynamicObject
 Represents a dynamically implemented object. 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  EdgeTable
 A table of horizontal scan-line segments - used for rasterising Paths. 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  ErasedScopeGuard
 A ScopeGuard that uses a std::function internally to allow type erasure. More...
class  Expression
 A class for dynamically evaluating simple numeric expressions. More...
struct  ExtensionsVisitor
 Create a derived implementation of this class and pass it to AudioPluginInstance::getExtensions() to retrieve format-specific information about a plugin instance. 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  File
 Represents a local file or directory. More...
class  FileBasedDocument
 A class to take care of the logic involved with the loading/saving of some kind of document. 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  FileDragAndDropTarget
 Components derived from this class can have files dropped onto them by an external application. More...
class  FileFilter
 Interface for deciding which files are suitable for something. More...
class  FileInputSource
 A type of InputSource that represents a normal file. More...
class  FileInputStream
 An input stream that reads from a local file. More...
class  FileListComponent
 A component that displays the files in a directory as a listbox. More...
class  FileLogger
 A simple implementation of a Logger that writes to a file. 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  FilenameComponentListener
 Listens for events happening to a FilenameComponent. More...
class  FileOutputStream
 An output stream that writes into a local file. 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  FileSearchPath
 Represents a set of folders that make up a search path. 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  FillType
 Represents a colour or fill pattern to use for rendering paths. More...
class  FixedSizeFunction< len, Ret(Args...)>
 A type similar to std::function that holds a callable object. More...
class  FlacAudioFormat
 Reads and writes the lossless-compression FLAC audio format. 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  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...
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  FocusChangeListener
 Classes can implement this interface and register themselves with the Desktop class to receive callbacks when the currently focused component changes. More...
class  FocusOutline
 Adds a focus outline to a component. More...
class  FocusTraverser
 Controls the order in which focus moves between components. More...
class  Font
 Represents a particular font, including its size, style, etc. More...
class  FontFeatureSetting
 Represents a single OpenType font feature setting. More...
class  FontFeatureTag
 Represents a single OpenType font feature. More...
class  FontOptions
 Options that describe a particular font. More...
class  FromVar
 Allows converting a var to an object of arbitrary type. 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  GenericInterpolator
 An interpolator base class for resampling streams of floats. More...
class  GenericScopedLock
 Automatically locks and unlocks a mutex object. More...
class  GenericScopedTryLock
 Automatically locks and unlocks a mutex object. More...
class  GenericScopedUnlock
 Automatically unlocks and re-locks a mutex object. More...
class  GIFImageFormat
 A subclass of ImageFileFormat for reading GIF files. More...
class  GlowEffect
 A component effect that adds a coloured blur around the component's contents. 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...
struct  GlyphLayer
 A single layer that makes up part of a glyph image. More...
class  Graphics
 A graphics context, used for drawing a component or image. 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  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  HashMap
 Holds a set of mappings between some key/value pairs. 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  HighResolutionTimer
 A high-resolution periodic timer. More...
struct  HostedAudioProcessorParameter
 A parameter with functions that are useful for plugin hosts. More...
struct  HostProvidedContextMenu
 This wraps a context menu for a specific parameter, as provided by the host. More...
class  HWNDComponent
 A Windows-specific class that can create and embed a HWND inside itself. More...
class  HyperlinkButton
 A button showing an underlined weblink, that will launch the link when it's clicked. More...
class  Identifier
 Represents a string identifier, designed for accessing properties by name. More...
class  IIRCoefficients
 A set of coefficients for use in an IIRFilter object. 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  IIRFilterAudioSource
 An AudioSource that performs an IIR filter on another source. More...
class  IIRFilterBase
 An IIR filter that can perform low, high, or band-pass filtering on an audio signal. More...
class  Image
 Holds a fixed-size bitmap. More...
class  ImageButton
 As the title suggests, this is a button containing an image. More...
class  ImageCache
 A global cache of images that have been loaded from files or memory. More...
class  ImageComponent
 A component that simply displays an image. More...
class  ImageConvolutionKernel
 Represents a filter kernel to use in convoluting an image. More...
class  ImageEffectFilter
 A graphical effect filter that can be applied to components. More...
class  ImageFileFormat
 Base-class for codecs that can read and write image file formats such as PNG, JPEG, etc. More...
struct  ImageLayer
 A bitmap representing (part of) a glyph, most commonly used to represent colour emoji glyphs. More...
class  ImagePixelData
 This is a base class for holding image data in implementation-specific ways. 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  ImagePixelDataNativeExtensions
class  ImagePreviewComponent
 A simple preview component that shows thumbnails of image files. More...
class  ImageType
 This base class is for handlers that control a type of image manipulation format, e.g. More...
class  InAppPurchases
 Provides in-app purchase functionality. 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  Interpolators
 A collection of different interpolators for resampling streams of floats. 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...
class  InterProcessLock
 Acts as a critical section which processes can use to block each other. More...
class  IPAddress
 Represents an IP address. More...
class  IteratorPair
 Wraps a pair of iterators, providing member begin() and end() functions that return those iterators. More...
class  JavascriptEngine
 This class is a wrapper around QuickJS, an ES2023 compliant, embeddable javascript engine. More...
class  JPEGImageFormat
 A subclass of ImageFileFormat for reading and writing JPEG files. 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  JSON
 Contains static methods for converting JSON-formatted text to and from var objects. More...
struct  JSONUtils
 A mini namespace to hold utility functions for working with juce::vars. More...
class  JUCEApplication
 An instance of this class is used to specify initialisation and shutdown code for the application. More...
class  JUCEApplicationBase
 Abstract base class for application classes. More...
class  Justification
 Represents a type of justification to be used when positioning graphical items. More...
class  KeyboardComponentBase
 A base class for drawing a custom MIDI keyboard component. More...
class  KeyboardFocusTraverser
 Controls the order in which keyboard focus moves between components. More...
class  KeyGeneration
 Contains static utilities for generating key-files that can be unlocked by the OnlineUnlockStatus class. More...
class  KeyListener
 Receives callbacks when keys are pressed. More...
class  KeyMappingEditorComponent
 A component to allow editing of the keymaps stored by a KeyPressMappingSet object. More...
class  KeyPress
 Represents a key press, including any modifier keys that are needed. More...
class  KeyPressMappingSet
 Manages and edits a list of keypresses, which it uses to invoke the appropriate command in an ApplicationCommandManager. More...
class  KnownPluginList
 Manages a list of plugin types. More...
class  Label
 A component that displays a text string, and can optionally become a text editor when clicked. More...
class  LADSPAPluginFormat
 Provided for backwards compatibility; LADSPA plugins are always headless. More...
class  LADSPAPluginFormatHeadless
 Implements a plugin format manager for LADSPA plugins. More...
class  LAMEEncoderAudioFormat
 An AudioFormat class which can use an installed version of the LAME mp3 encoder to encode a file. 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  LassoSource
 A class used by the LassoComponent to manage the things that it selects. 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  LegacyAudioParameter
class  LegacyAudioParametersWrapper
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  Line
 Represents a line. More...
class  LinkedListPointer
 Helps to manipulate singly-linked lists of objects. More...
class  ListBox
 A list of items that can be scrolled vertically. More...
class  ListBoxModel
 A subclass of this is used to drive a ListBox. 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  LocalisedStrings
 Used to convert strings to localised foreign-language versions. 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  Logger
 Acts as an application-wide logging class. 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  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...
class  LuaTokeniser
class  LV2PluginFormat
 Implements a plugin format for LV2 plugins. More...
class  LV2PluginFormatHeadless
 Implements a plugin format for LV2 plugins. More...
class  MACAddress
 Represents a MAC network card adapter address ID. More...
class  MarkerList
 Holds a set of named marker points along a one-dimensional axis. More...
struct  MathConstants
 Commonly used mathematical constants. More...
class  Matrix3D
 A 4x4 3D transformation matrix. More...
class  MD5
 MD5 checksum class. More...
class  MemoryAudioSource
 An AudioSource which takes some float audio data as an input. More...
class  MemoryBlock
 A class to hold a resizable block of raw data. More...
class  MemoryInputStream
 Allows a block of data to be accessed as a stream. More...
class  MemoryMappedAudioFormatReader
 A specialised type of AudioFormatReader that uses a MemoryMappedFile to read directly from an audio file. More...
class  MemoryMappedFile
 Maps a file into virtual memory for easy reading and/or writing. More...
class  MemoryOutputStream
 Writes data to an internal memory buffer, which grows as required. More...
class  MenuBarComponent
 A menu bar component. More...
class  MenuBarModel
 A class for controlling MenuBar components. More...
class  Message
 The base class for objects that can be sent to a MessageListener. 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  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  MidiBuffer
 Holds a sequence of time-stamped midi events. 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  MidiDataConcatenator
 Helper class that takes chunks of incoming midi bytes, packages them into messages, and dispatches them to a midi callback. More...
struct  MidiDeviceInfo
 This struct contains information about a MIDI 1.0 input or output port. 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...
class  MidiFile
 Reads/writes standard midi format files. 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  MidiKeyboardComponent
 A component that displays a piano keyboard, whose notes can be clicked on. More...
class  MidiKeyboardState
 Represents a piano keyboard, keeping track of which keys are currently pressed. More...
class  MidiMessage
 Encapsulates a MIDI message. More...
class  MidiMessageCollector
 Collects incoming realtime MIDI messages and turns them into blocks suitable for processing by a block-based audio callback. More...
 A view of MIDI message data stored in a contiguous buffer. More...
class  MidiMessageSequence
 A sequence of timestamped midi messages. More...
class  MidiOutput
 Represents a midi output device using the old bytestream format. 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...
struct  MidiRPNMessage
 Represents a MIDI RPN (registered parameter number) or NRPN (non-registered parameter number) message. More...
class  MixerAudioSource
 An AudioSource that mixes together the output of a set of other AudioSources. 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  ModalComponentManager
 Manages the system's stack of modal components. More...
class  ModifierKeys
 Represents the state of the mouse buttons and modifier keys. More...
class  MountedVolumeListChangeDetector
 An instance of this class will provide callbacks when drives are mounted or unmounted on the system. More...
class  MouseCursor
 Represents a mouse cursor image. More...
class  MouseEvent
 Contains position and status information about a mouse 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...
struct  MouseWheelDetails
 Contains status information about a mouse wheel event. More...
class  MP3AudioFormat
 Software-based MP3 decoding format (doesn't currently provide an encoder). 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  MPEInstrument
 This class represents an instrument handling MPE. More...
class  MPEKeyboardComponent
 A component that displays an MPE-compatible keyboard, whose notes can be clicked on. 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  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...
class  MultiChoicePropertyComponent
 A PropertyComponent that shows its value as an expandable list of ToggleButtons. More...
class  MultiDocumentPanel
 A component that contains a set of other components either in floating windows or tabs. More...
class  MultiDocumentPanelWindow
 This is a derivative of DocumentWindow that is used inside a MultiDocumentPanel component. More...
class  MultiTimer
 A type of timer class that can run multiple timers with different frequencies, all of which share a single callback. More...
struct  Named
 Combines an object with a name. More...
class  NamedPipe
 A cross-process pipe that can have data written to and read from it. More...
class  NamedValueSet
 Holds a set of named var objects. More...
class  NativeImageType
 An image storage type which holds the pixels using whatever is the default storage format on the current platform. 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...
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  NewLine
 This class is used for represent a new-line character sequence. More...
class  NormalisableRange
 Represents a mapping between an arbitrary range of values and a normalised 0->1 range. More...
class  NSViewComponent
 A Mac-specific class that can create and embed an NSView inside itself. More...
struct  NSViewComponentWithParent
struct  NullCheckedInvocation
 Some helper methods for checking a callable object before invoking with the specified arguments. More...
class  OggVorbisAudioFormat
 Reads and writes the Ogg-Vorbis audio format. 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  OpenGLAppComponent
 A base class for writing simple one-page graphical apps. 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  Optional
 A simple optional type. More...
class  OptionalScopedPointer
 Holds a pointer to an object which can optionally be deleted when this pointer goes out of scope. More...
class  OptionsBuilder
 A base class for building Options. More...
struct  OrderedContainerHelpers
 A helper struct providing functions for managing sorted containers. 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...
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  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...
class  OutputStream
 The base class for streams that write data to some kind of destination. More...
class  OwnedArray
 An array designed for holding objects. More...
class  Parallelogram
 Represents a parallelogram that is defined by 3 points. More...
class  ParameterAttachment
 Used to implement 'attachments' or 'controllers' that link a plug-in parameter to a UI element. More...
class  ParameterID
 Combines a parameter ID and a version hint. 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...
struct  PenDetails
 Contains status information about a pen event. More...
class  PerformanceCounter
 A timer for measuring performance of code and dumping the results to a file. More...
class  PixelAlpha
 Represents an 8-bit single-channel pixel, and can perform compositing operations on it. 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  PluginDescription
 A small class to represent some facts about a particular type of plug-in. More...
class  PluginDirectoryScanner
 Scans a directory for plugins, and adds them to a KnownPluginList. More...
class  PluginHostType
 A useful utility class to determine the host or DAW in which your plugin is loaded. More...
class  PluginListComponent
 A component displaying a list of plugins, with options to scan for them, add, remove and sort them. More...
class  PNGImageFormat
 A subclass of ImageFileFormat for reading and writing PNG files. More...
class  Point
 A pair of (x, y) coordinates. More...
class  PopupMenu
 Creates and displays a popup-menu. More...
class  PositionableAudioSource
 A type of AudioSource which can be repositioned. More...
class  PositionedGlyph
 A glyph from a particular font, with a particular size, style, typeface and position. More...
class  PreferencesPanel
 A component with a set of buttons at the top for changing between pages of preferences. More...
class  Primes
 Prime number creation class. More...
class  Process
 Represents the current executable's process. More...
class  ProgressBar
 A progress bar component. More...
class  PropertiesFile
 Wrapper on a file that stores a list of key/value data pairs. 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  PropertySet
 A set of named property values, which can be strings, integers, floating point, etc. More...
class  PushNotifications
 Singleton class responsible for push notifications functionality. More...
class  Quaternion
 Holds a quaternion (a 3D vector and a scalar value). 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  RangedAudioParameter
 This abstract base class is used by some AudioProcessorParameter helper classes. More...
class  RangedAudioParameterAttributes
class  RangedDirectoryIterator
 Allows iterating over files and folders using C++11 range-for syntax. More...
class  ReadWriteLock
 A critical section that allows multiple simultaneous readers. More...
class  RecentlyOpenedFilesList
 Manages a set of files for use as a list of recently-opened documents. 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  RectanglePlacement
 Defines the method used to position some kind of rectangular object within a rectangular viewport. More...
class  ReferenceCountedArray
 Holds a list of objects derived from ReferenceCountedObject, or which implement basic reference-count handling methods. More...
class  ReferenceCountedObject
 A base class which provides methods for reference-counting. More...
class  ReferenceCountedObjectPtr
 A smart-pointer class which points to a reference-counted object. 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  RelativeTime
 A relative measure of time. More...
class  ResamplingAudioSource
 A type of AudioSource that takes an input source and changes its sample rate. More...
struct  Reservoir
 Helper functions for managing buffered readers. 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  ResizableWindow
 A base class for top-level windows that can be dragged around and resized. 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  Reverb
 Performs a simple reverb effect on a stream of audio data. More...
class  ReverbAudioSource
 An AudioSource that uses the Reverb class to apply a reverb to another AudioSource. More...
class  RSAKey
 RSA public/private key-pair encryption class. More...
class  RuntimePermissions
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  ScaledImage
 An image that will be resampled before it is drawn. More...
class  ScheduledEventThread
class  ScopedAutoReleasePool
 A handy C++ wrapper that creates and deletes an NSAutoreleasePool object using RAII. More...
class  ScopedJuceInitialiser_GUI
 A utility object that helps you initialise and shutdown JUCE correctly using an RAII pattern. More...
class  ScopedMessageBox
 Objects of this type can be used to programmatically close message boxes. More...
class  ScopedNoDenormals
 Helper class providing an RAII-based mechanism for temporarily disabling denormals on your CPU. More...
class  ScopedReadLock
 Automatically locks and unlocks a ReadWriteLock object. More...
class  ScopedTimeMeasurement
 Simple RAII class for measuring the time spent in a scope. More...
class  ScopedTryReadLock
 Automatically locks and unlocks a ReadWriteLock object. More...
class  ScopedTryWriteLock
 Automatically locks and unlocks a ReadWriteLock object. More...
class  ScopedValueSetter
 Helper class providing an RAII-based mechanism for temporarily setting and then re-setting a value. More...
class  ScopedWriteLock
 Automatically locks and unlocks a ReadWriteLock object. More...
struct  ScopeGuard
 An easy way to ensure that a function is called at the end of the current scope. More...
class  ScrollBar
 A scrollbar component. More...
class  SelectedItemSet
 Manages a list of selectable items. 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...
struct  SerialisationTraits
 Allows serialisation functions to be attached to a specific type without having to modify the declaration of that type. More...
class  SettableTooltipClient
 An implementation of TooltipClient that stores the tooltip string and a method for changing it. More...
class  SHA256
 SHA-256 secure hash generator. More...
class  ShapeButton
 A button that contains a filled shape. More...
class  SharedResourcePointer
 A smart-pointer that automatically creates and manages the lifetime of a shared static instance of a class. 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  SingleThreadedAbstractFifo
 Encapsulates the logic for a single-threaded FIFO. 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  SingleThreadedReferenceCountedObject
 Adds reference-counting to an object. More...
struct  SingletonHolder
 Used by the JUCE_DECLARE_SINGLETON macros to manage a static pointer to a singleton instance. More...
class  Slider
 A slider control for changing a value. More...
class  SliderListener
 A class for receiving callbacks from a Slider or WebSliderRelay. More...
class  SliderParameterAttachment
 An object of this class maintains a connection between a Slider and a plug-in parameter. More...
class  SliderPropertyComponent
 A PropertyComponent that shows its value as a slider. More...
class  SmoothedValue
 A utility class for values that need smoothing to avoid audio glitches. More...
class  SmoothedValueBase
 A base class for the smoothed value classes. More...
class  SocketOptions
 Options used for the configuration of the underlying system socket in the StreamingSocket and DatagramSocket classes. More...
class  SoftwareImageType
 An image storage type which holds the pixels in-memory as a simple block of values. More...
class  SortedSet
 Holds a set of unique primitive objects, such as ints or doubles. More...
class  SoundPlayer
 A simple sound player that you can add to the AudioDeviceManager to play simple sounds. 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...
struct  SpeakerMappings
 Structure for VST speaker mappings. More...
class  SpinLock
 A simple spin-lock class that can be used as a simple, low-overhead mutex for uncontended situations. More...
class  SplashScreen
 A component for showing a splash screen while your app starts up. More...
class  SpringEasingOptions
 A selection of options available for customising a spring style easing function. More...
class  StandaloneFilterWindow
 A class that can be used to run a simple standalone application containing your filter. More...
class  StandalonePluginHolder
 An object that creates and plays a standalone instance of an AudioProcessor. More...
class  StaticAnimationLimits
 Helper class for using linear interpolation between a begin and an end value. More...
class  StatisticsAccumulator
 A class that measures various statistics about a series of floating point values that it is given. More...
class  StreamingSocket
 A wrapper for a streaming (TCP) socket. 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...
struct  StrictVariantConverter
 A helper type that can be used to implement specialisations of VariantConverter that use FromVar::convert and ToVar::convert internally. 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  SubregionStream
 Wraps another input stream, and reads from a specific part of it. More...
class  Synthesiser
 Base class for a musical device that can play sounds. 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  SystemAudioVolume
 Contains functions to control the system's master volume. More...
class  SystemClipboard
 Handles reading/writing to the system's clipboard. More...
class  SystemStats
 Contains methods for finding out about the current hardware and OS configuration. More...
class  SystemTrayIconComponent
 This component sits in the taskbar tray as a small icon. 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  TableHeaderComponent
 A component that displays a strip of column headings for a table, and allows these to be resized, dragged around, etc. More...
class  TableListBox
 A table of cells, using a TableHeaderComponent as its header. More...
class  TableListBoxModel
 One of these is used by a TableListBox as the data model for the table's contents. More...
class  TemporaryFile
 Manages a temporary file, which will be deleted when this object is deleted. More...
class  TextButton
 A button that uses the standard lozenge-shaped background with a line of text on it. More...
class  TextDiff
 Calculates and applies a sequence of changes to convert one text string into another. More...
class  TextDragAndDropTarget
 Components derived from this class can have text dropped onto them by an external application. More...
class  TextEditor
 An editable text box. 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  TextLayout
 A Pre-formatted piece of text, which may contain multiple fonts and colours. More...
class  TextPropertyComponent
 A PropertyComponent that shows its value as editable text. More...
class  Thread
 Encapsulates a thread. More...
class  ThreadedAnalyticsDestination
 A base class for dispatching analytics events on a dedicated thread. More...
class  ThreadLocalValue
 Provides cross-platform support for thread-local objects. More...
class  ThreadPool
 A set of threads that will run a list of jobs. 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  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  Time
 Holds an absolute date and time. 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  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  ToggleButton
 A button that can be toggled on/off. More...
class  Tolerance
 A class encapsulating both relative and absolute tolerances for use in floating-point comparisons. More...
class  ToneGeneratorAudioSource
 A simple AudioSource that generates a sine wave. More...
class  Toolbar
 A toolbar component. More...
class  ToolbarButton
 A type of button designed to go on a toolbar. 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  TooltipClient
 Components that want to use pop-up tooltips should implement this interface. 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  ToVar
 Allows converting an object of arbitrary type to var. More...
class  ToVarOptions
 Options that control conversion from arbitrary types to juce::var. More...
class  TracktionMarketplaceStatus
 An implementation of the OnlineUnlockStatus class which talks to the Tracktion Marketplace server. More...
class  TreeView
 A tree-view component. More...
class  TreeViewItem
 An item in a TreeView. More...
class  Typeface
 A typeface represents a size-independent font. More...
struct  TypefaceMetrics
 Font metrics using JUCE conventions. More...
class  UIViewComponent
 An iOS-specific class that can create and embed an UIView inside itself. 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  UnitTest
 This is a base class for classes that perform a unit test. More...
class  UnitTestRunner
 Runs a set of unit tests. More...
class  URL
 Represents a URL and has a bunch of useful functions to manipulate it. More...
class  URLInputSource
 A type of InputSource that represents a URL. More...
class  Uuid
 A universally unique 128-bit identifier. More...
class  Value
 Represents a shared variant value. More...
class  ValueAnimatorBuilder
 A builder class that can be used to construct an Animator wrapping a ValueAnimator implementation. 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  var
 A variant class, that can be used to hold a range of primitive values. More...
struct  VariantConverter
 This template-overloaded class can be used to convert between var and custom types. More...
class  VBlankAnimatorUpdater
 Similar to AnimatorUpdater, but automatically calls update() whenever the screen refreshes. More...
class  VBlankAttachment
 Helper class to synchronise Component updates to the vertical blank event of the display that the Component is presented on. More...
class  Vector3D
 A three-coordinate vector. More...
class  VideoComponent
 A component that can play a movie. More...
class  Viewport
 A Viewport is used to contain a larger child component, and allows the child to be automatically scrolled around. 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  VST3PluginFormatHeadless
 Implements a plugin format for VST3s. More...
class  VSTMidiEventList
 Holds a set of VSTMidiEvent objects and makes it easy to add events to the list. More...
class  VSTPluginFormat
 Implements a plugin format manager for VSTs. More...
class  VSTPluginFormatHeadless
 Implements a plugin format manager for VSTs. More...
class  WaitableEvent
 Allows threads to wait for events triggered by other threads. More...
class  WaitFreeListeners
class  WavAudioFormat
 Reads and Writes WAV format audio files. More...
class  WeakReference
 This class acts as a pointer which will automatically become null if the object to which it points is deleted. More...
class  WebBrowserComponent
 A component that displays an embedded web browser. More...
class  WebComboBoxParameterAttachment
 An object of this class maintains a connection between a WebComboBoxRelay and a plug-in parameter. More...
class  WebComboBoxRelay
 Helper class that relays audio parameter information to an object inside a WebBrowserComponent. More...
class  WebControlParameterIndexReceiver
 This is a helper class for implementing AudioProcessorEditor::getControlParameterIndex with GUIs using a WebBrowserComponent. More...
class  WebInputStream
 An InputStream which can be used to read from a given URL. More...
class  WebSliderParameterAttachment
 An object of this class maintains a connection between a WebSliderRelay and a plug-in parameter. More...
class  WebSliderRelay
 Helper class that relays audio parameter information to an object inside a WebBrowserComponent. More...
class  WebToggleButtonParameterAttachment
 An object of this class maintains a connection between a WebToggleButtonRelay and a plug-in parameter. More...
class  WebToggleButtonRelay
 Helper class that relays audio parameter information to an object inside a WebBrowserComponent. More...
class  WebViewLifetimeListener
 Type for a listener registered with WebBrowserComponent::Options::withWebViewLifetimeListener. More...
class  Whirlpool
 Whirlpool hash class. More...
class  WildcardFileFilter
 A type of FileFilter that works by wildcard pattern matching. More...
class  WindowsMediaAudioFormat
 Audio format which uses the Windows Media codecs (Windows only). More...
class  WindowsRegistry
 Contains some static helper functions for manipulating the MS Windows registry (Only available on Windows, of course!) More...
struct  WindowUtils
 Windowing helper functions. More...
class  WorkgroupToken
 Created by AudioWorkgroup to join the calling thread to a workgroup. More...
class  XEmbedComponent
 A Linux-specific class that can embed a foreign X11 widget. More...
struct  XmlAttribute
 A name-value pair representing an attribute of an XML tag. More...
class  XmlDocument
 Parses a text-based XML document and creates an XmlElement object from it. More...
class  XmlElement
 Used to build a tree of elements representing an XML document. More...
class  XmlTokeniser
class  ZipFile
 Decodes a ZIP file from a stream. 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 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< AudioProcessorcreatePluginFilterOfType (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 DirectoryEntryoperator* (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.
Stringoperator<< (String &string1, const NewLine &)
 Writes a new-line sequence to a string.
Stringoperator+= (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, 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< XmlElementparseXML (const String &textToParse)
 Attempts to parse some XML text, returning a new XmlElement if it was valid.
std::unique_ptr< XmlElementparseXML (const File &fileToParse)
 Attempts to parse some XML text, returning a new XmlElement if it was valid.
std::unique_ptr< XmlElementparseXMLIfTagMatches (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< XmlElementparseXMLIfTagMatches (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< LowLevelGraphicsContextcreateOpenGLGraphicsContext (OpenGLContext &, int width, int height)
 Creates a graphics context object that will render into the given OpenGL target.
std::unique_ptr< LowLevelGraphicsContextcreateOpenGLGraphicsContext (OpenGLContext &, OpenGLFrameBuffer &)
 Creates a graphics context object that will render into the given OpenGL framebuffer.
std::unique_ptr< LowLevelGraphicsContextcreateOpenGLGraphicsContext (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

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

◆ WindowedSincInterpolator

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

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

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

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

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

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

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
}
};
A re-entrant mutex.
Definition juce_CriticalSection.h:55
CriticalSection::ScopedLockType ScopedLock
Automatically locks and unlocks a CriticalSection object.
Definition juce_CriticalSection.h:198
See also
CriticalSection, ScopedUnlock

◆ ScopedUnlock

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.
}
};
CriticalSection::ScopedUnlockType ScopedUnlock
Automatically unlocks and re-locks a CriticalSection object.
Definition juce_CriticalSection.h:238
See also
CriticalSection, ScopedLock

◆ ScopedTryLock

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..
}
}
};
CriticalSection::ScopedTryLockType ScopedTryLock
Automatically tries to lock and unlock a CriticalSection object.
Definition juce_CriticalSection.h:272
See also
CriticalSection::tryEnter, ScopedLock, ScopedUnlock, ScopedReadLock

◆ 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

The type used for OSC type tag strings.

Enumeration Type Documentation

◆ SysexExtractorCallbackKind

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

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 )

◆ operator!=() [1/16]

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

◆ createPluginFilterOfType()

◆ 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()

◆ 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 )
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
comparatoran object which defines a compareElements() method
arraythe array to sort
firstElementthe index of the first element of the range to be sorted
lastElementthe index of the last element in the range that needs sorting (this is inclusive)
retainOrderOfEquivalentItemsif 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
comparatoran object which defines a compareElements() method
arraythe array to search
newElementthe value that is going to be inserted
firstElementthe index of the first element to search
lastElementthe 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 )
nodiscardconstexpr

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 = {} )
nodiscardconstexpr

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
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< const T, 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)
noexcept

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

◆ begin()

◆ end()

◆ juce_isRunningUnderDebugger()

bool juce::juce_isRunningUnderDebugger ( )
externnoexcept

References JUCE_API, and JUCE_CALLTYPE.

◆ logAssertion()

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

References JUCE_API, JUCE_CALLTYPE, and logAssertion().

Referenced by logAssertion().

◆ operator<<() [1/33]

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(), and juce::RectangleList< ValueType >::subtract().

◆ numElementsInArray()

template<typename Type, size_t N>
int juce::numElementsInArray ( Type(&) [N])
constexprnoexcept

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
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)
constexprnoexcept

Converts an angle in degrees to radians.

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

◆ radiansToDegrees()

template<typename FloatType>
FloatType juce::radiansToDegrees ( FloatType radians)
constexprnoexcept

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()

◆ 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
aThe first number to compare.
bThe second number to compare.
toleranceAn 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
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
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
lowerLimitthe minimum value to return
upperLimitthe maximum value to return
valueToConstrainthe 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)
noexcept

◆ roundToIntAccurate()

int juce::roundToIntAccurate ( double value)
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)
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)
constexprnoexcept

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

Referenced by countNumberOfBits().

◆ countNumberOfBits() [2/2]

int juce::countNumberOfBits ( uint64 n)
constexprnoexcept

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)
constexprnoexcept

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()

◆ zerostruct()

template<typename Type>
void juce::zerostruct ( Type & structure)
noexcept

Overwrites a structure or object with zeros.

◆ deleteAndZero()

template<typename Type>
void juce::deleteAndZero ( Type & pointer)

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 )
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 )
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)

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)
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 )
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)
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)
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]

◆ addBytesToPointer() [2/2]

template<typename Type, typename IntegerType>
const Type * juce::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.

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 )
constexprnoexcept

◆ withBitValueSet()

template<typename EnumType, std::enable_if_t< std::is_enum_v< EnumType >, int > = 0>
EnumType juce::withBitValueSet ( EnumType enumValue,
EnumType valueToAdd )
constexprnoexcept

◆ withBitValueCleared()

template<typename EnumType, std::enable_if_t< std::is_enum_v< EnumType >, int > = 0>
EnumType juce::withBitValueCleared ( EnumType enumValue,
EnumType valueToRemove )
constexprnoexcept

◆ 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::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::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::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(), and juce::WebBrowserComponent::Options::withWinWebView2Options().

◆ toFnPtr()

template<typename Functor>
constexpr auto juce::toFnPtr ( Functor functor)
staticconstexpr

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<const T>>
constexpr

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

◆ operator<<() [2/33]

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/33]

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/33]

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/33]

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/33]

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/33]

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/33]

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/33]

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/33]

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/33]

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;
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/33]

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

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 &  )

◆ operator+() [1/22]

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

◆ operator+() [2/22]

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

◆ operator+() [3/22]

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

◆ operator+() [4/22]

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

◆ operator+() [5/22]

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

◆ 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/33]

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/33]

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/33]

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/33]

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/33]

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/33]

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/33]

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/33]

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/33]

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/33]

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/33]

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<<() [24/33]

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<<() [25/33]

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<<() [26/33]

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<<() [27/33]

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<<() [28/33]

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<<() [29/33]

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<<() [30/33]

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<<() [31/33]

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<<() [32/33]

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 )

References juce::StringRef::text.

◆ operator+() [17/22]

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

References juce::StringRef::text.

◆ operator+() [18/22]

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

References juce::StringRef::text.

◆ operator+() [19/22]

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

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<<() [33/33]

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 )

◆ jmax() [4/4]

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

◆ 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()

◆ clampPixelComponents()

uint32 juce::clampPixelComponents ( uint32 x)
noexcept

◆ 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

◆ dynamicExtent

auto juce::dynamicExtent = std::numeric_limits<size_t>::max()
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().

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram