#ifndef STEPAGGRENUM_H #define STEPAGGRENUM_H #include "clstepcore/STEPaggregate.h" #include "sc_export.h" /** \file StepaggrEnum.h * classes EnumAggregate, LOGICALS, BOOLEANS, EnumNode */ /** * \class EnumAggregate * This is a minimal representation for a collection of SDAI_Enum */ class SC_CORE_EXPORT EnumAggregate : public STEPaggregate { public: virtual SingleLinkNode * NewNode(); virtual STEPaggregate & ShallowCopy( const STEPaggregate & ); EnumAggregate(); virtual ~EnumAggregate(); }; typedef EnumAggregate * EnumAggregateH; typedef EnumAggregate * EnumAggregate_ptr; typedef const EnumAggregate * EnumAggregate_ptr_c; typedef EnumAggregate_ptr EnumAggregate_var; class SC_CORE_EXPORT LOGICALS : public EnumAggregate { public: virtual SingleLinkNode * NewNode(); LOGICALS(); virtual ~LOGICALS(); }; typedef LOGICALS * LogicalsH; typedef LOGICALS * LOGICALS_ptr; typedef const LOGICALS * LOGICALS_ptr_c; typedef LOGICALS_ptr LOGICALS_var; SC_CORE_EXPORT LOGICALS * create_LOGICALS(); class SC_CORE_EXPORT BOOLEANS : public EnumAggregate { public: virtual SingleLinkNode * NewNode(); BOOLEANS(); virtual ~BOOLEANS(); }; typedef BOOLEANS * BOOLEANS_ptr; typedef const BOOLEANS * BOOLEANS_ptr_c; typedef BOOLEANS_ptr BOOLEANS_var; SC_CORE_EXPORT BOOLEANS * create_BOOLEANS(); /** * * \class EnumNode ** This is a minimal representation for node in lists of SDAI_Enum */ class SC_CORE_EXPORT EnumNode : public STEPnode { public: SDAI_Enum * node; // INPUT virtual Severity StrToVal( const char * s, ErrorDescriptor * err ); virtual Severity StrToVal( istream & in, ErrorDescriptor * err ); virtual Severity STEPread( const char * s, ErrorDescriptor * err ); virtual Severity STEPread( istream & in, ErrorDescriptor * err ); // OUTPUT virtual const char * asStr( std::string & s ); virtual const char * STEPwrite( std::string & s, const char * = 0 ); virtual void STEPwrite( ostream & out = cout ); // CONSTRUCTORS EnumNode( SDAI_Enum * e ); EnumNode(); ~EnumNode(); virtual SingleLinkNode * NewNode(); }; #endif //STEPAGGRENUM_H