Browse Source

Build: Replace JUCE_NODISCARD with [[nodiscard]]

v7.0.9
reuk 2 years ago
parent
commit
8b8ae10059
No known key found for this signature in database GPG Key ID: FCB43929F012EE5C
20 changed files with 167 additions and 167 deletions
  1. +1
    -1
      extras/Projucer/Source/Project/UI/Sidebar/jucer_Sidebar.h
  2. +3
    -3
      modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h
  3. +2
    -2
      modules/juce_audio_processors/processors/juce_AudioProcessor.h
  4. +4
    -4
      modules/juce_audio_processors/processors/juce_AudioProcessorListener.h
  5. +10
    -10
      modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h
  6. +12
    -12
      modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h
  7. +10
    -10
      modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h
  8. +11
    -11
      modules/juce_core/maths/juce_Range.h
  9. +20
    -20
      modules/juce_core/network/juce_URL.h
  10. +2
    -2
      modules/juce_core/xml/juce_XmlElement.h
  11. +17
    -17
      modules/juce_graphics/colour/juce_Colour.h
  12. +8
    -8
      modules/juce_graphics/fonts/juce_Font.h
  13. +20
    -20
      modules/juce_graphics/geometry/juce_Rectangle.h
  14. +13
    -13
      modules/juce_gui_basics/accessibility/juce_AccessibilityState.h
  15. +4
    -4
      modules/juce_gui_basics/keyboard/juce_ModifierKeys.h
  16. +13
    -13
      modules/juce_gui_basics/menus/juce_PopupMenu.h
  17. +7
    -7
      modules/juce_gui_basics/mouse/juce_PointerState.h
  18. +1
    -1
      modules/juce_gui_basics/native/juce_mac_PerScreenDisplayLinks.h
  19. +5
    -5
      modules/juce_gui_basics/windows/juce_MessageBoxOptions.h
  20. +4
    -4
      modules/juce_gui_extra/misc/juce_WebBrowserComponent.h

+ 1
- 1
extras/Projucer/Source/Project/UI/Sidebar/jucer_Sidebar.h View File

@@ -185,7 +185,7 @@ public:
findPanel = (1 << 2)
};
JUCE_NODISCARD AdditionalComponents with (Type t)
[[nodiscard]] AdditionalComponents with (Type t)
{
auto copy = *this;
copy.componentTypes |= t;


+ 3
- 3
modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h View File

@@ -102,13 +102,13 @@ public:
double getEffectiveRate() const { return pulldown ? (double) base / 1.001 : (double) base; }
/** Returns a copy of this object with the specified base rate. */
JUCE_NODISCARD FrameRate withBaseRate (int x) const { return with (&FrameRate::base, x); }
[[nodiscard]] FrameRate withBaseRate (int x) const { return with (&FrameRate::base, x); }
/** Returns a copy of this object with drop frames enabled or disabled, as specified. */
JUCE_NODISCARD FrameRate withDrop (bool x = true) const { return with (&FrameRate::drop, x); }
[[nodiscard]] FrameRate withDrop (bool x = true) const { return with (&FrameRate::drop, x); }
/** Returns a copy of this object with pulldown enabled or disabled, as specified. */
JUCE_NODISCARD FrameRate withPullDown (bool x = true) const { return with (&FrameRate::pulldown, x); }
[[nodiscard]] FrameRate withPullDown (bool x = true) const { return with (&FrameRate::pulldown, x); }
/** Returns true if this instance is equal to other. */
bool operator== (const FrameRate& other) const


+ 2
- 2
modules/juce_audio_processors/processors/juce_AudioProcessor.h View File

@@ -1361,8 +1361,8 @@ protected:
void addBus (bool isInput, const String& name, const AudioChannelSet& defaultLayout, bool isActivatedByDefault = true);
JUCE_NODISCARD BusesProperties withInput (const String& name, const AudioChannelSet& defaultLayout, bool isActivatedByDefault = true) const;
JUCE_NODISCARD BusesProperties withOutput (const String& name, const AudioChannelSet& defaultLayout, bool isActivatedByDefault = true) const;
[[nodiscard]] BusesProperties withInput (const String& name, const AudioChannelSet& defaultLayout, bool isActivatedByDefault = true) const;
[[nodiscard]] BusesProperties withOutput (const String& name, const AudioChannelSet& defaultLayout, bool isActivatedByDefault = true) const;
};
/** Callback to query if adding/removing buses currently possible.


+ 4
- 4
modules/juce_audio_processors/processors/juce_AudioProcessorListener.h View File

@@ -78,7 +78,7 @@ public:
@see latencyChanged
*/
JUCE_NODISCARD ChangeDetails withLatencyChanged (bool b) const noexcept { return with (&ChangeDetails::latencyChanged, b); }
[[nodiscard]] ChangeDetails withLatencyChanged (bool b) const noexcept { return with (&ChangeDetails::latencyChanged, b); }
/** Indicates that some attributes of the AudioProcessor's parameters have changed.
@@ -88,7 +88,7 @@ public:
@see parameterInfoChanged
*/
JUCE_NODISCARD ChangeDetails withParameterInfoChanged (bool b) const noexcept { return with (&ChangeDetails::parameterInfoChanged, b); }
[[nodiscard]] ChangeDetails withParameterInfoChanged (bool b) const noexcept { return with (&ChangeDetails::parameterInfoChanged, b); }
/** Indicates that the loaded program has changed.
@@ -97,7 +97,7 @@ public:
@see programChanged
*/
JUCE_NODISCARD ChangeDetails withProgramChanged (bool b) const noexcept { return with (&ChangeDetails::programChanged, b); }
[[nodiscard]] ChangeDetails withProgramChanged (bool b) const noexcept { return with (&ChangeDetails::programChanged, b); }
/** Indicates that the plugin state has changed (but not its parameters!).
@@ -110,7 +110,7 @@ public:
@see nonParameterStateChanged
*/
JUCE_NODISCARD ChangeDetails withNonParameterStateChanged (bool b) const noexcept { return with (&ChangeDetails::nonParameterStateChanged, b); }
[[nodiscard]] ChangeDetails withNonParameterStateChanged (bool b) const noexcept { return with (&ChangeDetails::nonParameterStateChanged, b); }
/** Returns the default set of flags that will be used when
AudioProcessor::updateHostDisplay() is called with no arguments.


+ 10
- 10
modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h View File

@@ -71,34 +71,34 @@ public:
using Category = AudioProcessorParameter::Category;
/** An optional label for the parameter's value */
JUCE_NODISCARD auto withLabel (String x) const { return withMember (*this, &This::label, std::move (x)); }
[[nodiscard]] auto withLabel (String x) const { return withMember (*this, &This::label, std::move (x)); }
/** The semantics of this parameter */
JUCE_NODISCARD auto withCategory (Category x) const { return withMember (*this, &This::category, std::move (x)); }
[[nodiscard]] auto withCategory (Category x) const { return withMember (*this, &This::category, std::move (x)); }
/** @see AudioProcessorParameter::isMetaParameter() */
JUCE_NODISCARD auto withMeta (bool x) const { return withMember (*this, &This::meta, std::move (x)); }
[[nodiscard]] auto withMeta (bool x) const { return withMember (*this, &This::meta, std::move (x)); }
/** @see AudioProcessorParameter::isAutomatable() */
JUCE_NODISCARD auto withAutomatable (bool x) const { return withMember (*this, &This::automatable, std::move (x)); }
[[nodiscard]] auto withAutomatable (bool x) const { return withMember (*this, &This::automatable, std::move (x)); }
/** @see AudioProcessorParameter::isOrientationInverted() */
JUCE_NODISCARD auto withInverted (bool x) const { return withMember (*this, &This::inverted, std::move (x)); }
[[nodiscard]] auto withInverted (bool x) const { return withMember (*this, &This::inverted, std::move (x)); }
/** An optional label for the parameter's value */
JUCE_NODISCARD auto getLabel() const { return label; }
[[nodiscard]] auto getLabel() const { return label; }
/** The semantics of this parameter */
JUCE_NODISCARD auto getCategory() const { return category; }
[[nodiscard]] auto getCategory() const { return category; }
/** @see AudioProcessorParameter::isMetaParameter() */
JUCE_NODISCARD auto getMeta() const { return meta; }
[[nodiscard]] auto getMeta() const { return meta; }
/** @see AudioProcessorParameter::isAutomatable() */
JUCE_NODISCARD auto getAutomatable() const { return automatable; }
[[nodiscard]] auto getAutomatable() const { return automatable; }
/** @see AudioProcessorParameter::isOrientationInverted() */
JUCE_NODISCARD auto getInverted() const { return inverted; }
[[nodiscard]] auto getInverted() const { return inverted; }
private:
String label;


