Files
swift-mirror/lib/TBDGen/tapi/APIVersion.h
Adrian Prantl ff63eaea6f Remove \brief commands from doxygen comments.
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
2018-12-04 15:45:04 -08:00

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