#ifndef HEPHISTONAMETAG_H #define HEPHISTONAMETAG_H // ---------------------------------------------------------------------- // // NameTag.h - class declaration for the nameTag of a column. // // This simple structure is used to parse a column name for a nHisto // that can be of the form "block_name::column_name" or "column_name" // or "[block_name::]column_name(1 , ...)" if withIndices is true // The block name is an alpha numerical string whithout any white space. // The column name is as defined by Histo. // isValid is false if the name tag parsed was not correctly formed. #include "HepTuple/TupleNameTag.h" ZM_BEGIN_NAMESPACE( zmht ) /* namespace zmht { */ class HistoNameTag : public TupleNameTag { public: HistoNameTag(); // empty constructor to be called by sub-class /* HistoNameTag(const std::string& tag,bool withIndices = false); */ protected: virtual bool isValidBlockName(const std::string& name) const; virtual bool isValidColumnName(const std::string& name) const; // return true if it is a syntaxically correct block/column name // return falase otherwise; // The implementation in this class just verify that there is no // white space and that the length is no more than eight characters // (not including possible parathesis at the end for columns) }; ZM_END_NAMESPACE( zmht ) /* } // namespace zmht */ #endif // HEPHISTONAMETAG_H