+ 12
- 12
modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h View File

@@ -42,38 +42,38 @@ class AudioProcessorValueTreeStateParameterAttributes
public:
/** @see RangedAudioParameterAttributes::withStringFromValueFunction() */
JUCE_NODISCARD auto withStringFromValueFunction (StringFromValue x) const { return withMember (*this, &This::attributes, attributes.withStringFromValueFunction (std::move (x))); }
[[nodiscard]] auto withStringFromValueFunction (StringFromValue x) const { return withMember (*this, &This::attributes, attributes.withStringFromValueFunction (std::move (x))); }
/** @see RangedAudioParameterAttributes::withValueFromStringFunction() */
JUCE_NODISCARD auto withValueFromStringFunction (ValueFromString x) const { return withMember (*this, &This::attributes, attributes.withValueFromStringFunction (std::move (x))); }
[[nodiscard]] auto withValueFromStringFunction (ValueFromString x) const { return withMember (*this, &This::attributes, attributes.withValueFromStringFunction (std::move (x))); }
/** @see RangedAudioParameterAttributes::withLabel() */
JUCE_NODISCARD auto withLabel (String x) const { return withMember (*this, &This::attributes, attributes.withLabel (std::move (x))); }
[[nodiscard]] auto withLabel (String x) const { return withMember (*this, &This::attributes, attributes.withLabel (std::move (x))); }
/** @see RangedAudioParameterAttributes::withCategory() */
JUCE_NODISCARD auto withCategory (Category x) const { return withMember (*this, &This::attributes, attributes.withCategory (std::move (x))); }
[[nodiscard]] auto withCategory (Category x) const { return withMember (*this, &This::attributes, attributes.withCategory (std::move (x))); }
/** @see RangedAudioParameterAttributes::withMeta() */
JUCE_NODISCARD auto withMeta (bool x) const { return withMember (*this, &This::attributes, attributes.withMeta (std::move (x))); }
[[nodiscard]] auto withMeta (bool x) const { return withMember (*this, &This::attributes, attributes.withMeta (std::move (x))); }
/** @see RangedAudioParameterAttributes::withAutomatable() */
JUCE_NODISCARD auto withAutomatable (bool x) const { return withMember (*this, &This::attributes, attributes.withAutomatable (std::move (x))); }
[[nodiscard]] auto withAutomatable (bool x) const { return withMember (*this, &This::attributes, attributes.withAutomatable (std::move (x))); }
/** @see RangedAudioParameterAttributes::withInverted() */
JUCE_NODISCARD auto withInverted (bool x) const { return withMember (*this, &This::attributes, attributes.withInverted (std::move (x))); }
[[nodiscard]] auto withInverted (bool x) const { return withMember (*this, &This::attributes, attributes.withInverted (std::move (x))); }
/** Pass 'true' if this parameter has discrete steps, or 'false' if the parameter is continuous.
Using an AudioParameterChoice or AudioParameterInt might be a better choice than setting this flag.
*/
JUCE_NODISCARD auto withDiscrete (bool x) const { return withMember (*this, &This::discrete, std::move (x)); }
[[nodiscard]] auto withDiscrete (bool x) const { return withMember (*this, &This::discrete, std::move (x)); }
/** Pass 'true' if this parameter only has two valid states.
Using an AudioParameterBool might be a better choice than setting this flag.
*/
JUCE_NODISCARD auto withBoolean (bool x) const { return withMember (*this, &This::boolean, std::move (x)); }
[[nodiscard]] auto withBoolean (bool x) const { return withMember (*this, &This::boolean, std::move (x)); }
/** @returns all attributes that might also apply to an AudioParameterFloat */
JUCE_NODISCARD const auto& getAudioParameterFloatAttributes() const { return attributes; }
[[nodiscard]] const auto& getAudioParameterFloatAttributes() const { return attributes; }
/** @returns 'true' if this parameter has discrete steps, or 'false' if the parameter is continuous. */
JUCE_NODISCARD const auto& getDiscrete() const { return discrete; }
[[nodiscard]] const auto& getDiscrete() const { return discrete; }
/** @returns 'true' if this parameter only has two valid states. */
JUCE_NODISCARD const auto& getBoolean() const { return boolean; }
[[nodiscard]] const auto& getBoolean() const { return boolean; }
private:
AudioParameterFloatAttributes attributes;


+ 10
- 10
modules/juce_audio_processors/utilities/juce_RangedAudioParameter.h View File

@@ -49,34 +49,34 @@ public:
using ValueFromString = std::function<Value (const String&)>;
/** An optional lambda function that converts a non-normalised value to a string with a maximum length. This may be used by hosts to display the parameter's value. */
JUCE_NODISCARD auto withStringFromValueFunction (StringFromValue x) const { return withMember (asDerived(), &Derived::stringFromValue, std::move (x)); }
[[nodiscard]] auto withStringFromValueFunction (StringFromValue x) const { return withMember (asDerived(), &Derived::stringFromValue, std::move (x)); }
/** An optional lambda function that parses a string and converts it into a non-normalised value. Some hosts use this to allow users to type in parameter values. */
JUCE_NODISCARD auto withValueFromStringFunction (ValueFromString x) const { return withMember (asDerived(), &Derived::valueFromString, std::move (x)); }
[[nodiscard]] auto withValueFromStringFunction (ValueFromString x) const { return withMember (asDerived(), &Derived::valueFromString, std::move (x)); }
/** See AudioProcessorParameterWithIDAttributes::withLabel() */
JUCE_NODISCARD auto withLabel (String x) const { return withMember (asDerived(), &Derived::attributes, attributes.withLabel (std::move (x))); }
[[nodiscard]] auto withLabel (String x) const { return withMember (asDerived(), &Derived::attributes, attributes.withLabel (std::move (x))); }
/** See AudioProcessorParameterWithIDAttributes::withCategory() */
JUCE_NODISCARD auto withCategory (Category x) const { return withMember (asDerived(), &Derived::attributes, attributes.withCategory (std::move (x))); }
[[nodiscard]] auto withCategory (Category x) const { return withMember (asDerived(), &Derived::attributes, attributes.withCategory (std::move (x))); }
/** See AudioProcessorParameter::isMetaParameter() */
JUCE_NODISCARD auto withMeta (bool x) const { return withMember (asDerived(), &Derived::attributes, attributes.withMeta (std::move (x))); }
[[nodiscard]] auto withMeta (bool x) const { return withMember (asDerived(), &Derived::attributes, attributes.withMeta (std::move (x))); }
/** See AudioProcessorParameter::isAutomatable() */
JUCE_NODISCARD auto withAutomatable (bool x) const { return withMember (asDerived(), &Derived::attributes, attributes.withAutomatable (std::move (x))); }
[[nodiscard]] auto withAutomatable (bool x) const { return withMember (asDerived(), &Derived::attributes, attributes.withAutomatable (std::move (x))); }
/** See AudioProcessorParameter::isOrientationInverted() */
JUCE_NODISCARD auto withInverted (bool x) const { return withMember (asDerived(), &Derived::attributes, attributes.withInverted (std::move (x))); }
[[nodiscard]] auto withInverted (bool x) const { return withMember (asDerived(), &Derived::attributes, attributes.withInverted (std::move (x))); }
/** An optional lambda function that converts a non-normalised value to a string with a maximum length. This may be used by hosts to display the parameter's value. */
JUCE_NODISCARD const auto& getStringFromValueFunction() const { return stringFromValue; }
[[nodiscard]] const auto& getStringFromValueFunction() const { return stringFromValue; }
/** An optional lambda function that parses a string and converts it into a non-normalised value. Some hosts use this to allow users to type in parameter values. */
JUCE_NODISCARD const auto& getValueFromStringFunction() const { return valueFromString; }
[[nodiscard]] const auto& getValueFromStringFunction() const { return valueFromString; }
/** Gets attributes that would also apply to an AudioProcessorParameterWithID */
JUCE_NODISCARD const auto& getAudioProcessorParameterWithIDAttributes() const { return attributes; }
[[nodiscard]] const auto& getAudioProcessorParameterWithIDAttributes() const { return attributes; }
private:
auto& asDerived() const { return *static_cast<const Derived*> (this); }


