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.
58 lines
1.7 KiB
C++
58 lines
1.7 KiB
C++
#ifndef STEPAGGRGENERIC_H
|
|
#define STEPAGGRGENERIC_H
|
|
|
|
#include "clstepcore/STEPaggregate.h"
|
|
#include <sc_export.h>
|
|
|
|
/** \file STEPaggrGeneric.h
|
|
* classes GenericAggregate, GenericAggrNode
|
|
*/
|
|
|
|
/**
|
|
* This class supports LIST OF:
|
|
* SELECT_TYPE, BINARY_TYPE, GENERIC_TYPE, ENUM_TYPE, UNKNOWN_TYPE type
|
|
* FIXME this class, as well as SelectAggregate, for SELECTs?!
|
|
*/
|
|
class SC_CORE_EXPORT GenericAggregate : public STEPaggregate {
|
|
public:
|
|
virtual SingleLinkNode * NewNode();
|
|
virtual STEPaggregate & ShallowCopy( const STEPaggregate & );
|
|
|
|
GenericAggregate();
|
|
virtual ~GenericAggregate();
|
|
};
|
|
typedef GenericAggregate * GenericAggregateH;
|
|
typedef GenericAggregate * GenericAggregate_ptr;
|
|
typedef const GenericAggregate * GenericAggregate_ptr_c;
|
|
typedef GenericAggregate_ptr GenericAggregate_var;
|
|
|
|
/**
|
|
* This class is for the Nodes of GenericAggregates
|
|
*/
|
|
class SC_CORE_EXPORT GenericAggrNode : public STEPnode {
|
|
public:
|
|
SCLundefined value;
|
|
// 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
|
|
GenericAggrNode( const char * str );
|
|
GenericAggrNode( GenericAggrNode & gan );
|
|
GenericAggrNode();
|
|
~GenericAggrNode();
|
|
|
|
virtual SingleLinkNode * NewNode();
|
|
};
|
|
|
|
|
|
#endif //STEPAGGRGENERIC_H
|