mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
We've been running doxygen with the autobrief option for a couple of
years now. This makes the \brief markers into our comments
redundant. Since they are a visual distraction and we don't want to
encourage more \brief markers in new code either, this patch removes
them all.
Patch produced by
for i in $(git grep -l '\\brief'); do perl -pi -e 's/\\brief //g' $i & done
131 lines
2.9 KiB
C++
131 lines
2.9 KiB
C++
//===-- tapi/APIVersion.h - TAPI API Version Interface ----------*- C++ -*-===*\
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
///
|
|
/// \file
|
|
/// Access the TAPI API version information and feature availability.
|
|
/// \since 1.0
|
|
///
|
|
//===----------------------------------------------------------------------===//
|
|
#ifndef TAPI_API_VERSION_H
|
|
#define TAPI_API_VERSION_H
|
|
|
|
#include "Defines.h"
|
|
|
|
///
|
|
/// \defgroup TAPI_API_VERSION API Version and Feature methods
|
|
/// \ingroup TAPI_CPP_API
|
|
///
|
|
/// @{
|
|
///
|
|
|
|
#define TAPI_API_VERSION_MAJOR 1U
|
|
#define TAPI_API_VERSION_MINOR 4U
|
|
#define TAPI_API_VERSION_PATCH 0U
|
|
|
|
namespace tapi {
|
|
|
|
///
|
|
/// Defines a list of TAPI library features.
|
|
/// \since 1.0
|
|
///
|
|
enum class Feature : unsigned {};
|
|
|
|
///
|
|
/// Access to API version, feature and ABI related information about the
|
|
/// TAPI dynamic library.
|
|
/// \since 1.0
|
|
///
|
|
class TAPI_PUBLIC APIVersion {
|
|
public:
|
|
///
|
|
/// \name API Version Number Methods
|
|
/// @{
|
|
///
|
|
|
|
///
|
|
/// Get the major API version number.
|
|
/// \return The major API version number as unsigned integer.
|
|
/// \since 1.0
|
|
///
|
|
static unsigned getMajor() noexcept;
|
|
|
|
///
|
|
/// Get the minor API version number.
|
|
/// \return The minor API version number as unsigned integer.
|
|
/// \since 1.0
|
|
///
|
|
static unsigned getMinor() noexcept;
|
|
|
|
///
|
|
/// Get the patch API version number.
|
|
/// \return The patch API version as unsigned integer.
|
|
/// \since 1.0
|
|
///
|
|
static unsigned getPatch() noexcept;
|
|
|
|
///
|
|
/// Check if the current API version is at least the specified API
|
|
/// version or greater.
|
|
/// \param[in] major The major API version number to compare against.
|
|
/// \param[in] minor The minor API version number to compare against.
|
|
/// \param[in] patch The patch API version number to compare against.
|
|
/// \return True if the current API version number is at least the specified
|
|
/// version or greater.
|
|
/// \since 1.0
|
|
///
|
|
static bool isAtLeast(unsigned major, unsigned minor = 0,
|
|
unsigned patch = 0) noexcept;
|
|
|
|
///
|
|
/// @}
|
|
///
|
|
|
|
///
|
|
/// \name Feature Methods
|
|
/// @{
|
|
///
|
|
|
|
///
|
|
/// Check if the library supports a particular #Feature.
|
|
/// \param[in] feature The #Feature to be queried for.
|
|
/// \return True if \a feature is supported.
|
|
/// \since 1.0
|
|
///
|
|
static bool hasFeature(Feature feature) noexcept;
|
|
|
|
///
|
|
/// @}
|
|
///
|
|
|
|
///
|
|
/// \name ABI Methods
|
|
/// @{
|
|
///
|
|
|
|
///
|
|
/// Check if the library supports the specified ABI version.
|
|
/// \param[in] abiVersion The ABI version to query for.
|
|
/// \return True if the library supports the ABI version \a abiVersion.
|
|
/// \since 1.0
|
|
///
|
|
static bool hasABI(unsigned abiVersion) noexcept;
|
|
|
|
///
|
|
/// @}
|
|
///
|
|
};
|
|
|
|
} // end tapi namespace.
|
|
|
|
///
|
|
/// @}
|
|
///
|
|
|
|
#endif // TAPI_API_VERSION_H
|