class DarwinSDKInfo::RelatedTargetVersionMapping

Declaration

class DarwinSDKInfo::RelatedTargetVersionMapping { /* full declaration omitted */ };

Description

Represents a version mapping that maps from a version of one target to a version of a related target. e.g. "macOS_iOSMac":{"10.15":"13.1"} is an example of a macOS -> Mac Catalyst version map.

Declared at: clang/include/clang/Basic/DarwinSDKInfo.h:85

Member Variables

private llvm::VersionTuple MinimumKeyVersion
private llvm::VersionTuple MaximumKeyVersion
private llvm::VersionTuple MinimumValue
private llvm::VersionTuple MaximumValue
private llvm::DenseMap<VersionTuple, VersionTuple> Mapping

Method Overview

  • public RelatedTargetVersionMapping(llvm::VersionTuple MinimumKeyVersion, llvm::VersionTuple MaximumKeyVersion, llvm::VersionTuple MinimumValue, llvm::VersionTuple MaximumValue, llvm::DenseMap<VersionTuple, VersionTuple> Mapping)
  • public const llvm::VersionTuple & getMinimumValue() const
  • public Optional<llvm::VersionTuple> map(const llvm::VersionTuple & Key, const llvm::VersionTuple & MinimumValue, Optional<llvm::VersionTuple> MaximumValue) const
  • public static Optional<clang::DarwinSDKInfo::RelatedTargetVersionMapping> parseJSON(const llvm::json::Object & Obj, llvm::VersionTuple MaximumDeploymentTarget)

Methods

RelatedTargetVersionMapping(
    llvm::VersionTuple MinimumKeyVersion,
    llvm::VersionTuple MaximumKeyVersion,
    llvm::VersionTuple MinimumValue,
    llvm::VersionTuple MaximumValue,
    llvm::DenseMap<VersionTuple, VersionTuple>
        Mapping)

Declared at: clang/include/clang/Basic/DarwinSDKInfo.h:87

Parameters

llvm::VersionTuple MinimumKeyVersion
llvm::VersionTuple MaximumKeyVersion
llvm::VersionTuple MinimumValue
llvm::VersionTuple MaximumValue
llvm::DenseMap<VersionTuple, VersionTuple> Mapping

const llvm::VersionTuple& getMinimumValue() const

Description

Returns the value with the lowest version in the mapping.

Declared at: clang/include/clang/Basic/DarwinSDKInfo.h:98

Optional<llvm::VersionTuple> map(
    const llvm::VersionTuple& Key,
    const llvm::VersionTuple& MinimumValue,
    Optional<llvm::VersionTuple> MaximumValue)
    const

Description

Returns the mapped key, or the appropriate Minimum / MaximumValue if they key is outside of the mapping bounds. If they key isn't mapped, but within the minimum and maximum bounds, None is returned.

Declared at: clang/include/clang/Basic/DarwinSDKInfo.h:103

Parameters

const llvm::VersionTuple& Key
const llvm::VersionTuple& MinimumValue
Optional<llvm::VersionTuple> MaximumValue

static Optional<clang::DarwinSDKInfo::
                    RelatedTargetVersionMapping>
parseJSON(
    const llvm::json::Object& Obj,
    llvm::VersionTuple MaximumDeploymentTarget)

Declared at: clang/include/clang/Basic/DarwinSDKInfo.h:108

Parameters

const llvm::json::Object& Obj
llvm::VersionTuple MaximumDeploymentTarget