1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-09 23:34:20 +00:00

Docs: Replace doxygen preprocessor conditionals with @cond and @endconds

This commit is contained in:
Anthony Nicholls 2025-07-18 09:59:35 +01:00 committed by Sudara
parent 26e8d81380
commit 36d07a6ce3
136 changed files with 420 additions and 449 deletions

View file

@ -103,9 +103,9 @@ public:
*/
void setSuspended (bool shouldBeSuspended);
#ifndef DOXYGEN
/** @cond */
JUCE_DECLARE_SINGLETON_INLINE (Analytics, false)
#endif
/** @endcond */
private:
//==============================================================================

View file

@ -76,8 +76,9 @@ public:
class NonConst; /**< Used as a template parameter for AudioData::Pointer. Indicates that the pointer can be used for non-const data. */
class Const; /**< Used as a template parameter for AudioData::Pointer. Indicates that the samples can only be used for const data.. */
#ifndef DOXYGEN
//==============================================================================
/** @cond */
class BigEndian
{
public:
@ -332,7 +333,7 @@ public:
static void* toVoidPtr (VoidType* v) noexcept { return const_cast<void*> (v); }
enum { isConst = 1 };
};
#endif
/** @endcond */
//==============================================================================
/**
@ -799,7 +800,7 @@ public:
};
//==============================================================================
#ifndef DOXYGEN
/** @cond */
/**
A set of routines to convert buffers of 32-bit floating point data to and from
various integer formats.
@ -867,6 +868,6 @@ public:
private:
AudioDataConverters();
};
#endif
/** @endcond */
} // namespace juce

View file

@ -150,7 +150,7 @@ struct JUCE_API FloatVectorOperationsBase
static FloatType JUCE_CALLTYPE findMaximum (const FloatType* src, CountType numValues) noexcept;
};
#if ! DOXYGEN
/** @cond */
namespace detail
{
@ -177,7 +177,7 @@ struct NameForwarder : public Bases...
};
} // namespace detail
#endif
/** @endcond */
//==============================================================================
/**

View file

@ -285,7 +285,7 @@ public:
MidiBufferIterator findNextSamplePosition (int samplePosition) const noexcept;
//==============================================================================
#ifndef DOXYGEN
/** @cond */
/** This class is now deprecated in favour of MidiBufferIterator.
Used to iterate through the events in a MidiBuffer.
@ -342,7 +342,7 @@ public:
const MidiBuffer& buffer;
MidiBufferIterator iterator;
};
#endif
/** @endcond */
/** The raw data holding this buffer.
Obviously access to this data is provided at your own risk. Its internal format could

View file

@ -880,7 +880,7 @@ public:
static MidiMessage createSysExMessage (Span<const std::byte> data);
//==============================================================================
#ifndef DOXYGEN
/** @cond */
/** Reads a midi variable-length integer.
The `data` argument indicates the data to read the number from,
@ -889,7 +889,7 @@ public:
*/
[[deprecated ("This signature has been deprecated in favour of the safer readVariableLengthValue.")]]
static int readVariableLengthVal (const uint8* data, int& numBytesUsed) noexcept;
#endif
/** @endcond */
/** Holds information about a variable-length value which was parsed
from a stream of bytes.
@ -989,17 +989,17 @@ public:
private:
//==============================================================================
#ifndef DOXYGEN
/** @cond */
union PackedData
{
uint8* allocatedData;
uint8 asBytes[sizeof (uint8*)];
};
/** @endcond */
PackedData packedData;
double timeStamp = 0;
int size;
#endif
inline bool isHeapAllocated() const noexcept { return size > (int) sizeof (packedData); }
inline uint8* getData() const noexcept { return isHeapAllocated() ? packedData.allocatedData : (uint8*) packedData.asBytes; }

View file

@ -47,11 +47,9 @@
#include "juce_UMPDispatcher.h"
#include "juce_UMPReceiver.h"
#ifndef DOXYGEN
/** @cond */
namespace juce
{
namespace ump = universal_midi_packets;
}
#endif
/** @endcond */

View file

@ -32,8 +32,7 @@
==============================================================================
*/
#ifndef DOXYGEN
/** @cond */
namespace juce::universal_midi_packets
{
@ -363,5 +362,4 @@ struct Conversion
};
} // namespace juce::universal_midi_packets
#endif
/** @endcond */

View file

@ -32,8 +32,7 @@
==============================================================================
*/
#ifndef DOXYGEN
/** @cond */
namespace juce::universal_midi_packets
{
/**
@ -193,5 +192,4 @@ namespace juce::universal_midi_packets
Midi1ToBytestreamTranslator translator;
};
} // namespace juce::universal_midi_packets
#endif
/** @endcond */

View file

@ -32,8 +32,7 @@
==============================================================================
*/
#ifndef DOXYGEN
/** @cond */
namespace juce::universal_midi_packets
{
@ -199,5 +198,4 @@ private:
};
} // namespace juce::universal_midi_packets
#endif
/** @endcond */

View file

@ -32,8 +32,7 @@
==============================================================================
*/
#ifndef DOXYGEN
/** @cond */
namespace juce::universal_midi_packets
{
@ -539,5 +538,4 @@ struct Factory
};
} // namespace juce::universal_midi_packets
#endif
/** @endcond */

View file

@ -32,8 +32,7 @@
==============================================================================
*/
#ifndef DOXYGEN
/** @cond */
namespace juce::universal_midi_packets
{
@ -128,5 +127,4 @@ private:
};
} // namespace juce::universal_midi_packets
#endif
/** @endcond */

View file

@ -32,8 +32,7 @@
==============================================================================
*/
#ifndef DOXYGEN
/** @cond */
namespace juce::universal_midi_packets
{
@ -223,5 +222,4 @@ private:
};
} // namespace juce::universal_midi_packets
#endif
/** @endcond */

View file

@ -32,8 +32,7 @@
==============================================================================
*/
#ifndef DOXYGEN
/** @cond */
namespace juce::universal_midi_packets
{
@ -196,5 +195,4 @@ private:
};
} // namespace juce::universal_midi_packets
#endif
/** @endcond */

View file

@ -32,8 +32,7 @@
==============================================================================
*/
#ifndef DOXYGEN
/** @cond */
namespace juce::universal_midi_packets
{
@ -53,5 +52,4 @@ enum class MidiProtocol
};
} // namespace juce::universal_midi_packets
#endif
/** @endcond */

View file

@ -32,8 +32,7 @@
==============================================================================
*/
#ifndef DOXYGEN
/** @cond */
namespace juce::universal_midi_packets
{
@ -51,5 +50,4 @@ struct Receiver
};
} // namespace juce::universal_midi_packets
#endif
/** @endcond */

View file

@ -32,8 +32,7 @@
==============================================================================
*/
#ifndef DOXYGEN
/** @cond */
namespace juce::universal_midi_packets
{
@ -82,5 +81,4 @@ struct SysEx7
};
} // namespace juce::universal_midi_packets
#endif
/** @endcond */

View file

@ -32,8 +32,7 @@
==============================================================================
*/
#ifndef DOXYGEN
/** @cond */
namespace juce::universal_midi_packets
{
@ -125,5 +124,4 @@ struct Utils
};
} // namespace juce::universal_midi_packets
#endif
/** @endcond */

View file

@ -32,8 +32,7 @@
==============================================================================
*/
#ifndef DOXYGEN
/** @cond */
namespace juce::universal_midi_packets
{
@ -97,5 +96,4 @@ private:
};
} // namespace juce::universal_midi_packets
#endif
/** @endcond */

View file

@ -32,8 +32,7 @@
==============================================================================
*/
#ifndef DOXYGEN
/** @cond */
namespace juce::universal_midi_packets
{
@ -198,5 +197,4 @@ using PacketX3 = Packet<3>;
using PacketX4 = Packet<4>;
} // namespace juce::universal_midi_packets
#endif
/** @endcond */

View file

@ -32,8 +32,7 @@
==============================================================================
*/
#ifndef DOXYGEN
/** @cond */
namespace juce::universal_midi_packets
{
@ -101,5 +100,4 @@ private:
};
} // namespace juce::universal_midi_packets
#endif
/** @endcond */

