Skip to content

STRUCT

Headers ​

Contents

  • Properties
    • umbrellaHeader
    • public
    • private
    • project
    • exclusionRule
  • Methods
    • headers(public:private:project:exclusionRule:)
    • allHeaders(from:umbrella:private:)
    • onlyHeaders(from:umbrella:private:)
swift
public struct Headers: Codable, Equatable, Sendable

A group of public, private and project headers.

Properties ​

umbrellaHeader ​

swift
public var umbrellaHeader: Path?

Path to an umbrella header, which will be used to get list of public headers.

public ​

swift
public var `public`: FileList?

Relative glob pattern that points to the public headers.

private ​

swift
public var `private`: FileList?

Relative glob pattern that points to the private headers.

project ​

swift
public var project: FileList?

Relative glob pattern that points to the project headers.

exclusionRule ​

swift
public var exclusionRule: AutomaticExclusionRule

Rule, which determines how to resolve found duplicates in public/private/project scopes

Methods ​

headers(public:private:project:exclusionRule:) ​

swift
public static func headers(
    public: FileList? = nil,
    private: FileList? = nil,
    project: FileList? = nil,
    exclusionRule: AutomaticExclusionRule = .projectExcludesPrivateAndPublic
) -> Headers

allHeaders(from:umbrella:private:) ​

swift
public static func allHeaders(
    from list: FileList,
    umbrella: Path,
    private privateHeaders: FileList? = nil
) -> Headers

Headers from the file list are included as:

  • public, if the header is present in the umbrella header
  • private, if the header is present in the private list
  • project, otherwise
  • Parameters:
    • from: File list, which contains public and project headers
    • umbrella: File path to the umbrella header
    • private: File list, which contains private headers

Parameters ​

NameDescription
fromFile list, which contains public and project headers
umbrellaFile path to the umbrella header
privateFile list, which contains private headers

onlyHeaders(from:umbrella:private:) ​

swift
public static func onlyHeaders(
    from list: FileList,
    umbrella: Path,
    private privateHeaders: FileList? = nil
) -> Headers

Headers from the file list are included as:

  • public, if the header is present in the umbrella header
  • private, if the header is present in the private list
  • not included, otherwise
  • Parameters:
    • from: File list, which contains public and project headers
    • umbrella: File path to the umbrella header
    • private: File list, which contains private headers

Parameters ​

NameDescription
fromFile list, which contains public and project headers
umbrellaFile path to the umbrella header
privateFile list, which contains private headers

Released under the MIT License.