// NewMultiColInfo creates a MultiColInfo record, populating it with the
// supplied ColInfo records. It will return a pointer to the new record and a
// nil error if no errors are found or a nil pointer and an error if there
// are any problems. All the columns must have a unique, non-empty name and a
// known type.
NewMultiColInfo creates a MultiColInfo record, populating it with the
supplied ColInfo records. It will return a pointer to the new record and a
nil error if no errors are found or a nil pointer and an error if there
are any problems. All the columns must have a unique, non-empty name and a
known type.
// NewMultiColInfo creates a MultiColInfo record populating it with the // supplied ColInfo records . It will return a pointer to the new record and a // nil error if no errors are found or a nil pointer and an error if there // are any problems . All the columns must have a unique non - empty name and a // known type .
func NewMultiColInfo(cis ...ColInfo) (*MultiColInfo, error) {
	mci := &MultiColInfo{
		nameToCol: make(map[string]int),
	}
	for i, ci := range cis {
		err := mci.Add(ci)
		if err != nil {
			return nil, dfErrorf("Column %d (%q): %s", i, ci.name, err)
		}
	}
	return mci, nil
}
func NewMultiColInfo ( cis ... ColInfo ) ( * MultiColInfo , error ) { mci := & MultiColInfo { nameToCol : make ( map [ string ] int ) , } for i , ci := range cis { err := mci . Add ( ci ) if err != nil { return nil , dfErrorf ( " " , i , ci . name , err ) } } return mci , nil }
NewMultiColInfo creates a MultiColInfo record, populating it with the
supplied ColInfo records.
NewMultiColInfo creates a MultiColInfo record populating it with the supplied ColInfo records .