View file

@ -226,9 +226,9 @@ public:
/** Removes a listener. */
void removeListener (Listener* const listenerToRemove) noexcept;
#ifndef DOXYGEN
/** @cond */
using Zone = MPEZone;
#endif
/** @endcond */
private:
//==============================================================================

View file

@ -32,10 +32,11 @@
==============================================================================
*/
/** @cond */
namespace juce
{
#if ! defined (DOXYGEN) && (JUCE_MAC || JUCE_IOS)
#if JUCE_MAC || JUCE_IOS
struct CoreAudioLayouts
{
@ -361,3 +362,4 @@ private:
#endif
} // namespace juce
/** @endcond */

View file

@ -36,7 +36,7 @@
// This file will be included directly by macOS/iOS-specific .cpps
#pragma once
#if ! DOXYGEN
/** @cond */
#include <mach/mach_time.h>
@ -89,4 +89,4 @@ private:
} // namespace juce
#endif
/** @endcond */

View file

@ -342,7 +342,7 @@ public:
}
//==============================================================================
#ifndef DOXYGEN
/** @cond */
/** Using the new methods:
lsv.setValue (x, false); -> lsv.setTargetValue (x);
@ -362,7 +362,7 @@ public:
setTargetValue (newValue);
}
#endif
/** @endcond */
private:
//==============================================================================

View file

@ -486,7 +486,7 @@ public:
int getXRunCount() const noexcept;
//==============================================================================
#ifndef DOXYGEN
/** @cond */
[[deprecated ("Use setMidiInputDeviceEnabled instead.")]]
void setMidiInputEnabled (const String&, bool);
[[deprecated ("Use isMidiInputDeviceEnabled instead.")]]
@ -499,7 +499,7 @@ public:
void setDefaultMidiOutput (const String&);
[[deprecated ("Use getDefaultMidiOutputIdentifier instead.")]]
const String& getDefaultMidiOutputName() const noexcept { return defaultMidiOutputDeviceInfo.name; }
#endif
/** @endcond */
private:
//==============================================================================

View file

@ -179,10 +179,10 @@ public:
/** Creates a Bela device type if it's available on this platform, or returns null. */
static AudioIODeviceType* createAudioIODeviceType_Bela();
#ifndef DOXYGEN
/** @cond */
[[deprecated ("You should call the method which takes a WASAPIDeviceMode instead.")]]
static AudioIODeviceType* createAudioIODeviceType_WASAPI (bool exclusiveMode);
#endif
/** @endcond */
protected:
explicit AudioIODeviceType (const String& typeName);

View file

@ -251,14 +251,14 @@ public:
void setName (const String& newName) noexcept { deviceInfo.name = newName; }
//==============================================================================
#ifndef DOXYGEN
/** @cond */
[[deprecated ("Use getAvailableDevices instead.")]]
static StringArray getDevices();
[[deprecated ("Use getDefaultDevice instead.")]]
static int getDefaultDeviceIndex();
[[deprecated ("Use openDevice that takes a device identifier instead.")]]
static std::unique_ptr<MidiInput> openDevice (int, MidiInputCallback*);
#endif
/** @endcond */
/** @internal */
class Pimpl;
@ -440,14 +440,14 @@ public:
bool isBackgroundThreadRunning() const noexcept { return isThreadRunning(); }
//==============================================================================
#ifndef DOXYGEN
/** @cond */
[[deprecated ("Use getAvailableDevices instead.")]]
static StringArray getDevices();
[[deprecated ("Use getDefaultDevice instead.")]]
static int getDefaultDeviceIndex();
[[deprecated ("Use openDevice that takes a device identifier instead.")]]
static std::unique_ptr<MidiOutput> openDevice (int);
#endif
/** @endcond */
/** @internal */
class Pimpl;

View file

@ -32,8 +32,7 @@
==============================================================================
*/
#ifndef DOXYGEN
/** @cond */
namespace juce::universal_midi_packets
{
@ -149,5 +148,4 @@ struct BytestreamToUMPHandler : public BytestreamInputHandler
};
} // juce::universal_midi_packets
#endif
/** @endcond */

View file

@ -32,8 +32,7 @@
==============================================================================
*/
#ifndef DOXYGEN
/** @cond */
namespace juce::universal_midi_packets
{
@ -160,6 +159,4 @@ struct U32ToUMPHandler : public U32InputHandler
};
} // namespace juce::universal_midi_packets
#endif
/** @endcond */

View file

