9 #ifndef _fei_FieldMask_hpp_
10 #define _fei_FieldMask_hpp_
12 #include "fei_macros.hpp"
40 const int* fieldSizes);
63 for(
size_t i=0; i<fieldIDs_.size(); ++i)
64 if (fieldIDs_[i] == fieldID)
return true;
69 size_t getNumFields()
const {
return(fieldIDs_.size()); }
82 std::vector<int>&
getFieldIDs() {
return(fieldIDs_); }
85 const std::vector<int>&
getFieldIDs()
const {
return(fieldIDs_); }
91 const std::vector<int>&
getFieldSizes()
const {
return(fieldSizes_); }
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);
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)
size_t getNumFields() const
static int calculateMaskID(int numFields, const int *fieldIDs)
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)
int getFieldEqnOffset(int fieldID, int &offset) const