type Interface … type ConstraintsConvertable … type ConstraintConvertable … type OptionConvertable … type Constraints … // And builds Constraints that will be true if all of its constraints are true. func And(cs ...ConstraintConvertable) Constraints { … } // ToConstraints returns cs. func (cs Constraints) ToConstraints() Constraints { … } // Validate validates the constraints set. func (cs Constraints) Validate() error { … } // Evaluate the boolean formula represented by cs under the given assignment of // tag values. This is the AND of the values of the constituent Constraints. func (cs Constraints) Evaluate(v map[string]bool) bool { … } // GoString represents Constraints as +build comment lines. func (cs Constraints) GoString() string { … } type Constraint … // Any builds a Constraint that will be true if any of its options are true. func Any(opts ...OptionConvertable) Constraint { … } // ParseConstraint parses a space-separated list of options. func ParseConstraint(expr string) (Constraint, error) { … } // ToConstraints returns the list of constraints containing just c. func (c Constraint) ToConstraints() Constraints { … } // ToConstraint returns c. func (c Constraint) ToConstraint() Constraint { … } // Validate validates the constraint. func (c Constraint) Validate() error { … } // Evaluate the boolean formula represented by c under the given assignment of // tag values. This is the OR of the values of the constituent Options. func (c Constraint) Evaluate(v map[string]bool) bool { … } // GoString represents the Constraint as one +build comment line. func (c Constraint) GoString() string { … } type Option … // Opt builds an Option from the list of Terms. func Opt(terms ...Term) Option { … } // ParseOption parses a comma-separated list of terms. func ParseOption(expr string) (Option, error) { … } // ToConstraints returns Constraints containing just this option. func (o Option) ToConstraints() Constraints { … } // ToConstraint returns a Constraint containing just this option. func (o Option) ToConstraint() Constraint { … } // ToOption returns o. func (o Option) ToOption() Option { … } // Validate validates o. func (o Option) Validate() error { … } // Evaluate the boolean formula represented by o under the given assignment of // tag values. This is the AND of the values of the constituent Terms. func (o Option) Evaluate(v map[string]bool) bool { … } // GoString represents the Option as a comma-separated list of terms. func (o Option) GoString() string { … } type Term … // Not returns a term for the negation of ident. func Not(ident string) Term { … } // ToConstraints returns Constraints containing just this term. func (t Term) ToConstraints() Constraints { … } // ToConstraint returns a Constraint containing just this term. func (t Term) ToConstraint() Constraint { … } // ToOption returns an Option containing just this term. func (t Term) ToOption() Option { … } // IsNegated reports whether t is the negation of an identifier. func (t Term) IsNegated() bool { … } // Name returns the identifier for this term. func (t Term) Name() string { … } // Validate the term. func (t Term) Validate() error { … } // Evaluate the term under the given set of identifier values. func (t Term) Evaluate(v map[string]bool) bool { … } // GoString returns t. func (t Term) GoString() string { … } // SetTags builds a set where the given list of identifiers are true. func SetTags(idents ...string) map[string]bool { … }