@ -97,7 +97,7 @@ FUNCTION_TEMPLATE = """/*
#pragma once
#ifndef DOXYGEN
/** @cond */
#include <vector>
@ -130,7 +130,7 @@ std::vector<juce::lv2::Bundle> juce::lv2::Bundle::getAllBundles()
}};
}}
#endif"""
/** @endcond */"""
def chunks(lst, n):

View file

@ -32,8 +32,7 @@
==============================================================================
*/
#ifndef DOXYGEN
/** @cond */
// This macro can be set if you need to override this internal name for some reason..
#ifndef JUCE_STATE_DICTIONARY_KEY
#define JUCE_STATE_DICTIONARY_KEY "jucePluginState"
@ -717,5 +716,4 @@ struct AudioUnitHelpers
};
} // namespace juce
#endif
/** @endcond */

View file

@ -34,7 +34,7 @@
#pragma once
#ifndef DOXYGEN
/** @cond */
#include "juce_lv2_config.h"
@ -672,5 +672,4 @@ static inline String sanitiseStringAsTtlName (const String& input)
}
} // namespace juce::lv2_shared
#endif
/** @endcond */

View file

@ -38,7 +38,7 @@
#pragma once
#ifndef DOXYGEN
/** @cond */
#include <vector>
@ -10238,4 +10238,4 @@ to an instance of LV2_Extension_Data_Feature.
};
}
#endif
/** @endcond */

View file

@ -34,8 +34,7 @@
#pragma once
#ifndef DOXYGEN
/** @cond */
namespace juce
{
@ -1663,5 +1662,4 @@ private:
JUCE_END_NO_SANITIZE
} // namespace juce
#endif
/** @endcond */

View file

@ -52,7 +52,7 @@ public:
~VST3PluginFormat() override;
//==============================================================================
#ifndef DOXYGEN
/** @cond */
/** Attempts to reload a VST3 plugin's state from some preset file data.
@see VSTPluginFormat::loadFromFXBFile
@ -62,7 +62,7 @@ public:
"Then, call ExtensionsVisitor::VST3::setPreset() to set the state using the "
"contents of a vstpreset file.")]]
static bool setStateFromVSTPresetFile (AudioPluginInstance*, const MemoryBlock&);
#endif
/** @endcond */
//==============================================================================
static String getFormatName() { return "VST3"; }

View file

@ -34,8 +34,7 @@
#pragma once
#ifndef DOXYGEN
/** @cond */
namespace juce
{
@ -239,5 +238,4 @@ auto becomeVSTComSmartPtrOwner (ObjectType* t)
JUCE_END_NO_SANITIZE
} // namespace juce
#endif // DOXYGEN
/** @endcond */

View file

@ -118,7 +118,7 @@ public:
*/
HostedParameter* getHostedParameter (int index) const;
#ifndef DOXYGEN
/** @cond */
/** Use the new typesafe visitor-based interface rather than this function.
Returns a pointer to some kind of platform-specific data about the plugin.
@ -150,7 +150,7 @@ public:
[[deprecated]] bool isParameterOrientationInverted (int parameterIndex) const override;
[[deprecated]] bool isMetaParameter (int parameterIndex) const override;
[[deprecated]] AudioProcessorParameter::Category getParameterCategory (int parameterIndex) const override;
#endif
/** @endcond */
protected:
//==============================================================================

View file

@ -1487,7 +1487,7 @@ protected:
void sendParamChangeMessageToListeners (int parameterIndex, float newValue);
public:
#ifndef DOXYGEN
/** @cond */
// These methods are all deprecated in favour of using AudioProcessorParameter
// and AudioProcessorParameterGroup
[[deprecated]] virtual int getNumParameters();
@ -1520,7 +1520,7 @@ public:
[[deprecated]] virtual const String getOutputChannelName (int channelIndex) const;
[[deprecated]] virtual bool isInputChannelStereoPair (int index) const;
[[deprecated]] virtual bool isOutputChannelStereoPair (int index) const;
#endif
/** @endcond */
private:
//==============================================================================

View file

@ -235,13 +235,13 @@ public:
addChild (std::forward<Args> (remainingChildren)...);
}
#ifndef DOXYGEN
/** @cond */
[[deprecated ("This class now has a move operator, so if you're trying to move them around, you "
"should use that, or if you really need to swap two groups, just call std::swap. "
"However, remember that swapping a group that's already owned by an AudioProcessor "
"will most likely crash the host, so don't do that.")]]
void swapWith (AudioProcessorParameterGroup& other) { std::swap (*this, other); }
#endif
/** @endcond */
private:
//==============================================================================

View file

@ -58,10 +58,10 @@ public:
void paint (Graphics&) override;
void resized() override;
#ifndef DOXYGEN
/** @cond */
[[deprecated ("This constructor has been changed to take a reference instead of a pointer.")]]
GenericAudioProcessorEditor (AudioProcessor* p) : GenericAudioProcessorEditor (*p) {}
#endif
/** @endcond */
private:
//==============================================================================

View file

@ -218,7 +218,7 @@ public:
void setCustomScanner (std::unique_ptr<CustomScanner> newScanner);
//==============================================================================
#ifndef DOXYGEN
/** @cond */
// These methods have been deprecated! When getting the list of plugin types you should instead use
// the getTypes() method which returns a copy of the internal PluginDescription array and can be accessed
// in a thread-safe way.
@ -234,7 +234,7 @@ public:
[[deprecated]] void addToMenu (PopupMenu& menu, SortMethod sortMethod, const String& currentlyTickedPluginID = {}) const;
[[deprecated]] int getIndexChosenByMenu (int menuResultCode) const;
[[deprecated]] std::unique_ptr<PluginTree> createTree (SortMethod sortMethod) const;
#endif
/** @endcond */
private:
//==============================================================================

View file

@ -36,9 +36,11 @@
#include <juce_core/system/juce_PlatformDefs.h>
#if ! (defined (JUCE_API) || defined (DOXYGEN))
#define JUCE_API
/** @cond */
#ifndef JUCE_API
#define JUCE_API
#endif
/** @endcond */
#if (JucePlugin_Enable_ARA || (JUCE_PLUGINHOST_ARA && (JUCE_PLUGINHOST_VST3 || JUCE_PLUGINHOST_AU))) && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX)

View file

@ -141,8 +141,7 @@ protected:
void doRequestProcessingAlgorithmForAudioSource (ARA::PlugIn::AudioSource* audioSource,
ARA::ARAInt32 algorithmIndex) noexcept override;
#ifndef DOXYGEN
/** @cond */
//==============================================================================
bool doRestoreObjectsFromArchive (ARA::PlugIn::HostArchiveReader* archiveReader, const ARA::PlugIn::RestoreObjectsFilter* filter) noexcept override;
bool doStoreObjectsToArchive (ARA::PlugIn::HostArchiveWriter* archiveWriter, const ARA::PlugIn::StoreObjectsFilter* filter) noexcept override;
@ -211,8 +210,10 @@ protected:
void willUpdatePlaybackRegionProperties (ARA::PlugIn::PlaybackRegion* playbackRegion, ARAPlaybackRegion::PropertiesPtr newProperties) noexcept override;
void didUpdatePlaybackRegionProperties (ARA::PlugIn::PlaybackRegion* playbackRegion) noexcept override;
void willDestroyPlaybackRegion (ARA::PlugIn::PlaybackRegion* playbackRegion) noexcept override;
/** @endcond */
public:
/** @cond */
//==============================================================================
/** @internal */
void internalNotifyAudioSourceAnalysisProgressStarted (ARAAudioSource* audioSource) override;
@ -244,7 +245,7 @@ public:
ARAContentUpdateScopes scopeFlags,
bool notifyARAHost) override;
#endif
/** @endcond */
private:
//==============================================================================

View file

@ -279,7 +279,7 @@ public:
~AudioProcessorValueTreeState() override;
//==============================================================================
#ifndef DOXYGEN
/** @cond */
/** Previous calls to
@code
@ -326,7 +326,7 @@ public:
bool isDiscrete = false,
AudioProcessorParameter::Category parameterCategory = AudioProcessorParameter::genericParameter,
bool isBoolean = false);
#endif
/** @endcond */
/** This function adds a parameter to the attached AudioProcessor and that parameter will
be managed by this AudioProcessorValueTreeState object.

View file

@ -32,7 +32,7 @@
==============================================================================
*/
#ifndef DOXYGEN
/** @cond */
// Forward declarations to avoid leaking implementation details.
namespace Steinberg::Vst
@ -40,7 +40,7 @@ namespace Steinberg::Vst
class IComponent;
} // namespace Steinberg::Vst
#endif
/** @endcond */
//==============================================================================
#if TARGET_OS_IPHONE

View file

@ -32,8 +32,7 @@
==============================================================================
*/
#if ! DOXYGEN
/** @cond */
namespace juce
{
@ -187,5 +186,4 @@ private:
};
} // namespace juce
#endif
/** @endcond */

View file

@ -251,12 +251,12 @@ public:
//==============================================================================
#ifndef DOXYGEN
/** @cond */
// @internal
static AudioProcessor::WrapperType jucePlugInClientCurrentWrapperType;
static std::function<bool (AudioProcessor&)> jucePlugInIsRunningInAudioSuiteFn;
static String hostIdReportedByWrapper;
#endif
/** @endcond */
private:
static HostType getHostType();

View file

@ -32,7 +32,7 @@
==============================================================================
*/
#ifndef DOXYGEN
/** @cond */
// Forward declaration to avoid leaking implementation details.
namespace Steinberg
@ -41,7 +41,7 @@ namespace Steinberg
using TUID = char[16];
} // namespace Steinberg
#endif // DOXYGEN
/** @endcond */
namespace juce
{

View file

@ -204,11 +204,11 @@ public:
*/
NoteAndVelocity getNoteAndVelocityAtPosition (Point<float> position, bool includeChildComponents = false);
#ifndef DOXYGEN
/** @cond */
/** Returns the key at a given coordinate, or -1 if the position does not intersect a key. */
[[deprecated ("This method has been deprecated in favour of getNoteAndVelocityAtPosition.")]]
int getNoteAtPosition (Point<float> p) { return getNoteAndVelocityAtPosition (p).note; }
#endif
/** @endcond */
/** Returns the rectangle for a given key. */
Rectangle<float> getRectangleForKey (int midiNoteNumber) const;

View file

@ -80,6 +80,7 @@ JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wconversion",
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
#ifndef DOXYGEN // for some reason, Doxygen sees this as a re-definition of Box2DRenderer
#include "utils/juce_Box2DRenderer.h"
#endif // DOXYGEN
// For some reason, Doxygen sees this as a re-definition of Box2DRenderer
/** @cond */
#include "utils/juce_Box2DRenderer.h"
/** @endcond */

View file

@ -1107,11 +1107,11 @@ public:
//==============================================================================
#ifndef DOXYGEN
/** @cond */
[[deprecated ("This method has been replaced by a more flexible templated version and renamed "
"to swapWith to be more consistent with the names used in other classes.")]]
void swapWithArray (Array& other) noexcept { swapWith (other); }
#endif
/** @endcond */
private:
//==============================================================================

View file

@ -35,8 +35,7 @@
namespace juce
{
#ifndef DOXYGEN
/** @cond */
/** This is an internal helper class which converts a juce ElementComparator style
class (using a "compareElements" method) into a class that's compatible with
std::sort (i.e. using an operator() to compare the elements)
@ -57,8 +56,7 @@ private:
SortFunctionConverter& operator= (const SortFunctionConverter&) = delete;
};
#endif
/** @endcond */
//==============================================================================

View file

@ -35,8 +35,7 @@
namespace juce
{
#ifndef DOXYGEN
/** @cond */
namespace detail
{
template <typename Ret, typename... Args>
@ -91,8 +90,7 @@ namespace detail
template <size_t len, typename T>
class FixedSizeFunction;
#endif
/** @endcond */
/**
A type similar to `std::function` that holds a callable object.

View file

@ -42,9 +42,9 @@ constexpr auto nullopt = std::nullopt;
// link time code generation.
JUCE_BEGIN_IGNORE_WARNINGS_MSVC (4702)
#ifndef DOXYGEN
/** @cond */
#define JUCE_OPTIONAL_OPERATORS X(==) X(!=) X(<) X(<=) X(>) X(>=)
#endif
/** @endcond */
/**
A simple optional type.
@ -175,7 +175,7 @@ Optional<std::decay_t<Value>> makeOptional (Value&& v)
return std::forward<Value> (v);
}
#ifndef DOXYGEN
/** @cond */
#define X(op) \
template <typename T, typename U> bool operator op (const Optional<T>& lhs, const Optional<U>& rhs) { return lhs.opt op rhs.opt; } \
template <typename T> bool operator op (const Optional<T>& lhs, Nullopt rhs) { return lhs.opt op rhs; } \
@ -187,6 +187,6 @@ JUCE_OPTIONAL_OPERATORS
#undef X
#undef JUCE_OPTIONAL_OPERATORS
#endif
/** @endcond */
} // namespace juce

View file

@ -806,11 +806,11 @@ public:
using ScopedLockType = typename TypeOfCriticalSectionToUse::ScopedLockType;
//==============================================================================
#ifndef DOXYGEN
/** @cond */
[[deprecated ("This method has been replaced by a more flexible templated version and renamed "
"to swapWith to be more consistent with the names used in other classes.")]]
void swapWithArray (OwnedArray& other) noexcept { swapWith (other); }
#endif
/** @endcond */
private:
//==============================================================================

View file

@ -854,11 +854,11 @@ public:
using ScopedLockType = typename TypeOfCriticalSectionToUse::ScopedLockType;
//==============================================================================
#ifndef DOXYGEN
/** @cond */
[[deprecated ("This method has been replaced by a more flexible templated version and renamed "
"to swapWith to be more consistent with the names used in other classes.")]]
void swapWithArray (ReferenceCountedArray& other) noexcept { swapWith (other); }
#endif
/** @endcond */
private:
//==============================================================================

View file

@ -295,12 +295,14 @@ public:
static var readFromStream (InputStream& input);
//==============================================================================
#if JUCE_ALLOW_STATIC_NULL_VARIABLES && ! defined (DOXYGEN)
#if JUCE_ALLOW_STATIC_NULL_VARIABLES
/** @cond */
[[deprecated ("This was a static empty var object, but is now deprecated as it's too easy to accidentally "
"use it indirectly during a static constructor leading to hard-to-find order-of-initialisation "
"problems. Use var() or {} instead. For returning an empty var from a function by reference, "
"use a function-local static var and return that.")]]
static const var null;
/** @endcond */
#endif
private:

View file

@ -32,8 +32,7 @@
==============================================================================
*/
#ifndef DOXYGEN
/** @cond */
namespace juce
{
@ -84,5 +83,4 @@ private:
};
} // namespace juce
#endif
/** @endcond */

View file

@ -35,8 +35,7 @@
namespace juce
{
#ifndef DOXYGEN
/** @cond */
//==============================================================================
/**
This class is now deprecated in favour of RangedDirectoryIterator.
@ -203,7 +202,6 @@ private:
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (DirectoryIterator)
};
#endif
/** @endcond */
} // namespace juce

View file

@ -35,9 +35,11 @@
namespace juce
{
#if ! DOXYGEN && (JUCE_MAC || JUCE_IOS)
/** @cond */
#if JUCE_MAC || JUCE_IOS
using OSType = unsigned int;
#endif
/** @endcond */
//==============================================================================
/**
@ -1153,7 +1155,8 @@ public:
bool foldersFirst;
};
#if JUCE_ALLOW_STATIC_NULL_VARIABLES && ! defined (DOXYGEN)
#if JUCE_ALLOW_STATIC_NULL_VARIABLES
/** @cond */
/* These static objects are deprecated because it's too easy to accidentally use them indirectly
during a static constructor, which leads to very obscure order-of-initialisation bugs.
Use File::getSeparatorChar() and File::getSeparatorString(), and instead of File::nonexistent,
@ -1162,6 +1165,7 @@ public:
[[deprecated]] static const juce_wchar separator;
[[deprecated]] static const StringRef separatorString;
[[deprecated]] static const File nonexistent;
/** @endcond */
#endif
private:

View file

@ -499,16 +499,14 @@ struct VariantConverter
}
};
#ifndef DOXYGEN
/** @cond */
template <>
struct VariantConverter<String>
{
static String fromVar (const var& v) { return v.toString(); }
static var toVar (const String& s) { return s; }
};
#endif
/** @endcond */
/**
A helper type that can be used to implement specialisations of VariantConverter that use

View file

@ -394,7 +394,7 @@ JUCE_END_IGNORE_WARNINGS_MSVC
#include "unit_tests/juce_UnitTestCategories.h"
#endif
#ifndef DOXYGEN
/** @cond */
namespace juce
{
/*
@ -415,7 +415,7 @@ namespace juce
static this_will_fail_to_link_if_some_of_your_compile_units_are_built_in_release_mode compileUnitMismatchSentinel;
#endif
}
#endif
/** @endcond */
JUCE_END_IGNORE_WARNINGS_MSVC

View file

@ -68,14 +68,14 @@ using uint32 = unsigned int;
using uint64 = unsigned long long;
#endif
#ifndef DOXYGEN
/** A macro for creating 64-bit literals.
Historically, this was needed to support portability with MSVC6, and is kept here
so that old code will still compile, but nowadays every compiler will support the
LL and ULL suffixes, so you should use those in preference to this macro.
*/
#define literal64bit(longLiteral) (longLiteral##LL)
#endif
/** @cond */
/** A macro for creating 64-bit literals.
Historically, this was needed to support portability with MSVC6, and is kept here
so that old code will still compile, but nowadays every compiler will support the
LL and ULL suffixes, so you should use those in preference to this macro.
*/
#define literal64bit(longLiteral) (longLiteral##LL)
/** @endcond */
#if JUCE_64BIT
/** A signed integer type that's guaranteed to be large enough to hold a pointer without truncating it. */
@ -129,7 +129,7 @@ Type juce_hypot (Type a, Type b) noexcept
#endif
}
#ifndef DOXYGEN
/** @cond */
template <>
inline float juce_hypot (float a, float b) noexcept
{
@ -139,7 +139,7 @@ inline float juce_hypot (float a, float b) noexcept
return hypotf (a, b);
#endif
}
#endif
/** @endcond */
//==============================================================================
/** Commonly used mathematical constants
@ -165,7 +165,7 @@ struct MathConstants
static constexpr FloatType sqrt2 = static_cast<FloatType> (1.4142135623730950488L);
};
#ifndef DOXYGEN
/** @cond */
/** A double-precision constant for pi. */
[[deprecated ("This is deprecated in favour of MathConstants<double>::pi.")]]
const constexpr double double_Pi = MathConstants<double>::pi;
@ -173,7 +173,7 @@ const constexpr double double_Pi = MathConstants<double>::pi;
/** A single-precision constant for pi. */
[[deprecated ("This is deprecated in favour of MathConstants<float>::pi.")]]
const constexpr float float_Pi = MathConstants<float>::pi;
#endif
/** @endcond */
/** Converts an angle in degrees to radians. */
template <typename FloatType>
@ -763,7 +763,7 @@ namespace TypeHelpers
*/
template <typename Type> struct ParameterType { using type = const Type&; };
#ifndef DOXYGEN
/** @cond */
template <typename Type> struct ParameterType <Type&> { using type = Type&; };
template <typename Type> struct ParameterType <Type*> { using type = Type*; };
template <> struct ParameterType <char> { using type = char; };
@ -779,7 +779,7 @@ namespace TypeHelpers
template <> struct ParameterType <bool> { using type = bool; };
template <> struct ParameterType <float> { using type = float; };
template <> struct ParameterType <double> { using type = double; };
#endif
/** @endcond */
/** These templates are designed to take a type, and if it's a double, they return a double
type; for anything else, they return a float type.
@ -796,20 +796,20 @@ namespace TypeHelpers
*/
template <int bytes> struct UnsignedTypeWithSize {};
#ifndef DOXYGEN
/** @cond */
template <> struct UnsignedTypeWithSize<1> { using type = uint8; };
template <> struct UnsignedTypeWithSize<2> { using type = uint16; };
template <> struct UnsignedTypeWithSize<4> { using type = uint32; };
template <> struct UnsignedTypeWithSize<8> { using type = uint64; };
#endif
/** @endcond */
}
//==============================================================================
#ifndef DOXYGEN
[[deprecated ("Use roundToInt instead.")]] inline int roundDoubleToInt (double value) noexcept { return roundToInt (value); }
[[deprecated ("Use roundToInt instead.")]] inline int roundFloatToInt (float value) noexcept { return roundToInt (value); }
[[deprecated ("Use std::abs() instead.")]] inline int64 abs64 (int64 n) noexcept { return std::abs (n); }
#endif
/** @cond */
[[deprecated ("Use roundToInt instead.")]] inline int roundDoubleToInt (double value) noexcept { return roundToInt (value); }
[[deprecated ("Use roundToInt instead.")]] inline int roundFloatToInt (float value) noexcept { return roundToInt (value); }
[[deprecated ("Use std::abs() instead.")]] inline int64 abs64 (int64 n) noexcept { return std::abs (n); }
/** @endcond */
/** Converts an enum to its underlying integral type.
Similar to std::to_underlying, which is only available in C++23 and above.

View file

@ -35,13 +35,13 @@
namespace juce
{
#ifndef DOXYGEN
namespace AtomicHelpers
{
template <typename T> struct DiffTypeHelper { using Type = T; };
template <typename T> struct DiffTypeHelper<T*> { using Type = std::ptrdiff_t; };
}
#endif
/** @cond */
namespace AtomicHelpers
{
template <typename T> struct DiffTypeHelper { using Type = T; };
template <typename T> struct DiffTypeHelper<T*> { using Type = std::ptrdiff_t; };
}
/** @endcond */
//==============================================================================
/**
@ -147,11 +147,11 @@ struct Atomic final
std::atomic<Type> value;
//==============================================================================
#ifndef DOXYGEN
/** @cond */
[[deprecated ("This method has been deprecated as there is no equivalent method in "
"std::atomic. Use compareAndSetBool instead.")]]
Type compareAndSetValue (Type, Type) noexcept;
#endif
/** @endcond */
};
} // namespace juce

View file

@ -35,7 +35,8 @@
namespace juce
{
#if ! (DOXYGEN || JUCE_EXCEPTIONS_DISABLED)
#if ! JUCE_EXCEPTIONS_DISABLED
/** @cond */
namespace HeapBlockHelper
{
template <bool shouldThrow>
@ -44,6 +45,7 @@ namespace HeapBlockHelper
template <>
struct ThrowOnFail<true> { static void checkPointer (void* data) { if (data == nullptr) throw std::bad_alloc(); } };
}
/** @endcond */
#endif
//==============================================================================

View file

@ -178,7 +178,8 @@ inline const Type* addBytesToPointer (const Type* basePointer, IntegerType bytes
avoiding problems when an object is created in one module and passed across to another where it is deleted.
By piggy-backing on the JUCE_LEAK_DETECTOR macro, these allocators can be injected into most juce classes.
*/
#if JUCE_MSVC && (defined (JUCE_DLL) || defined (JUCE_DLL_BUILD)) && ! (JUCE_DISABLE_DLL_ALLOCATORS || DOXYGEN)
#if JUCE_MSVC && (defined (JUCE_DLL) || defined (JUCE_DLL_BUILD)) && ! JUCE_DISABLE_DLL_ALLOCATORS
/** @cond */
extern JUCE_API void* juceDLL_malloc (size_t);
extern JUCE_API void juceDLL_free (void*);
@ -187,6 +188,7 @@ inline const Type* addBytesToPointer (const Type* basePointer, IntegerType bytes
static void* operator new (size_t, void* p) { return p; } \
static void operator delete (void* p) { juce::juceDLL_free (p); } \
static void operator delete (void*, void*) {}
/** @endcond */
#endif
//==============================================================================

View file

@ -281,14 +281,14 @@ public:
bool fromBase64Encoding (StringRef encodedString);
//==============================================================================
#ifndef DOXYGEN
/** @cond */
[[deprecated ("Use the replaceAll method instead, which will also replace the data when numBytes == 0.")]]
void replaceWith (const void* srcData, size_t numBytes)
{
if (numBytes > 0)
replaceAll (srcData, numBytes);
}
#endif
/** @endcond */
private:
//==============================================================================

View file

@ -440,10 +440,10 @@ public:
operator ReferencedType*() const noexcept { return referencedObject; }
#endif
#ifndef DOXYGEN
/** @cond */
[[deprecated ("Use the get method instead.")]]
ReferencedType* getObject() const { return get(); }
#endif
/** @endcond */
private:
//==============================================================================

View file

@ -32,8 +32,7 @@
==============================================================================
*/
#ifndef DOXYGEN
/** @cond */
namespace juce
{
@ -228,5 +227,4 @@ void deleteAndZero (ScopedPointer<Type>&) { static_assert (sizeof (Type) == 123
JUCE_END_IGNORE_DEPRECATION_WARNINGS
} // namespace juce
#endif
/** @endcond */

View file

@ -128,10 +128,10 @@ public:
/** Returns a reference to the shared object. */
SharedObjectType& operator*() const noexcept { return *sharedObject; }
#ifndef DOXYGEN
/** @cond */
[[deprecated ("If you are relying on this function please inform the JUCE team as we are planing on removing this in a subsequent release")]]
int getReferenceCount() const noexcept { return (int) sharedObject.use_count(); }
#endif
/** @endcond */
/** Returns the SharedResourcePointer if one already exists, or a null optional otherwise. */
static std::optional<SharedResourcePointer> getSharedObjectWithoutCreating()

View file

@ -135,7 +135,7 @@ struct SingletonHolder : private MutexType // (inherited so we can use the empt
std::atomic<Type*> instance { nullptr };
};
#ifndef DOXYGEN
/** @cond */
#define JUCE_PRIVATE_DECLARE_SINGLETON(Classname, mutex, doNotRecreate, inlineToken, getter) \
static inlineToken juce::SingletonHolder<Classname, mutex, doNotRecreate> singletonHolder; \
friend juce::SingletonHolder<Classname, mutex, doNotRecreate>; \
@ -143,7 +143,7 @@ struct SingletonHolder : private MutexType // (inherited so we can use the empt
static Classname* JUCE_CALLTYPE getInstanceWithoutCreating() noexcept { return singletonHolder.instance; } \
static void JUCE_CALLTYPE deleteInstance() noexcept { singletonHolder.deleteInstance(); } \
void clearSingletonInstance() noexcept { singletonHolder.clear (this); }
#endif
/** @endcond */
//==============================================================================
/**
@ -281,14 +281,14 @@ struct SingletonHolder : private MutexType // (inherited so we can use the empt
JUCE_PRIVATE_DECLARE_SINGLETON (Classname, juce::DummyCriticalSection, false, inline, getWithoutChecking)
//==============================================================================
#ifndef DOXYGEN
// These are ancient macros, and have now been updated with new names to match the JUCE style guide,
// so please update your code to use the newer versions!
#define juce_DeclareSingleton(Classname, doNotRecreate) JUCE_DECLARE_SINGLETON(Classname, doNotRecreate)
#define juce_DeclareSingleton_SingleThreaded(Classname, doNotRecreate) JUCE_DECLARE_SINGLETON_SINGLETHREADED(Classname, doNotRecreate)
#define juce_DeclareSingleton_SingleThreaded_Minimal(Classname) JUCE_DECLARE_SINGLETON_SINGLETHREADED_MINIMAL(Classname)
#define juce_ImplementSingleton(Classname) JUCE_IMPLEMENT_SINGLETON(Classname)
#define juce_ImplementSingleton_SingleThreaded(Classname) JUCE_IMPLEMENT_SINGLETON(Classname)
#endif
/** @cond */
// These are ancient macros, and have now been updated with new names to match the JUCE style guide,
// so please update your code to use the newer versions!
#define juce_DeclareSingleton(Classname, doNotRecreate) JUCE_DECLARE_SINGLETON(Classname, doNotRecreate)
#define juce_DeclareSingleton_SingleThreaded(Classname, doNotRecreate) JUCE_DECLARE_SINGLETON_SINGLETHREADED(Classname, doNotRecreate)
#define juce_DeclareSingleton_SingleThreaded_Minimal(Classname) JUCE_DECLARE_SINGLETON_SINGLETHREADED_MINIMAL(Classname)
#define juce_ImplementSingleton(Classname) JUCE_IMPLEMENT_SINGLETON(Classname)
#define juce_ImplementSingleton_SingleThreaded(Classname) JUCE_IMPLEMENT_SINGLETON(Classname)
/** @endcond */
} // namespace juce

View file

@ -35,7 +35,7 @@
namespace juce
{
#ifndef DOXYGEN
/** @cond */
namespace detail
{
template <typename...>
@ -47,7 +47,7 @@ namespace detail
template <typename T>
constexpr auto equalityComparableToNullptr<T, Void<decltype (std::declval<T>() != nullptr)>> = true;
} // namespace detail
#endif
/** @endcond */
//==============================================================================
/** Some helper methods for checking a callable object before invoking with
@ -98,7 +98,7 @@ template <typename Object, typename OtherObject, typename Member, typename Other
return copy;
}
#ifndef DOXYGEN
/** @cond */
namespace detail
{
template <typename Functor, typename Return, typename... Args>
@ -107,7 +107,7 @@ static constexpr auto toFnPtr (Functor functor, Return (Functor::*) (Args...) co
return static_cast<Return (*) (Args...)> (functor);
}
} // namespace detail
#endif
/** @endcond */
/** Converts a captureless lambda to its equivalent function pointer type. */
template <typename Functor>

View file

@ -151,7 +151,7 @@ private:
} // namespace juce
#ifndef DOXYGEN
/** @cond */
namespace std
{
template <> struct hash<juce::Uuid>
@ -159,4 +159,4 @@ namespace std
size_t operator() (const juce::Uuid& u) const noexcept { return (size_t) u.hash(); }
};
}
#endif
/** @endcond */

View file

@ -135,12 +135,12 @@ public:
bool registerForCurrentUserOnly,
WoW64Mode mode = WoW64_Default);
#ifndef DOXYGEN
/** @cond */
// DEPRECATED: use the other methods with a WoW64Mode parameter of WoW64_64bit instead.
[[deprecated]] static String getValueWow64 (const String&, const String& defaultValue = String());
[[deprecated]] static bool valueExistsWow64 (const String&);
[[deprecated]] static bool keyExistsWow64 (const String&);
#endif
/** @endcond */
private:
WindowsRegistry() = delete;

View file

@ -382,7 +382,7 @@ private:
};
//==============================================================================
#ifndef DOXYGEN
/** @cond */
template <class JuceClass>
struct ObjCLifetimeManagedClass : public ObjCClass<NSObject>
{
@ -424,7 +424,7 @@ struct ObjCLifetimeManagedClass : public ObjCClass<NSObject>
template <typename Class>
ObjCLifetimeManagedClass<Class> ObjCLifetimeManagedClass<Class>::objCLifetimeManagedClass;
#endif
/** @endcond */
// this will return an NSObject which takes ownership of the JUCE instance passed-in
// This is useful to tie the life-time of a juce instance to the life-time of an NSObject

View file

@ -684,7 +684,7 @@ public:
static URL createWithoutParsing (const String& url);
//==============================================================================
#ifndef DOXYGEN
/** @cond */
using OpenStreamProgressCallback = bool (void* context, int bytesSent, int totalBytes);
/** This method has been deprecated.
@ -701,7 +701,7 @@ public:
int* statusCode = nullptr,
int numRedirectsToFollow = 5,
String httpRequestCmd = {}) const;
#endif
/** @endcond */
private:
//==============================================================================

View file

@ -148,8 +148,7 @@ template <typename T> constexpr auto serialisationSize (const T& t) -> std::enab
The following are specialisations of SerialisationTraits for commonly-used types.
*/
#ifndef DOXYGEN
/** @cond */
template <typename... Ts>
struct SerialisationTraits<std::vector<Ts...>>
{
@ -583,6 +582,6 @@ namespace detail
}
} // namespace detail
#endif
/** @endcond */
} // namespace juce

View file

@ -113,14 +113,14 @@
#endif
//==============================================================================
#ifndef DOXYGEN
// These are old flags that are now supported on all compatible build targets
#define JUCE_CXX14_IS_AVAILABLE 1
#define JUCE_COMPILER_SUPPORTS_OVERRIDE_AND_FINAL 1
#define JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES 1
#define JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS 1
#define JUCE_COMPILER_SUPPORTS_NOEXCEPT 1
#define JUCE_DELETED_FUNCTION = delete
#define JUCE_CONSTEXPR constexpr
#define JUCE_NODISCARD [[nodiscard]]
#endif
// These are old flags that are now supported on all compatible build targets
/** @cond */
#define JUCE_CXX14_IS_AVAILABLE 1
#define JUCE_COMPILER_SUPPORTS_OVERRIDE_AND_FINAL 1
#define JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES 1
#define JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS 1
#define JUCE_COMPILER_SUPPORTS_NOEXCEPT 1
#define JUCE_DELETED_FUNCTION = delete
#define JUCE_CONSTEXPR constexpr
#define JUCE_NODISCARD [[nodiscard]]
/** @endcond */

View file

@ -36,7 +36,7 @@
#include "juce_TargetPlatform.h"
// @cond
/** @cond */
/** Return the Nth argument. By passing a variadic pack followed by N other
parameters, we can select one of those N parameter based on the length of
the parameter pack.
@ -161,7 +161,7 @@
/** Quote the argument, turning it into a string. */
#define JUCE_TO_STRING(x) #x
// @endcond
/** @endcond */
#if JUCE_CLANG || JUCE_GCC
#define JUCE_IGNORE_GCC_IMPL_(compiler, warning)
#define JUCE_IGNORE_GCC_IMPL_0(compiler, warning)

View file

@ -129,12 +129,14 @@ namespace juce
#endif
//==============================================================================
#if JUCE_MSVC && ! defined (DOXYGEN)
#if JUCE_MSVC
/** @cond */
#define JUCE_BLOCK_WITH_FORCED_SEMICOLON(x) \
__pragma(warning(push)) \
__pragma(warning(disable:4127)) \
do { x } while (false) \
__pragma(warning(pop))
/** @endcond */
#else
/** This is the good old C++ trick for creating a macro that forces the user to put
a semicolon after it when they use it.
@ -204,10 +206,10 @@ namespace juce
#define JUCE_ASSERTIONS_ENABLED_OR_LOGGED JUCE_ASSERTIONS_ENABLED || JUCE_LOG_ASSERTIONS
//==============================================================================
#ifndef DOXYGEN
#define JUCE_JOIN_MACRO_HELPER(a, b) a ## b
#define JUCE_STRINGIFY_MACRO_HELPER(a) #a
#endif
/** @cond */
#define JUCE_JOIN_MACRO_HELPER(a, b) a ## b
#define JUCE_STRINGIFY_MACRO_HELPER(a) #a
/** @endcond */
/** A good old-fashioned C macro concatenation helper.
This combines two items (which may themselves be macros) into a single string,
@ -271,8 +273,10 @@ namespace juce
static void operator delete (void*) = delete;
//==============================================================================
#if JUCE_MSVC && ! defined (DOXYGEN)
#if JUCE_MSVC
/** @cond */
#define JUCE_COMPILER_WARNING(msg) __pragma (message (__FILE__ "(" JUCE_STRINGIFY (__LINE__) ") : Warning: " msg))
/** @endcond */
#else
/** This macro allows you to emit a custom compiler warning message.
@ -314,8 +318,10 @@ namespace juce
#endif
//==============================================================================
#if JUCE_ANDROID && ! defined (DOXYGEN)
#if JUCE_ANDROID
/** @cond */
#define JUCE_MODAL_LOOPS_PERMITTED 0
/** @endcond */
#elif ! defined (JUCE_MODAL_LOOPS_PERMITTED)
/** Some operating environments don't provide a modal loop mechanism, so this flag can be
used to disable any functions that try to run a modal loop. */
@ -323,11 +329,13 @@ namespace juce
#endif
//==============================================================================
/** @cond */
#if JUCE_GCC || JUCE_CLANG
#define JUCE_PACKED __attribute__ ((packed))
#elif ! defined (DOXYGEN)
#else
#define JUCE_PACKED
#endif
/** @endcond */
//==============================================================================
#if JUCE_GCC || DOXYGEN

View file

@ -53,10 +53,10 @@
*/
#define JUCE_VERSION ((JUCE_MAJOR_VERSION << 16) + (JUCE_MINOR_VERSION << 8) + JUCE_BUILDNUMBER)
#if ! DOXYGEN
/** @cond */
#define JUCE_VERSION_ID \
[[maybe_unused]] volatile auto juceVersionId = "juce_version_" JUCE_STRINGIFY(JUCE_MAJOR_VERSION) "_" JUCE_STRINGIFY(JUCE_MINOR_VERSION) "_" JUCE_STRINGIFY(JUCE_BUILDNUMBER);
#endif
/** @endcond */
//==============================================================================
#include <algorithm>
@ -173,6 +173,6 @@ JUCE_END_IGNORE_WARNINGS_MSVC
/** This macro is added to all JUCE public function declarations. */
#define JUCE_PUBLIC_FUNCTION JUCE_API JUCE_CALLTYPE
#ifndef DOXYGEN
#define JUCE_NAMESPACE juce // This old macro is deprecated: you should just use the juce namespace directly.
#endif
/** @cond */
#define JUCE_NAMESPACE juce // This old macro is deprecated: you should just use the juce namespace directly.
/** @endcond */

View file

@ -294,10 +294,10 @@ public:
#endif
//==============================================================================
#ifndef DOXYGEN
/** @cond */
[[deprecated ("This method was spelt wrong! Please change your code to use getCpuSpeedInMegahertz instead.")]]
static int getCpuSpeedInMegaherz() { return getCpuSpeedInMegahertz(); }
#endif
/** @endcond */
private:
SystemStats() = delete; // uses only static methods

View file

@ -350,7 +350,8 @@ public:
return CharacterFunctions::compareIgnoreCaseUpTo (*this, other, maxChars);
}
#if JUCE_MSVC && ! defined (DOXYGEN)
#if JUCE_MSVC
/** @cond */
int compareIgnoreCase (CharPointer_UTF16 other) const noexcept
{
return _wcsicmp (data, other.data);
@ -366,6 +367,7 @@ public:
const CharType* const t = wcsstr (data, stringToFind.getAddress());
return t == nullptr ? -1 : (int) (t - data);
}
/** @endcond */
#endif
/** Returns the character index of a substring, or -1 if it isn't found. */

View file

@ -36,10 +36,12 @@ namespace juce
{
//==============================================================================
#if JUCE_WINDOWS && ! defined (DOXYGEN)
#if JUCE_WINDOWS
/** @cond */
#define JUCE_NATIVE_WCHAR_IS_UTF8 0
#define JUCE_NATIVE_WCHAR_IS_UTF16 1
#define JUCE_NATIVE_WCHAR_IS_UTF32 0
/** @endcond */
#else
/** This macro will be set to 1 if the compiler's native wchar_t is an 8-bit type. */
#define JUCE_NATIVE_WCHAR_IS_UTF8 0
@ -56,10 +58,10 @@ namespace juce
using juce_wchar = uint32;
#endif
#ifndef DOXYGEN
/** This macro is deprecated, but preserved for compatibility with old code. */
#define JUCE_T(stringLiteral) (L##stringLiteral)
#endif
// This macro is deprecated, but preserved for compatibility with old code.
/** @cond */
#define JUCE_T(stringLiteral) (L##stringLiteral)
/** @endcond */
#if JUCE_DEFINE_T_MACRO
/** The 'T' macro is an alternative for using the "L" prefix in front of a string literal.
@ -72,8 +74,7 @@ namespace juce
#define T(stringLiteral) JUCE_T(stringLiteral)
#endif
#ifndef DOXYGEN
/** @cond */
//==============================================================================
// GNU libstdc++ does not have std::make_unsigned
namespace internal
@ -86,8 +87,7 @@ namespace internal
template <> struct make_unsigned<long> { using type = unsigned long; };
template <> struct make_unsigned<long long> { using type = unsigned long long; };
}
#endif
/** @endcond */
//==============================================================================
/**

View file

@ -32,7 +32,8 @@
==============================================================================
*/
#if ! defined (DOXYGEN) && (JUCE_MAC || JUCE_IOS)
#if JUCE_MAC || JUCE_IOS
/** @cond */
// Annoyingly we can only forward-declare a typedef by forward-declaring the
// aliased type
#if __has_attribute(objc_bridge)
@ -44,6 +45,7 @@
typedef const struct JUCE_CF_BRIDGED_TYPE(NSString) __CFString * CFStringRef;
#undef JUCE_CF_BRIDGED_TYPE
/** @endcond */
#endif
namespace juce
@ -1051,11 +1053,11 @@ public:
*/
String (double doubleValue, int numberOfDecimalPlaces, bool useScientificNotation = false);
#ifndef DOXYGEN
/** @cond */
// Automatically creating a String from a bool opens up lots of nasty type conversion edge cases.
// If you want a String representation of a bool you can cast the bool to an int first.
explicit String (bool) = delete;
#endif
/** @endcond */
/** Reads the value of the string as a decimal number (up to 32 bits in size).
@ -1360,12 +1362,14 @@ public:
int getReferenceCount() const noexcept;
//==============================================================================
#if JUCE_ALLOW_STATIC_NULL_VARIABLES && ! defined (DOXYGEN)
#if JUCE_ALLOW_STATIC_NULL_VARIABLES
/** @cond */
[[deprecated ("This was a static empty string object, but is now deprecated as it's too easy to accidentally "
"use it indirectly during a static constructor, leading to hard-to-find order-of-initialisation "
"problems. If you need an empty String object, just use String() or {}. For returning an empty "
"String from a function by reference, use a function-local static String object and return that.")]]
static const String empty;
/** @endcond */
#endif
private:
@ -1470,11 +1474,11 @@ 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);
#ifndef DOXYGEN
/** @cond */
// Automatically creating a String from a bool opens up lots of nasty type conversion edge cases.
// If you want a String representation of a bool you can cast the bool to an int first.
String& JUCE_CALLTYPE operator<< (String&, bool) = delete;
#endif
/** @endcond */
//==============================================================================
/** Case-sensitive comparison of two strings. */
@ -1530,7 +1534,7 @@ JUCE_API OutputStream& JUCE_CALLTYPE operator<< (OutputStream& stream, StringRef
} // namespace juce
#ifndef DOXYGEN
/** @cond */
namespace std
{
template <> struct hash<juce::String>
@ -1538,4 +1542,4 @@ namespace std
size_t operator() (const juce::String& s) const noexcept { return s.hash(); }
};
}
#endif
/** @endcond */

View file

@ -141,10 +141,12 @@ public:
/** The text that is referenced. */
String::CharPointerType text;
#if JUCE_STRING_UTF_TYPE != 8 && ! defined (DOXYGEN)
#if JUCE_STRING_UTF_TYPE != 8
/** @cond */
// Sorry, non-UTF8 people, you're unable to take advantage of StringRef, because
// you've chosen a character encoding that doesn't match C++ string literals.
String stringCopy;
/** @endcond */
#endif
};

View file

@ -608,9 +608,9 @@ private:
std::atomic<Priority> priority;
#endif
#ifndef DOXYGEN
/** @cond */
friend void JUCE_API juce_threadEntryPoint (void*);
#endif
/** @endcond */
bool startThreadInternal (Priority);
bool createNativeThread (Priority);

View file

@ -147,9 +147,9 @@ public:
bool contains (const TimeSliceClient*) const;
//==============================================================================
#ifndef DOXYGEN
/** @cond */
void run() override;
#endif
/** @endcond */
//==============================================================================
private:

View file

@ -874,7 +874,7 @@ public:
return AttributeIterator { attributes.get() };
}
#ifndef DOXYGEN
/** @cond */
[[deprecated]] void macroBasedForLoop() const noexcept {}
[[deprecated ("This has been deprecated in favour of the toString method.")]]
@ -897,7 +897,7 @@ public:
StringRef dtdToUse,
StringRef encodingType = "UTF-8",
int lineWrapLength = 60) const;
#endif
/** @endcond */
private:
//==============================================================================
@ -926,7 +926,7 @@ private:
};
//==============================================================================
#ifndef DOXYGEN
/** @cond */
/** DEPRECATED: A handy macro to make it easy to iterate all the child elements in an XmlElement.
@ -979,6 +979,6 @@ private:
#define forEachXmlChildElementWithTagName(parentXmlElement, childElementVariableName, requiredTagName) \
for (auto* (childElementVariableName) : ((parentXmlElement).macroBasedForLoop(), (parentXmlElement).getChildWithTagNameIterator ((requiredTagName))))
#endif
/** @endcond */
} // namespace juce

View file

@ -617,10 +617,12 @@ public:
*/
int getReferenceCount() const noexcept;
#if JUCE_ALLOW_STATIC_NULL_VARIABLES && ! defined (DOXYGEN)
#if JUCE_ALLOW_STATIC_NULL_VARIABLES
/** @cond */
/* An invalid ValueTree that can be used if you need to return one as an error condition, etc. */
[[deprecated ("If you need an empty ValueTree object, just use ValueTree() or {}.")]]
static const ValueTree invalid;
/** @endcond */
#endif
private:

View file

@ -335,11 +335,11 @@ private:
};
//==============================================================================
#ifndef DOXYGEN
/** @cond */
using ValueWithDefault [[deprecated ("This class has been renamed to better describe what is does. "
"This declaration is here for backwards compatibility and new "
"code should use the new class name.")]]
= ValueTreePropertyWithDefault;
#endif
/** @endcond */
} // namespace juce

View file

@ -35,7 +35,7 @@
namespace juce::dsp
{
#ifndef DOXYGEN
/** @cond */
namespace SampleTypeHelpers // Internal classes needed for handling sample type classes
{
template <typename T, bool = std::is_floating_point_v<T>>
@ -56,7 +56,7 @@ namespace SampleTypeHelpers // Internal classes needed for handling sample type
using Type = typename T::value_type;
};
}
#endif
/** @endcond */
//==============================================================================
/**

View file

@ -35,11 +35,11 @@
namespace juce::dsp
{
#ifndef DOXYGEN
// This class is needed internally.
template <typename Scalar>
struct CmplxSIMDOps;
#endif
/** @cond */
// This class is needed internally.
template <typename Scalar>
struct CmplxSIMDOps;
/** @endcond */
//==============================================================================
/**

View file

@ -54,7 +54,7 @@ private:
size_t idx;
};
#ifndef DOXYGEN
/** @cond */
//==============================================================================
/* This class is used internally by SIMDRegister to abstract away differences
in operations which are different for complex and pure floating point types. */
@ -167,7 +167,7 @@ struct CmplxSIMDOps<std::complex<Scalar>>
return SIMDNativeOps<Scalar>::add (a, SIMDNativeOps<Scalar>::cmplxmul (b, c));
}
};
#endif
/** @endcond */
//==============================================================================
namespace util

View file

@ -118,11 +118,11 @@ public:
int getSize() const noexcept { return size; }
//==============================================================================
#ifndef DOXYGEN
/* internal */
/** @internal */
/** @cond */
struct Instance;
template <typename> struct EngineImpl;
#endif
/** @endcond */
private:
//==============================================================================

View file

@ -217,19 +217,19 @@ namespace util
/** Use this function to prevent denormals on intel CPUs.
This function will work with both primitives and simple containers.
*/
#if JUCE_DSP_ENABLE_SNAP_TO_ZERO
#if JUCE_DSP_ENABLE_SNAP_TO_ZERO
inline void snapToZero (float& x) noexcept { JUCE_SNAP_TO_ZERO (x); }
#ifndef DOXYGEN
/** @cond */
inline void snapToZero (double& x) noexcept { JUCE_SNAP_TO_ZERO (x); }
inline void snapToZero (long double& x) noexcept { JUCE_SNAP_TO_ZERO (x); }
#endif
#else
/** @endcond */
#else
inline void snapToZero ([[maybe_unused]] float& x) noexcept {}
#ifndef DOXYGEN
/** @cond */
inline void snapToZero ([[maybe_unused]] double& x) noexcept {}
inline void snapToZero ([[maybe_unused]] long double& x) noexcept {}
/** @endcond */
#endif
#endif
}
}

View file

@ -32,11 +32,10 @@
==============================================================================
*/
/** @cond */
namespace juce::dsp
{
#ifndef DOXYGEN
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wignored-attributes")
#ifdef _MSC_VER
@ -660,8 +659,7 @@ struct SIMDNativeOps<uint64_t>
static forcedinline __m256i JUCE_VECTOR_CALLTYPE truncate (__m256i a) noexcept { return a; }
};
#endif
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
} // namespace juce::dsp
/** @endcond */

View file

@ -32,11 +32,10 @@
==============================================================================
*/
/** @cond */
namespace juce::dsp
{
#ifndef DOXYGEN
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wignored-attributes")
#ifdef _MSC_VER
@ -53,7 +52,7 @@ JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wignored-attributes")
#define DEFINE_NEON_SIMD_CONST(type, class_type, name) \
const type SIMDNativeOps<class_type>:: name [16 / sizeof (type)] __attribute__ ((aligned (16)))
#endif
#endif // _MSC_VER
template <typename type>
struct SIMDNativeOps;
@ -541,8 +540,8 @@ struct SIMDNativeOps<double>
static forcedinline vSIMDType truncate (vSIMDType a) noexcept { return fb::truncate (a); }
};
#endif // JUCE_64BIT
#endif // #ifndef DOXYGEN
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
} // namespace juce::dsp
/** @endcond */

View file

@ -32,11 +32,10 @@
==============================================================================
*/
/** @cond */
namespace juce::dsp
{
#ifndef DOXYGEN
JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wignored-attributes")
#ifdef _MSC_VER
@ -53,7 +52,7 @@ JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wignored-attributes")
#define DEFINE_SSE_SIMD_CONST(type, class_type, name) \
const type SIMDNativeOps<class_type>:: name [16 / sizeof (type)] __attribute__ ((aligned (16)))
#endif
#endif // _MSC_VER
template <typename type>
struct SIMDNativeOps;
@ -730,8 +729,7 @@ struct SIMDNativeOps<uint64_t>
}
};
#endif
JUCE_END_IGNORE_WARNINGS_GCC_LIKE
} // namespace juce::dsp
/** @endcond */

View file

@ -32,11 +32,10 @@
==============================================================================
*/
/** @cond */
namespace juce::dsp::IIR
{
#ifndef DOXYGEN
template <typename NumericType>
template <size_t Num>
Coefficients<NumericType>& Coefficients<NumericType>::assignImpl (const NumericType* values)
@ -244,6 +243,5 @@ void Filter<SampleType>::check()
reset();
}
#endif
} // namespace juce::dsp::IIR
/** @endcond */

Some files were not shown because too many files have changed in this diff Show more