// StreamType.h #ifndef hes_StreamType_H #define hes_StreamType_H // David Adams // March 2002 // // A stream type is a named collection of placement category types. #include #include #include "hesbase/Name.h" #include "hesfile/PlacementCategoryType.h" namespace hes { class StreamType { public: // typedefs // List of PC types. typedef std::vector PCList; private: // data // Name. Name m_name; // PC types. PCList m_pctypes; public: // Default constructor. StreamType(); // Constructor. StreamType(Name name, const PCList& pctypes); // Is this a valid stream type? // Must have valid name, one or more PC types and // all types must be valid. bool is_valid() const; // Return the name. Name name() const; // Return the number of PC types. int size() const; // Return the i'th (0