Files
starseeker d824fc0c4e Keep longer directory names
We want to be consistent with the previous layout, to avoid needlessly
breaking existing codes.  The header update means client codes are not
required to include all of the stepcode library includes explicitly -
i.e., stepcode itself does not force this requirement with its own
internal includes.  However, if client codes do not want to add the
library prefixes to their own includes as we have for stepcode, they
should still be able to add the various includes and work as before.
Adjust the include directory names accordingly.
2022-10-02 17:57:57 -04:00

85 lines
2.2 KiB
C++

#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