9 #ifndef _fei_FieldMask_hpp_
10 #define _fei_FieldMask_hpp_
12 #include "fei_macros.hpp"
40 const int* fieldSizes);
49 static int calculateMaskID(
int numFields,
53 static int calculateMaskID(
const FieldMask& fm,
63 for(
size_t i=0; i<fieldIDs_.size(); ++i)
64 if (fieldIDs_[i] == fieldID)
return true;
85 const std::vector<int>&
getFieldIDs()
const {
return(fieldIDs_); }
101 {
return( maskID_ == fm.maskID_ ); }
105 {
return( maskID_ != fm.maskID_ ); }
113 for(
unsigned i=0; i<fieldIDs_.size(); ++i) {
114 if (!fm.
hasFieldID(fieldIDs_[i]))
return(
false);
122 int calculateMaskID();
126 std::vector<int> fieldIDs_;
127 std::vector<int> fieldSizes_;
128 std::vector<int> fieldEqnOffsets_;
136 #endif // _fei_FieldMask_hpp_
bool operator==(const FieldMask &fm) const
int getNumIndices() const
bool operator!=(const FieldMask &fm) const
void setNumIndices(int numInd)
const std::vector< int > & getFieldSizes() const
size_t getNumFields() const
std::vector< int > & getFieldSizes()
std::vector< int > & getFieldIDs()
bool hasFieldID(int fieldID) const
bool isSubSetOf(const FieldMask &fm) const
void addField(int fieldID, int fieldSize)
const std::vector< int > & getFieldIDs() const
int getFieldEqnOffset(int fieldID, int &offset) const