18 #ifndef viskores_cont_internal_FieldCollection_h
19 #define viskores_cont_internal_FieldCollection_h
31 class VISKORES_CONT_EXPORT FieldCollection
35 FieldCollection(std::initializer_list<viskores::cont::Field::Association> validAssoc)
37 auto it = this->ValidAssoc.begin();
38 for (
const auto& item : validAssoc)
39 it = this->ValidAssoc.insert(it, item);
43 FieldCollection(std::set<viskores::cont::Field::Association>&& validAssoc)
44 : ValidAssoc(std::move(validAssoc))
49 void Clear() { this->Fields.clear(); }
67 const std::string& name,
70 return (this->GetFieldIndex(name, assoc) != -1);
75 const std::string& name,
80 const std::string& name,
85 const std::string& name,
91 using Key = std::pair<std::string, viskores::cont::Field::Association>;
94 bool operator()(
const T& a,
const T& b)
const
96 if (a.first == b.first)
100 return a.first < b.first;
104 std::map<FieldCompare::Key, viskores::cont::Field, FieldCompare> Fields;
105 std::set<viskores::cont::Field::Association> ValidAssoc;
112 #endif //viskores_cont_internal_FieldCollection_h