+ 11
- 11
modules/juce_core/maths/juce_Range.h View File

@@ -63,14 +63,14 @@ public:
}
/** Returns a range with a given start and length. */
JUCE_NODISCARD static Range withStartAndLength (const ValueType startValue, const ValueType length) noexcept
[[nodiscard]] static Range withStartAndLength (const ValueType startValue, const ValueType length) noexcept
{
jassert (length >= ValueType());
return Range (startValue, startValue + length);
}
/** Returns a range with the specified start position and a length of zero. */
JUCE_NODISCARD constexpr static Range emptyRange (const ValueType start) noexcept
[[nodiscard]] constexpr static Range emptyRange (const ValueType start) noexcept
{
return Range (start, start);
}
@@ -104,13 +104,13 @@ public:
If the new start position is higher than the current end of the range, the end point
will be pushed along to equal it, returning an empty range at the new position.
*/
JUCE_NODISCARD constexpr Range withStart (const ValueType newStart) const noexcept
[[nodiscard]] constexpr Range withStart (const ValueType newStart) const noexcept
{
return Range (newStart, jmax (newStart, end));
}
/** Returns a range with the same length as this one, but moved to have the given start position. */
JUCE_NODISCARD constexpr Range movedToStartAt (const ValueType newStart) const noexcept
[[nodiscard]] constexpr Range movedToStartAt (const ValueType newStart) const noexcept
{
return Range (newStart, end + (newStart - start));
}
@@ -130,13 +130,13 @@ public:
If the new end position is below the current start of the range, the start point
will be pushed back to equal the new end point.
*/
JUCE_NODISCARD constexpr Range withEnd (const ValueType newEnd) const noexcept
[[nodiscard]] constexpr Range withEnd (const ValueType newEnd) const noexcept
{
return Range (jmin (start, newEnd), newEnd);
}
/** Returns a range with the same length as this one, but moved to have the given end position. */
JUCE_NODISCARD constexpr Range movedToEndAt (const ValueType newEnd) const noexcept
[[nodiscard]] constexpr Range movedToEndAt (const ValueType newEnd) const noexcept
{
return Range (start + (newEnd - end), newEnd);
}
@@ -152,7 +152,7 @@ public:
/** Returns a range with the same start as this one, but a different length.
Lengths less than zero are treated as zero.
*/
JUCE_NODISCARD constexpr Range withLength (const ValueType newLength) const noexcept
[[nodiscard]] constexpr Range withLength (const ValueType newLength) const noexcept
{
return Range (start, start + newLength);
}
@@ -161,7 +161,7 @@ public:
given amount.
@returns The returned range will be (start - amount, end + amount)
*/
JUCE_NODISCARD constexpr Range expanded (ValueType amount) const noexcept
[[nodiscard]] constexpr Range expanded (ValueType amount) const noexcept
{
return Range (start - amount, end + amount);
}
@@ -231,21 +231,21 @@ public:
/** Returns the range that is the intersection of the two ranges, or an empty range
with an undefined start position if they don't overlap. */
JUCE_NODISCARD constexpr Range getIntersectionWith (Range other) const noexcept
[[nodiscard]] constexpr Range getIntersectionWith (Range other) const noexcept
{
return Range (jmax (start, other.start),
jmin (end, other.end));
}
/** Returns the smallest range that contains both this one and the other one. */
JUCE_NODISCARD constexpr Range getUnionWith (Range other) const noexcept
[[nodiscard]] constexpr Range getUnionWith (Range other) const noexcept
{
return Range (jmin (start, other.start),
jmax (end, other.end));
}
/** Returns the smallest range that contains both this one and the given value. */
JUCE_NODISCARD constexpr Range getUnionWith (const ValueType valueToInclude) const noexcept
[[nodiscard]] constexpr Range getUnionWith (const ValueType valueToInclude) const noexcept
{
return Range (jmin (valueToInclude, start),
jmax (valueToInclude, end));


+ 20
- 20
modules/juce_core/network/juce_URL.h View File

@@ -144,7 +144,7 @@ public:
@see withNewSubPath
*/
JUCE_NODISCARD URL withNewDomainAndPath (const String& newFullPath) const;
[[nodiscard]] URL withNewDomainAndPath (const String& newFullPath) const;
/** Returns a new version of this URL with a different sub-path.
@@ -153,7 +153,7 @@ public:
@see withNewDomainAndPath
*/
JUCE_NODISCARD URL withNewSubPath (const String& newPath) const;
[[nodiscard]] URL withNewSubPath (const String& newPath) const;
/** Attempts to return a URL which is the parent folder containing this URL.
@@ -186,7 +186,7 @@ public:
@see getParameterNames, getParameterValues
*/
JUCE_NODISCARD URL withParameter (const String& parameterName,
[[nodiscard]] URL withParameter (const String& parameterName,
const String& parameterValue) const;
/** Returns a copy of this URL, with a set of GET or POST parameters added.
@@ -195,7 +195,7 @@ public:
@see withParameter
*/
JUCE_NODISCARD URL withParameters (const StringPairArray& parametersToAdd) const;
[[nodiscard]] URL withParameters (const StringPairArray& parametersToAdd) const;
/** Returns a copy of this URL, with a file-upload type parameter added to it.
@@ -208,7 +208,7 @@ public:
@see withDataToUpload
*/
JUCE_NODISCARD URL withFileToUpload (const String& parameterName,
[[nodiscard]] URL withFileToUpload (const String& parameterName,
const File& fileToUpload,
const String& mimeType) const;
@@ -222,7 +222,7 @@ public:
@see withFileToUpload
*/
JUCE_NODISCARD URL withDataToUpload (const String& parameterName,
[[nodiscard]] URL withDataToUpload (const String& parameterName,
const String& filename,
const MemoryBlock& fileContentToUpload,
const String& mimeType) const;
@@ -261,7 +261,7 @@ public:
If no HTTP command is set when calling createInputStream() to read from
this URL and some data has been set, it will do a POST request.
*/
JUCE_NODISCARD URL withPOSTData (const String& postData) const;
[[nodiscard]] URL withPOSTData (const String& postData) const;
/** Returns a copy of this URL, with a block of data to send as the POST data.
@@ -271,7 +271,7 @@ public:
If no HTTP command is set when calling createInputStream() to read from
this URL and some data has been set, it will do a POST request.
*/
JUCE_NODISCARD URL withPOSTData (const MemoryBlock& postData) const;
[[nodiscard]] URL withPOSTData (const MemoryBlock& postData) const;
/** Returns the data that was set using withPOSTData(). */
String getPostData() const { return postData.toString(); }
@@ -334,36 +334,36 @@ public:
This can be useful for lengthy POST operations, so that you can provide user feedback.
*/
JUCE_NODISCARD InputStreamOptions withProgressCallback (std::function<bool (int bytesSent, int totalBytes)> progressCallback) const;
[[nodiscard]] InputStreamOptions withProgressCallback (std::function<bool (int bytesSent, int totalBytes)> progressCallback) const;
/** A string that will be appended onto the headers that are used for the request.
It must be a valid set of HTML header directives, separated by newlines.
*/
JUCE_NODISCARD InputStreamOptions withExtraHeaders (const String& extraHeaders) const;
[[nodiscard]] InputStreamOptions withExtraHeaders (const String& extraHeaders) const;
/** Specifies a timeout for the request in milliseconds.
If 0, this will use whatever default setting the OS chooses. If a negative
number, it will be infinite.
*/
JUCE_NODISCARD InputStreamOptions withConnectionTimeoutMs (int connectionTimeoutMs) const;
[[nodiscard]] InputStreamOptions withConnectionTimeoutMs (int connectionTimeoutMs) const;
/** If this is non-null, all the (key, value) pairs received as headers
in the response will be stored in this array.
*/
JUCE_NODISCARD InputStreamOptions withResponseHeaders (StringPairArray* responseHeaders) const;
[[nodiscard]] InputStreamOptions withResponseHeaders (StringPairArray* responseHeaders) const;
/** If this is non-null, it will get set to the http status code, if one
is known, or 0 if a code isn't available.
*/
JUCE_NODISCARD InputStreamOptions withStatusCode (int* statusCode) const;
[[nodiscard]] InputStreamOptions withStatusCode (int* statusCode) const;
/** Specifies the number of redirects that will be followed before returning a response.
N.B. This will be ignored on Android which follows up to 5 redirects.
*/
JUCE_NODISCARD InputStreamOptions withNumRedirectsToFollow (int numRedirectsToFollow) const;
[[nodiscard]] InputStreamOptions withNumRedirectsToFollow (int numRedirectsToFollow) const;
/** Specifies which HTTP request command to use.
@@ -372,7 +372,7 @@ public:
via withPOSTData(), withFileToUpload(), or withDataToUpload(). Otherwise it
will be GET.
*/
JUCE_NODISCARD InputStreamOptions withHttpRequestCmd (const String& httpRequestCmd) const;
[[nodiscard]] InputStreamOptions withHttpRequestCmd (const String& httpRequestCmd) const;
//==============================================================================
ParameterHandling getParameterHandling() const noexcept { return parameterHandling; }
@@ -456,7 +456,7 @@ public:
bool usePost = false;
/** Specifies headers to add to the request. */
JUCE_NODISCARD auto withExtraHeaders (String value) const { return with (&DownloadTaskOptions::extraHeaders, std::move (value)); }
[[nodiscard]] auto withExtraHeaders (String value) const { return with (&DownloadTaskOptions::extraHeaders, std::move (value)); }
/** On iOS, specifies the container where the downloaded file will be stored.
@@ -465,17 +465,17 @@ public:
This is currently unused on other platforms.
*/
JUCE_NODISCARD auto withSharedContainer (String value) const { return with (&DownloadTaskOptions::sharedContainer, std::move (value)); }
[[nodiscard]] auto withSharedContainer (String value) const { return with (&DownloadTaskOptions::sharedContainer, std::move (value)); }
/** Specifies an observer for the download task. */
JUCE_NODISCARD auto withListener (DownloadTaskListener* value) const { return with (&DownloadTaskOptions::listener, std::move (value)); }
[[nodiscard]] auto withListener (DownloadTaskListener* value) const { return with (&DownloadTaskOptions::listener, std::move (value)); }
/** Specifies whether a post command should be used. */
JUCE_NODISCARD auto withUsePost (bool value) const { return with (&DownloadTaskOptions::usePost, value); }
[[nodiscard]] auto withUsePost (bool value) const { return with (&DownloadTaskOptions::usePost, value); }
private:
template <typename Member, typename Value>
JUCE_NODISCARD DownloadTaskOptions with (Member&& member, Value&& value) const
[[nodiscard]] DownloadTaskOptions with (Member&& member, Value&& value) const
{
auto copy = *this;
copy.*member = std::forward<Value> (value);


+ 2
- 2
modules/juce_core/xml/juce_XmlElement.h View File

@@ -144,8 +144,8 @@ public:
int lineWrapLength = 60; /**< A maximum line length before wrapping is done. (If newLineChars is nullptr, this is ignored) */
const char* newLineChars = "\r\n"; /**< Allows the newline characters to be set. If you set this to nullptr, then the whole XML document will be placed on a single line. */
JUCE_NODISCARD TextFormat singleLine() const; /**< returns a copy of this format with newLineChars set to nullptr. */
JUCE_NODISCARD TextFormat withoutHeader() const; /**< returns a copy of this format with the addDefaultHeader flag set to false. */
[[nodiscard]] TextFormat singleLine() const; /**< returns a copy of this format with newLineChars set to nullptr. */
[[nodiscard]] TextFormat withoutHeader() const; /**< returns a copy of this format with the addDefaultHeader flag set to false. */
};
/** Returns a text version of this XML element.


+ 17
- 17
modules/juce_graphics/colour/juce_Colour.h View File

@@ -299,35 +299,35 @@ public:
//==============================================================================
/** Returns a copy of this colour with a different hue. */
JUCE_NODISCARD Colour withHue (float newHue) const noexcept;
[[nodiscard]] Colour withHue (float newHue) const noexcept;
/** Returns a copy of this colour with a different saturation. */
JUCE_NODISCARD Colour withSaturation (float newSaturation) const noexcept;
[[nodiscard]] Colour withSaturation (float newSaturation) const noexcept;
/** Returns a copy of this colour with a different saturation in the HSL colour space. */
JUCE_NODISCARD Colour withSaturationHSL (float newSaturation) const noexcept;
[[nodiscard]] Colour withSaturationHSL (float newSaturation) const noexcept;
/** Returns a copy of this colour with a different brightness.
@see brighter, darker, withMultipliedBrightness
*/
JUCE_NODISCARD Colour withBrightness (float newBrightness) const noexcept;
[[nodiscard]] Colour withBrightness (float newBrightness) const noexcept;
/** Returns a copy of this colour with a different lightness.
@see lighter, darker, withMultipliedLightness
*/
JUCE_NODISCARD Colour withLightness (float newLightness) const noexcept;
[[nodiscard]] Colour withLightness (float newLightness) const noexcept;
/** Returns a copy of this colour with its hue rotated.
The new colour's hue is ((this->getHue() + amountToRotate) % 1.0)
@see brighter, darker, withMultipliedBrightness
*/
JUCE_NODISCARD Colour withRotatedHue (float amountToRotate) const noexcept;
[[nodiscard]] Colour withRotatedHue (float amountToRotate) const noexcept;
/** Returns a copy of this colour with its saturation multiplied by the given value.
The new colour's saturation is (this->getSaturation() * multiplier)
(the result is clipped to legal limits).
*/
JUCE_NODISCARD Colour withMultipliedSaturation (float multiplier) const noexcept;
[[nodiscard]] Colour withMultipliedSaturation (float multiplier) const noexcept;
/** Returns a copy of this colour with its saturation multiplied by the given value.
The new colour's saturation is (this->getSaturation() * multiplier)
@@ -335,19 +335,19 @@ public:
This will be in the HSL colour space.
*/
JUCE_NODISCARD Colour withMultipliedSaturationHSL (float multiplier) const noexcept;
[[nodiscard]] Colour withMultipliedSaturationHSL (float multiplier) const noexcept;
/** Returns a copy of this colour with its brightness multiplied by the given value.
The new colour's brightness is (this->getBrightness() * multiplier)
(the result is clipped to legal limits).
*/
JUCE_NODISCARD Colour withMultipliedBrightness (float amount) const noexcept;
[[nodiscard]] Colour withMultipliedBrightness (float amount) const noexcept;
/** Returns a copy of this colour with its lightness multiplied by the given value.
The new colour's lightness is (this->lightness() * multiplier)
(the result is clipped to legal limits).
*/
JUCE_NODISCARD Colour withMultipliedLightness (float amount) const noexcept;
[[nodiscard]] Colour withMultipliedLightness (float amount) const noexcept;
//==============================================================================
/** Returns a brighter version of this colour.
@@ -355,14 +355,14 @@ public:
where 0 is unchanged, and higher values make it brighter
@see withMultipliedBrightness
*/
JUCE_NODISCARD Colour brighter (float amountBrighter = 0.4f) const noexcept;
[[nodiscard]] Colour brighter (float amountBrighter = 0.4f) const noexcept;
/** Returns a darker version of this colour.
@param amountDarker how much darker to make it - a value greater than or equal to 0,
where 0 is unchanged, and higher values make it darker
@see withMultipliedBrightness
*/
JUCE_NODISCARD Colour darker (float amountDarker = 0.4f) const noexcept;
[[nodiscard]] Colour darker (float amountDarker = 0.4f) const noexcept;
//==============================================================================
/** Returns a colour that will be clearly visible against this colour.
@@ -372,7 +372,7 @@ public:
that's just a little bit lighter; Colours::black.contrasting (1.0f) will
return white; Colours::white.contrasting (1.0f) will return black, etc.
*/
JUCE_NODISCARD Colour contrasting (float amount = 1.0f) const noexcept;
[[nodiscard]] Colour contrasting (float amount = 1.0f) const noexcept;
/** Returns a colour that is as close as possible to a target colour whilst
still being in contrast to this one.
@@ -381,20 +381,20 @@ public:
nudged up or down so that it differs from the luminosity of this colour
by at least the amount specified by minLuminosityDiff.
*/
JUCE_NODISCARD Colour contrasting (Colour targetColour, float minLuminosityDiff) const noexcept;
[[nodiscard]] Colour contrasting (Colour targetColour, float minLuminosityDiff) const noexcept;
/** Returns a colour that contrasts against two colours.
Looks for a colour that contrasts with both of the colours passed-in.
Handy for things like choosing a highlight colour in text editors, etc.
*/
JUCE_NODISCARD static Colour contrasting (Colour colour1,
[[nodiscard]] static Colour contrasting (Colour colour1,
Colour colour2) noexcept;
//==============================================================================
/** Returns an opaque shade of grey.
@param brightness the level of grey to return - 0 is black, 1.0 is white
*/
JUCE_NODISCARD static Colour greyLevel (float brightness) noexcept;
[[nodiscard]] static Colour greyLevel (float brightness) noexcept;
//==============================================================================
/** Returns a stringified version of this colour.
@@ -403,7 +403,7 @@ public:
String toString() const;
/** Reads the colour from a string that was created with toString(). */
JUCE_NODISCARD static Colour fromString (StringRef encodedColourString);
[[nodiscard]] static Colour fromString (StringRef encodedColourString);
/** Returns the colour as a hex string in the form RRGGBB or AARRGGBB. */
String toDisplayString (bool includeAlphaValue) const;


+ 8
- 8
modules/juce_graphics/fonts/juce_Font.h View File

@@ -154,7 +154,7 @@ public:
/** Returns a copy of this font with a new typeface style.
@see getAvailableStyles()
*/
JUCE_NODISCARD Font withTypefaceStyle (const String& newStyle) const;
[[nodiscard]] Font withTypefaceStyle (const String& newStyle) const;
/** Returns a list of the styles that this font can use. */
StringArray getAvailableStyles() const;
@@ -204,10 +204,10 @@ public:
//==============================================================================
/** Returns a copy of this font with a new height. */
JUCE_NODISCARD Font withHeight (float height) const;
[[nodiscard]] Font withHeight (float height) const;
/** Returns a copy of this font with a new height, specified in points. */
JUCE_NODISCARD Font withPointHeight (float heightInPoints) const;
[[nodiscard]] Font withPointHeight (float heightInPoints) const;
/** Changes the font's height.
@see getHeight, withHeight, setHeightWithoutChangingWidth
@@ -271,7 +271,7 @@ public:
@param styleFlags a bitwise-or'ed combination of values from the FontStyleFlags enum.
@see FontStyleFlags, getStyleFlags
*/
JUCE_NODISCARD Font withStyle (int styleFlags) const;
[[nodiscard]] Font withStyle (int styleFlags) const;
/** Changes the font's style.
@param newFlags a bitwise-or'ed combination of values from the FontStyleFlags enum.
@@ -286,7 +286,7 @@ public:
/** Returns a copy of this font with the bold attribute set.
If the font does not have a bold version, this will return the default font.
*/
JUCE_NODISCARD Font boldened() const;
[[nodiscard]] Font boldened() const;
/** Returns true if the font is bold. */
bool isBold() const noexcept;
@@ -294,7 +294,7 @@ public:
/** Makes the font italic or non-italic. */
void setItalic (bool shouldBeItalic);
/** Returns a copy of this font with the italic attribute set. */
JUCE_NODISCARD Font italicised() const;
[[nodiscard]] Font italicised() const;
/** Returns true if the font is italic. */
bool isItalic() const noexcept;
@@ -317,7 +317,7 @@ public:
narrower, greater than 1.0 will be stretched out.
@see getHorizontalScale
*/
JUCE_NODISCARD Font withHorizontalScale (float scaleFactor) const;
[[nodiscard]] Font withHorizontalScale (float scaleFactor) const;
/** Changes the font's horizontal scale factor.
@param scaleFactor a value of 1.0 is the normal scale, less than this will be
@@ -353,7 +353,7 @@ public:
normal spacing, positive values spread the letters out,
negative values make them closer together.
*/
JUCE_NODISCARD Font withExtraKerningFactor (float extraKerning) const;
[[nodiscard]] Font withExtraKerningFactor (float extraKerning) const;
/** Changes the font's kerning.
@param extraKerning a multiple of the font's height that will be added


+ 20
- 20
modules/juce_graphics/geometry/juce_Rectangle.h View File

@@ -217,41 +217,41 @@ public:
void setVerticalRange (Range<ValueType> range) noexcept { pos.y = range.getStart(); h = range.getLength(); }
/** Returns a rectangle which has the same size and y-position as this one, but with a different x-position. */
JUCE_NODISCARD Rectangle withX (ValueType newX) const noexcept { return { newX, pos.y, w, h }; }
[[nodiscard]] Rectangle withX (ValueType newX) const noexcept { return { newX, pos.y, w, h }; }
/** Returns a rectangle which has the same size and x-position as this one, but with a different y-position. */
JUCE_NODISCARD Rectangle withY (ValueType newY) const noexcept { return { pos.x, newY, w, h }; }
[[nodiscard]] Rectangle withY (ValueType newY) const noexcept { return { pos.x, newY, w, h }; }
/** Returns a rectangle which has the same size and y-position as this one, but whose right-hand edge has the given position. */
JUCE_NODISCARD Rectangle withRightX (ValueType newRightX) const noexcept { return { newRightX - w, pos.y, w, h }; }
[[nodiscard]] Rectangle withRightX (ValueType newRightX) const noexcept { return { newRightX - w, pos.y, w, h }; }
/** Returns a rectangle which has the same size and x-position as this one, but whose bottom edge has the given position. */
JUCE_NODISCARD Rectangle withBottomY (ValueType newBottomY) const noexcept { return { pos.x, newBottomY - h, w, h }; }
[[nodiscard]] Rectangle withBottomY (ValueType newBottomY) const noexcept { return { pos.x, newBottomY - h, w, h }; }
/** Returns a rectangle with the same size as this one, but a new position. */
JUCE_NODISCARD Rectangle withPosition (ValueType newX, ValueType newY) const noexcept { return { newX, newY, w, h }; }
[[nodiscard]] Rectangle withPosition (ValueType newX, ValueType newY) const noexcept { return { newX, newY, w, h }; }
/** Returns a rectangle with the same size as this one, but a new position. */
JUCE_NODISCARD Rectangle withPosition (Point<ValueType> newPos) const noexcept { return { newPos.x, newPos.y, w, h }; }
[[nodiscard]] Rectangle withPosition (Point<ValueType> newPos) const noexcept { return { newPos.x, newPos.y, w, h }; }
/** Returns a rectangle whose size is the same as this one, but whose top-left position is (0, 0). */
JUCE_NODISCARD Rectangle withZeroOrigin() const noexcept { return { w, h }; }
[[nodiscard]] Rectangle withZeroOrigin() const noexcept { return { w, h }; }
/** Returns a rectangle with the same size as this one, but a new centre position. */
JUCE_NODISCARD Rectangle withCentre (Point<ValueType> newCentre) const noexcept { return { newCentre.x - w / (ValueType) 2,
[[nodiscard]] Rectangle withCentre (Point<ValueType> newCentre) const noexcept { return { newCentre.x - w / (ValueType) 2,
newCentre.y - h / (ValueType) 2, w, h }; }
/** Returns a rectangle which has the same position and height as this one, but with a different width. */
JUCE_NODISCARD Rectangle withWidth (ValueType newWidth) const noexcept { return { pos.x, pos.y, jmax (ValueType(), newWidth), h }; }
[[nodiscard]] Rectangle withWidth (ValueType newWidth) const noexcept { return { pos.x, pos.y, jmax (ValueType(), newWidth), h }; }
/** Returns a rectangle which has the same position and width as this one, but with a different height. */
JUCE_NODISCARD Rectangle withHeight (ValueType newHeight) const noexcept { return { pos.x, pos.y, w, jmax (ValueType(), newHeight) }; }
[[nodiscard]] Rectangle withHeight (ValueType newHeight) const noexcept { return { pos.x, pos.y, w, jmax (ValueType(), newHeight) }; }
/** Returns a rectangle with the same top-left position as this one, but a new size. */
JUCE_NODISCARD Rectangle withSize (ValueType newWidth, ValueType newHeight) const noexcept { return { pos.x, pos.y, jmax (ValueType(), newWidth), jmax (ValueType(), newHeight) }; }
[[nodiscard]] Rectangle withSize (ValueType newWidth, ValueType newHeight) const noexcept { return { pos.x, pos.y, jmax (ValueType(), newWidth), jmax (ValueType(), newHeight) }; }
/** Returns a rectangle with the same centre position as this one, but a new size. */
JUCE_NODISCARD Rectangle withSizeKeepingCentre (ValueType newWidth, ValueType newHeight) const noexcept { return { pos.x + (w - newWidth) / (ValueType) 2,
[[nodiscard]] Rectangle withSizeKeepingCentre (ValueType newWidth, ValueType newHeight) const noexcept { return { pos.x + (w - newWidth) / (ValueType) 2,
pos.y + (h - newHeight) / (ValueType) 2, newWidth, newHeight }; }
/** Moves the x position, adjusting the width so that the right-hand edge remains in the same place.
@@ -264,7 +264,7 @@ public:
If the new x is beyond the right of the current right-hand edge, the width will be set to zero.
@see setLeft
*/
JUCE_NODISCARD Rectangle withLeft (ValueType newLeft) const noexcept { return { newLeft, pos.y, jmax (ValueType(), pos.x + w - newLeft), h }; }
[[nodiscard]] Rectangle withLeft (ValueType newLeft) const noexcept { return { newLeft, pos.y, jmax (ValueType(), pos.x + w - newLeft), h }; }
/** Moves the y position, adjusting the height so that the bottom edge remains in the same place.
If the y is moved to be below the current bottom edge, the height will be set to zero.
@@ -276,7 +276,7 @@ public:
If the new y is beyond the bottom of the current rectangle, the height will be set to zero.
@see setTop
*/
JUCE_NODISCARD Rectangle withTop (ValueType newTop) const noexcept { return { pos.x, newTop, w, jmax (ValueType(), pos.y + h - newTop) }; }
[[nodiscard]] Rectangle withTop (ValueType newTop) const noexcept { return { pos.x, newTop, w, jmax (ValueType(), pos.y + h - newTop) }; }
/** Adjusts the width so that the right-hand edge of the rectangle has this new value.
If the new right is below the current X value, the X will be pushed down to match it.
@@ -288,7 +288,7 @@ public:
If the new right edge is below the current left-hand edge, the width will be set to zero.
@see setRight
*/
JUCE_NODISCARD Rectangle withRight (ValueType newRight) const noexcept { return { jmin (pos.x, newRight), pos.y, jmax (ValueType(), newRight - pos.x), h }; }
[[nodiscard]] Rectangle withRight (ValueType newRight) const noexcept { return { jmin (pos.x, newRight), pos.y, jmax (ValueType(), newRight - pos.x), h }; }
/** Adjusts the height so that the bottom edge of the rectangle has this new value.
If the new bottom is lower than the current Y value, the Y will be pushed down to match it.
@@ -300,19 +300,19 @@ public:
If the new y is beyond the bottom of the current rectangle, the height will be set to zero.
@see setBottom
*/
JUCE_NODISCARD Rectangle withBottom (ValueType newBottom) const noexcept { return { pos.x, jmin (pos.y, newBottom), w, jmax (ValueType(), newBottom - pos.y) }; }
[[nodiscard]] Rectangle withBottom (ValueType newBottom) const noexcept { return { pos.x, jmin (pos.y, newBottom), w, jmax (ValueType(), newBottom - pos.y) }; }
/** Returns a version of this rectangle with the given amount removed from its left-hand edge. */
JUCE_NODISCARD Rectangle withTrimmedLeft (ValueType amountToRemove) const noexcept { return withLeft (pos.x + amountToRemove); }
[[nodiscard]] Rectangle withTrimmedLeft (ValueType amountToRemove) const noexcept { return withLeft (pos.x + amountToRemove); }
/** Returns a version of this rectangle with the given amount removed from its right-hand edge. */
JUCE_NODISCARD Rectangle withTrimmedRight (ValueType amountToRemove) const noexcept { return withWidth (w - amountToRemove); }
[[nodiscard]] Rectangle withTrimmedRight (ValueType amountToRemove) const noexcept { return withWidth (w - amountToRemove); }
/** Returns a version of this rectangle with the given amount removed from its top edge. */
JUCE_NODISCARD Rectangle withTrimmedTop (ValueType amountToRemove) const noexcept { return withTop (pos.y + amountToRemove); }
[[nodiscard]] Rectangle withTrimmedTop (ValueType amountToRemove) const noexcept { return withTop (pos.y + amountToRemove); }
/** Returns a version of this rectangle with the given amount removed from its bottom edge. */
JUCE_NODISCARD Rectangle withTrimmedBottom (ValueType amountToRemove) const noexcept { return withHeight (h - amountToRemove); }
[[nodiscard]] Rectangle withTrimmedBottom (ValueType amountToRemove) const noexcept { return withHeight (h - amountToRemove); }
//==============================================================================
/** Moves the rectangle's position by adding amount to its x and y coordinates. */


+ 13
- 13
modules/juce_gui_basics/accessibility/juce_AccessibilityState.h View File

@@ -50,73 +50,73 @@ public:
@see isCheckable
*/
JUCE_NODISCARD AccessibleState withCheckable() const noexcept { return withFlag (Flags::checkable); }
[[nodiscard]] AccessibleState withCheckable() const noexcept { return withFlag (Flags::checkable); }
/** Sets the checked flag and returns the new state.
@see isChecked
*/
JUCE_NODISCARD AccessibleState withChecked() const noexcept { return withFlag (Flags::checked); }
[[nodiscard]] AccessibleState withChecked() const noexcept { return withFlag (Flags::checked); }
/** Sets the collapsed flag and returns the new state.
@see isCollapsed
*/
JUCE_NODISCARD AccessibleState withCollapsed() const noexcept { return withFlag (Flags::collapsed); }
[[nodiscard]] AccessibleState withCollapsed() const noexcept { return withFlag (Flags::collapsed); }
/** Sets the expandable flag and returns the new state.
@see isExpandable
*/
JUCE_NODISCARD AccessibleState withExpandable() const noexcept { return withFlag (Flags::expandable); }
[[nodiscard]] AccessibleState withExpandable() const noexcept { return withFlag (Flags::expandable); }
/** Sets the expanded flag and returns the new state.
@see isExpanded
*/
JUCE_NODISCARD AccessibleState withExpanded() const noexcept { return withFlag (Flags::expanded); }
[[nodiscard]] AccessibleState withExpanded() const noexcept { return withFlag (Flags::expanded); }
/** Sets the focusable flag and returns the new state.
@see isFocusable
*/
JUCE_NODISCARD AccessibleState withFocusable() const noexcept { return withFlag (Flags::focusable); }
[[nodiscard]] AccessibleState withFocusable() const noexcept { return withFlag (Flags::focusable); }
/** Sets the focused flag and returns the new state.
@see isFocused
*/
JUCE_NODISCARD AccessibleState withFocused() const noexcept { return withFlag (Flags::focused); }
[[nodiscard]] AccessibleState withFocused() const noexcept { return withFlag (Flags::focused); }
/** Sets the ignored flag and returns the new state.
@see isIgnored
*/
JUCE_NODISCARD AccessibleState withIgnored() const noexcept { return withFlag (Flags::ignored); }
[[nodiscard]] AccessibleState withIgnored() const noexcept { return withFlag (Flags::ignored); }
/** Sets the selectable flag and returns the new state.
@see isSelectable
*/
JUCE_NODISCARD AccessibleState withSelectable() const noexcept { return withFlag (Flags::selectable); }
[[nodiscard]] AccessibleState withSelectable() const noexcept { return withFlag (Flags::selectable); }
/** Sets the multiSelectable flag and returns the new state.
@see isMultiSelectable
*/
JUCE_NODISCARD AccessibleState withMultiSelectable() const noexcept { return withFlag (Flags::multiSelectable); }
[[nodiscard]] AccessibleState withMultiSelectable() const noexcept { return withFlag (Flags::multiSelectable); }
/** Sets the selected flag and returns the new state.
@see isSelected
*/
JUCE_NODISCARD AccessibleState withSelected() const noexcept { return withFlag (Flags::selected); }
[[nodiscard]] AccessibleState withSelected() const noexcept { return withFlag (Flags::selected); }
/** Sets the accessible offscreen flag and returns the new state.
@see isSelected
*/
JUCE_NODISCARD AccessibleState withAccessibleOffscreen() const noexcept { return withFlag (Flags::accessibleOffscreen); }
[[nodiscard]] AccessibleState withAccessibleOffscreen() const noexcept { return withFlag (Flags::accessibleOffscreen); }
//==============================================================================
/** Returns true if the UI element is checkable.
@@ -208,7 +208,7 @@ private:
accessibleOffscreen = (1 << 11)
};
JUCE_NODISCARD AccessibleState withFlag (int flag) const noexcept
[[nodiscard]] AccessibleState withFlag (int flag) const noexcept
{
auto copy = *this;
copy.flags |= flag;


+ 4
- 4
modules/juce_gui_basics/keyboard/juce_ModifierKeys.h View File

@@ -163,10 +163,10 @@ public:
//==============================================================================
/** Returns a copy of only the mouse-button flags */
JUCE_NODISCARD ModifierKeys withOnlyMouseButtons() const noexcept { return ModifierKeys (flags & allMouseButtonModifiers); }
[[nodiscard]] ModifierKeys withOnlyMouseButtons() const noexcept { return ModifierKeys (flags & allMouseButtonModifiers); }
/** Returns a copy of only the non-mouse flags */
JUCE_NODISCARD ModifierKeys withoutMouseButtons() const noexcept { return ModifierKeys (flags & ~allMouseButtonModifiers); }
[[nodiscard]] ModifierKeys withoutMouseButtons() const noexcept { return ModifierKeys (flags & ~allMouseButtonModifiers); }
bool operator== (const ModifierKeys other) const noexcept { return flags == other.flags; }
bool operator!= (const ModifierKeys other) const noexcept { return flags != other.flags; }
@@ -175,8 +175,8 @@ public:
/** Returns the raw flags for direct testing. */
inline int getRawFlags() const noexcept { return flags; }
JUCE_NODISCARD ModifierKeys withoutFlags (int rawFlagsToClear) const noexcept { return ModifierKeys (flags & ~rawFlagsToClear); }
JUCE_NODISCARD ModifierKeys withFlags (int rawFlagsToSet) const noexcept { return ModifierKeys (flags | rawFlagsToSet); }
[[nodiscard]] ModifierKeys withoutFlags (int rawFlagsToClear) const noexcept { return ModifierKeys (flags & ~rawFlagsToClear); }
[[nodiscard]] ModifierKeys withFlags (int rawFlagsToSet) const noexcept { return ModifierKeys (flags | rawFlagsToSet); }
/** Tests a combination of flags and returns true if any of them are set. */
bool testFlags (int flagsToTest) const noexcept { return (flags & flagsToTest) != 0; }


+ 13
- 13
modules/juce_gui_basics/menus/juce_PopupMenu.h View File

@@ -483,8 +483,8 @@ public:
@see withTargetComponent, withTargetScreenArea
*/
JUCE_NODISCARD Options withTargetComponent (Component* targetComponent) const;
JUCE_NODISCARD Options withTargetComponent (Component& targetComponent) const;
[[nodiscard]] Options withTargetComponent (Component* targetComponent) const;
[[nodiscard]] Options withTargetComponent (Component& targetComponent) const;
/** Sets the region of the screen next to which the menu should be displayed.
@@ -500,7 +500,7 @@ public:
@see withMousePosition
*/
JUCE_NODISCARD Options withTargetScreenArea (Rectangle<int> targetArea) const;
[[nodiscard]] Options withTargetScreenArea (Rectangle<int> targetArea) const;
/** Sets the target screen area to match the current mouse position.
@@ -508,7 +508,7 @@ public:
@see withTargetScreenArea
*/
JUCE_NODISCARD Options withMousePosition() const;
[[nodiscard]] Options withMousePosition() const;
/** If the passed component has been deleted when the popup menu exits,
the selected item's action will not be called.
@@ -517,26 +517,26 @@ public:
callback, in the case that the callback needs to access a component that
may be deleted.
*/
JUCE_NODISCARD Options withDeletionCheck (Component& componentToWatchForDeletion) const;
[[nodiscard]] Options withDeletionCheck (Component& componentToWatchForDeletion) const;
/** Sets the minimum width of the popup window. */
JUCE_NODISCARD Options withMinimumWidth (int minWidth) const;
[[nodiscard]] Options withMinimumWidth (int minWidth) const;
/** Sets the minimum number of columns in the popup window. */
JUCE_NODISCARD Options withMinimumNumColumns (int minNumColumns) const;
[[nodiscard]] Options withMinimumNumColumns (int minNumColumns) const;
/** Sets the maximum number of columns in the popup window. */
JUCE_NODISCARD Options withMaximumNumColumns (int maxNumColumns) const;
[[nodiscard]] Options withMaximumNumColumns (int maxNumColumns) const;
/** Sets the default height of each item in the popup menu. */
JUCE_NODISCARD Options withStandardItemHeight (int standardHeight) const;
[[nodiscard]] Options withStandardItemHeight (int standardHeight) const;
/** Sets an item which must be visible when the menu is initially drawn.
This is useful to ensure that a particular item is shown when the menu
contains too many items to display on a single screen.
*/
JUCE_NODISCARD Options withItemThatMustBeVisible (int idOfItemToBeVisible) const;
[[nodiscard]] Options withItemThatMustBeVisible (int idOfItemToBeVisible) const;
/** Sets a component that the popup menu will be drawn into.
@@ -547,10 +547,10 @@ public:
avoid this unwanted behaviour, but with the downside that the menu size
will be constrained by the size of the parent component.
*/
JUCE_NODISCARD Options withParentComponent (Component* parentComponent) const;
[[nodiscard]] Options withParentComponent (Component* parentComponent) const;
/** Sets the direction of the popup menu relative to the target screen area. */
JUCE_NODISCARD Options withPreferredPopupDirection (PopupDirection direction) const;
[[nodiscard]] Options withPreferredPopupDirection (PopupDirection direction) const;
/** Sets an item to select in the menu.
@@ -560,7 +560,7 @@ public:
than needing to move the highlighted row down from the top of the menu each time
it is opened.
*/
JUCE_NODISCARD Options withInitiallySelectedItem (int idOfItemToBeSelected) const;
[[nodiscard]] Options withInitiallySelectedItem (int idOfItemToBeSelected) const;
//==============================================================================
/** Gets the parent component. This may be nullptr if the Component has been deleted.


+ 7
- 7
modules/juce_gui_basics/mouse/juce_PointerState.h View File

@@ -41,13 +41,13 @@ public:
bool operator== (const PointerState& other) const noexcept { return tie() == other.tie(); }
bool operator!= (const PointerState& other) const noexcept { return tie() != other.tie(); }
JUCE_NODISCARD PointerState withPositionOffset (Point<float> x) const noexcept { return with (&PointerState::position, position + x); }
JUCE_NODISCARD PointerState withPosition (Point<float> x) const noexcept { return with (&PointerState::position, x); }
JUCE_NODISCARD PointerState withPressure (float x) const noexcept { return with (&PointerState::pressure, x); }
JUCE_NODISCARD PointerState withOrientation (float x) const noexcept { return with (&PointerState::orientation, x); }
JUCE_NODISCARD PointerState withRotation (float x) const noexcept { return with (&PointerState::rotation, x); }
JUCE_NODISCARD PointerState withTiltX (float x) const noexcept { return with (&PointerState::tiltX, x); }
JUCE_NODISCARD PointerState withTiltY (float x) const noexcept { return with (&PointerState::tiltY, x); }
[[nodiscard]] PointerState withPositionOffset (Point<float> x) const noexcept { return with (&PointerState::position, position + x); }
[[nodiscard]] PointerState withPosition (Point<float> x) const noexcept { return with (&PointerState::position, x); }
[[nodiscard]] PointerState withPressure (float x) const noexcept { return with (&PointerState::pressure, x); }
[[nodiscard]] PointerState withOrientation (float x) const noexcept { return with (&PointerState::orientation, x); }
[[nodiscard]] PointerState withRotation (float x) const noexcept { return with (&PointerState::rotation, x); }
[[nodiscard]] PointerState withTiltX (float x) const noexcept { return with (&PointerState::tiltX, x); }
[[nodiscard]] PointerState withTiltY (float x) const noexcept { return with (&PointerState::tiltY, x); }
Point<float> position;
float pressure = MouseInputSource::defaultPressure;


+ 1
- 1
modules/juce_gui_basics/native/juce_mac_PerScreenDisplayLinks.h View File

@@ -227,7 +227,7 @@ public:
screen. The RefreshCallback returned by the factory will be called every time that screen's
display link callback fires.
*/
JUCE_NODISCARD Connection registerFactory (Factory factory)
[[nodiscard]] Connection registerFactory (Factory factory)
{
const ScopedLock lock (mutex);
factories.push_front (std::move (factory));


+ 5
- 5
modules/juce_gui_basics/windows/juce_MessageBoxOptions.h View File

@@ -68,13 +68,13 @@ public:
//==============================================================================
/** Sets the type of icon that should be used for the dialog box. */
JUCE_NODISCARD MessageBoxOptions withIconType (MessageBoxIconType type) const { return with (*this, &MessageBoxOptions::iconType, type); }
[[nodiscard]] MessageBoxOptions withIconType (MessageBoxIconType type) const { return with (*this, &MessageBoxOptions::iconType, type); }
/** Sets the title of the dialog box. */
JUCE_NODISCARD MessageBoxOptions withTitle (const String& boxTitle) const { return with (*this, &MessageBoxOptions::title, boxTitle); }
[[nodiscard]] MessageBoxOptions withTitle (const String& boxTitle) const { return with (*this, &MessageBoxOptions::title, boxTitle); }
/** Sets the message that should be displayed in the dialog box. */
JUCE_NODISCARD MessageBoxOptions withMessage (const String& boxMessage) const { return with (*this, &MessageBoxOptions::message, boxMessage); }
[[nodiscard]] MessageBoxOptions withMessage (const String& boxMessage) const { return with (*this, &MessageBoxOptions::message, boxMessage); }
/** If the string passed in is not empty, this will add a button to the
dialog box with the specified text.
@@ -82,10 +82,10 @@ public:
Generally up to 3 buttons are supported for dialog boxes, so adding any more
than this may have no effect.
*/
JUCE_NODISCARD MessageBoxOptions withButton (const String& text) const { auto copy = *this; copy.buttons.add (text); return copy; }
[[nodiscard]] MessageBoxOptions withButton (const String& text) const { auto copy = *this; copy.buttons.add (text); return copy; }
/** The component that the dialog box should be associated with. */
JUCE_NODISCARD MessageBoxOptions withAssociatedComponent (Component* component) const { return with (*this, &MessageBoxOptions::associatedComponent, component); }
[[nodiscard]] MessageBoxOptions withAssociatedComponent (Component* component) const { return with (*this, &MessageBoxOptions::associatedComponent, component); }
//==============================================================================
/** Returns the icon type of the dialog box.


+ 4
- 4
modules/juce_gui_extra/misc/juce_WebBrowserComponent.h View File

@@ -182,7 +182,7 @@ public:
/** Sets a custom location for the WebView2Loader.dll that is not a part of the
standard system DLL search paths.
*/
JUCE_NODISCARD WebView2Preferences withDLLLocation (const File& location) const { return with (&WebView2Preferences::dllLocation, location); }
[[nodiscard]] WebView2Preferences withDLLLocation (const File& location) const { return with (&WebView2Preferences::dllLocation, location); }
/** Sets a non-default location for storing user data for the browser instance. */
WebView2Preferences withUserDataFolder (const File& folder) const { return with (&WebView2Preferences::userDataFolder, folder); }
@@ -190,19 +190,19 @@ public:
/** If this is set, the status bar usually displayed in the lower-left of the webview
will be disabled.
*/
JUCE_NODISCARD WebView2Preferences withStatusBarDisabled() const { return with (&WebView2Preferences::disableStatusBar, true); }
[[nodiscard]] WebView2Preferences withStatusBarDisabled() const { return with (&WebView2Preferences::disableStatusBar, true); }
/** If this is set, a blank page will be displayed on error instead of the default
built-in error page.
*/
JUCE_NODISCARD WebView2Preferences withBuiltInErrorPageDisabled() const { return with (&WebView2Preferences::disableBuiltInErrorPage, true); }
[[nodiscard]] WebView2Preferences withBuiltInErrorPageDisabled() const { return with (&WebView2Preferences::disableBuiltInErrorPage, true); }
/** Sets the background colour that WebView2 renders underneath all web content.
This colour must either be fully opaque or transparent. On Windows 7 this
colour must be opaque.
*/
JUCE_NODISCARD WebView2Preferences withBackgroundColour (const Colour& colour) const
[[nodiscard]] WebView2Preferences withBackgroundColour (const Colour& colour) const
{
// the background colour must be either fully opaque or transparent!
jassert (colour.isOpaque() || colour.isTransparent());


Loading…
Cancel
Save