// Code generated by fg.py; DO NOT EDIT.

package altsrc

import (
	"flag"

	"github.com/urfave/cli/v2"
)

// BoolFlag is the flag type that wraps cli.BoolFlag to allow
// for other values to be specified
type BoolFlag struct {
	*cli.BoolFlag
	set *flag.FlagSet
}
var _ FlagInputSourceExtension = (*BoolFlag)(nil)

// NewBoolFlag creates a new BoolFlag
func NewBoolFlag(fl *cli.BoolFlag) *BoolFlag {
	return &BoolFlag{BoolFlag: fl, set: nil}
}

// Apply saves the flagSet for later usage calls, then calls
// the wrapped BoolFlag.Apply
func (f *BoolFlag) Apply(set *flag.FlagSet) error {
	f.set = set
	return f.BoolFlag.Apply(set)
}

// DurationFlag is the flag type that wraps cli.DurationFlag to allow
// for other values to be specified
type DurationFlag struct {
	*cli.DurationFlag
	set *flag.FlagSet
}
var _ FlagInputSourceExtension = (*DurationFlag)(nil)

// NewDurationFlag creates a new DurationFlag
func NewDurationFlag(fl *cli.DurationFlag) *DurationFlag {
	return &DurationFlag{DurationFlag: fl, set: nil}
}

// Apply saves the flagSet for later usage calls, then calls
// the wrapped DurationFlag.Apply
func (f *DurationFlag) Apply(set *flag.FlagSet) error {
	f.set = set
	return f.DurationFlag.Apply(set)
}

// Float64Flag is the flag type that wraps cli.Float64Flag to allow
// for other values to be specified
type Float64Flag struct {
	*cli.Float64Flag
	set *flag.FlagSet
}
var _ FlagInputSourceExtension = (*Float64Flag)(nil)

// NewFloat64Flag creates a new Float64Flag
func NewFloat64Flag(fl *cli.Float64Flag) *Float64Flag {
	return &Float64Flag{Float64Flag: fl, set: nil}
}

// Apply saves the flagSet for later usage calls, then calls
// the wrapped Float64Flag.Apply
func (f *Float64Flag) Apply(set *flag.FlagSet) error {
	f.set = set
	return f.Float64Flag.Apply(set)
}

// GenericFlag is the flag type that wraps cli.GenericFlag to allow
// for other values to be specified
type GenericFlag struct {
	*cli.GenericFlag
	set *flag.FlagSet
}
var _ FlagInputSourceExtension = (*GenericFlag)(nil)

// NewGenericFlag creates a new GenericFlag
func NewGenericFlag(fl *cli.GenericFlag) *GenericFlag {
	return &GenericFlag{GenericFlag: fl, set: nil}
}

// Apply saves the flagSet for later usage calls, then calls
// the wrapped GenericFlag.Apply
func (f *GenericFlag) Apply(set *flag.FlagSet) error {
	f.set = set
	return f.GenericFlag.Apply(set)
}

// IntFlag is the flag type that wraps cli.IntFlag to allow
// for other values to be specified
type IntFlag struct {
	*cli.IntFlag
	set *flag.FlagSet
}
var _ FlagInputSourceExtension = (*IntFlag)(nil)

// NewIntFlag creates a new IntFlag
func NewIntFlag(fl *cli.IntFlag) *IntFlag {
	return &IntFlag{IntFlag: fl, set: nil}
}

// Apply saves the flagSet for later usage calls, then calls
// the wrapped IntFlag.Apply
func (f *IntFlag) Apply(set *flag.FlagSet) error {
	f.set = set
	return f.IntFlag.Apply(set)
}

// IntSliceFlag is the flag type that wraps cli.IntSliceFlag to allow
// for other values to be specified
type IntSliceFlag struct {
	*cli.IntSliceFlag
	set *flag.FlagSet
}
var _ FlagInputSourceExtension = (*IntSliceFlag)(nil)

// NewIntSliceFlag creates a new IntSliceFlag
func NewIntSliceFlag(fl *cli.IntSliceFlag) *IntSliceFlag {
	return &IntSliceFlag{IntSliceFlag: fl, set: nil}
}

// Apply saves the flagSet for later usage calls, then calls
// the wrapped IntSliceFlag.Apply
func (f *IntSliceFlag) Apply(set *flag.FlagSet) error {
	f.set = set
	return f.IntSliceFlag.Apply(set)
}

// PathFlag is the flag type that wraps cli.PathFlag to allow
// for other values to be specified
type PathFlag struct {
	*cli.PathFlag
	set *flag.FlagSet
}
var _ FlagInputSourceExtension = (*PathFlag)(nil)

// NewPathFlag creates a new PathFlag
func NewPathFlag(fl *cli.PathFlag) *PathFlag {
	return &PathFlag{PathFlag: fl, set: nil}
}

// Apply saves the flagSet for later usage calls, then calls
// the wrapped PathFlag.Apply
func (f *PathFlag) Apply(set *flag.FlagSet) error {
	f.set = set
	return f.PathFlag.Apply(set)
}

// StringFlag is the flag type that wraps cli.StringFlag to allow
// for other values to be specified
type StringFlag struct {
	*cli.StringFlag
	set *flag.FlagSet
}
var _ FlagInputSourceExtension = (*StringFlag)(nil)

// NewStringFlag creates a new StringFlag
func NewStringFlag(fl *cli.StringFlag) *StringFlag {
	return &StringFlag{StringFlag: fl, set: nil}
}

// Apply saves the flagSet for later usage calls, then calls
// the wrapped StringFlag.Apply
func (f *StringFlag) Apply(set *flag.FlagSet) error {
	f.set = set
	return f.StringFlag.Apply(set)
}

// StringSliceFlag is the flag type that wraps cli.StringSliceFlag to allow
// for other values to be specified
type StringSliceFlag struct {
	*cli.StringSliceFlag
	set *flag.FlagSet
}
var _ FlagInputSourceExtension = (*StringSliceFlag)(nil)

// NewStringSliceFlag creates a new StringSliceFlag
func NewStringSliceFlag(fl *cli.StringSliceFlag) *StringSliceFlag {
	return &StringSliceFlag{StringSliceFlag: fl, set: nil}
}

// Apply saves the flagSet for later usage calls, then calls
// the wrapped StringSliceFlag.Apply
func (f *StringSliceFlag) Apply(set *flag.FlagSet) error {
	f.set = set
	return f.StringSliceFlag.Apply(set)
}
