func And(predicates ...predicate.NilExample) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s1 := s.Clone().SetP(nil)
		for _, p := range predicates {
			p(s1)
		}
		s.Where(s1.P())
	})
}
And groups predicates with the AND operator between them.
package nilexample
import (
	"time"
	"entgo.io/contrib/entproto/internal/todo/ent/predicate"
	"entgo.io/ent/dialect/sql"
)
func ID(id int) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.EQ(s.C(FieldID), id))
	})
}
func IDEQ(id int) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.EQ(s.C(FieldID), id))
	})
}
func IDNEQ(id int) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.NEQ(s.C(FieldID), id))
	})
}
func IDIn(ids ...int) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		if len(ids) == 0 {
			s.Where(sql.False())
			return
		}
		v := make([]interface{}, len(ids))
		for i := range v {
			v[i] = ids[i]
		}
		s.Where(sql.In(s.C(FieldID), v...))
	})
}
func IDNotIn(ids ...int) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		if len(ids) == 0 {
			s.Where(sql.False())
			return
		}
		v := make([]interface{}, len(ids))
		for i := range v {
			v[i] = ids[i]
		}
		s.Where(sql.NotIn(s.C(FieldID), v...))
	})
}
func IDGT(id int) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.GT(s.C(FieldID), id))
	})
}
func IDGTE(id int) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.GTE(s.C(FieldID), id))
	})
}
func IDLT(id int) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.LT(s.C(FieldID), id))
	})
}
func IDLTE(id int) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.LTE(s.C(FieldID), id))
	})
}
func StrNil(v string) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.EQ(s.C(FieldStrNil), v))
	})
}
func TimeNil(v time.Time) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.EQ(s.C(FieldTimeNil), v))
	})
}
func StrNilEQ(v string) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.EQ(s.C(FieldStrNil), v))
	})
}
func StrNilNEQ(v string) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.NEQ(s.C(FieldStrNil), v))
	})
}
func StrNilIn(vs ...string) predicate.NilExample {
	v := make([]interface{}, len(vs))
	for i := range v {
		v[i] = vs[i]
	}
	return predicate.NilExample(func(s *sql.Selector) {
		if len(v) == 0 {
			s.Where(sql.False())
			return
		}
		s.Where(sql.In(s.C(FieldStrNil), v...))
	})
}
func StrNilNotIn(vs ...string) predicate.NilExample {
	v := make([]interface{}, len(vs))
	for i := range v {
		v[i] = vs[i]
	}
	return predicate.NilExample(func(s *sql.Selector) {
		if len(v) == 0 {
			s.Where(sql.False())
			return
		}
		s.Where(sql.NotIn(s.C(FieldStrNil), v...))
	})
}
func StrNilGT(v string) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.GT(s.C(FieldStrNil), v))
	})
}
func StrNilGTE(v string) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.GTE(s.C(FieldStrNil), v))
	})
}
func StrNilLT(v string) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.LT(s.C(FieldStrNil), v))
	})
}
func StrNilLTE(v string) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.LTE(s.C(FieldStrNil), v))
	})
}
func StrNilContains(v string) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.Contains(s.C(FieldStrNil), v))
	})
}
func StrNilHasPrefix(v string) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.HasPrefix(s.C(FieldStrNil), v))
	})
}
func StrNilHasSuffix(v string) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.HasSuffix(s.C(FieldStrNil), v))
	})
}
func StrNilIsNil() predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.IsNull(s.C(FieldStrNil)))
	})
}
func StrNilNotNil() predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.NotNull(s.C(FieldStrNil)))
	})
}
func StrNilEqualFold(v string) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.EqualFold(s.C(FieldStrNil), v))
	})
}
func StrNilContainsFold(v string) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.ContainsFold(s.C(FieldStrNil), v))
	})
}
func TimeNilEQ(v time.Time) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.EQ(s.C(FieldTimeNil), v))
	})
}
func TimeNilNEQ(v time.Time) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.NEQ(s.C(FieldTimeNil), v))
	})
}
func TimeNilIn(vs ...time.Time) predicate.NilExample {
	v := make([]interface{}, len(vs))
	for i := range v {
		v[i] = vs[i]
	}
	return predicate.NilExample(func(s *sql.Selector) {
		if len(v) == 0 {
			s.Where(sql.False())
			return
		}
		s.Where(sql.In(s.C(FieldTimeNil), v...))
	})
}
func TimeNilNotIn(vs ...time.Time) predicate.NilExample {
	v := make([]interface{}, len(vs))
	for i := range v {
		v[i] = vs[i]
	}
	return predicate.NilExample(func(s *sql.Selector) {
		if len(v) == 0 {
			s.Where(sql.False())
			return
		}
		s.Where(sql.NotIn(s.C(FieldTimeNil), v...))
	})
}
func TimeNilGT(v time.Time) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.GT(s.C(FieldTimeNil), v))
	})
}
func TimeNilGTE(v time.Time) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.GTE(s.C(FieldTimeNil), v))
	})
}
func TimeNilLT(v time.Time) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.LT(s.C(FieldTimeNil), v))
	})
}
func TimeNilLTE(v time.Time) predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.LTE(s.C(FieldTimeNil), v))
	})
}
func TimeNilIsNil() predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.IsNull(s.C(FieldTimeNil)))
	})
}
func TimeNilNotNil() predicate.NilExample {
	return predicate.NilExample(func(s *sql.Selector) {
		s.Where(sql.NotNull(s.C(FieldTimeNil)))
	})
}