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.
61 lines
1.4 KiB
C++
61 lines
1.4 KiB
C++
#ifndef STEPSTRING_H
|
|
#define STEPSTRING_H 1
|
|
|
|
/*
|
|
* NIST STEP Core Class Library
|
|
* clstepcore/sdaiString.h
|
|
* April 1997
|
|
* KC Morris
|
|
|
|
* Development of this software was funded by the United States Government,
|
|
* and is not subject to copyright.
|
|
*/
|
|
|
|
#include <sc_export.h>
|
|
#include <string>
|
|
#include <limits>
|
|
|
|
|
|
class SC_DAI_EXPORT SDAI_String {
|
|
private:
|
|
#ifdef _MSC_VER
|
|
#pragma warning( push )
|
|
#pragma warning( disable: 4251 )
|
|
#endif
|
|
std::string content;
|
|
#ifdef _MSC_VER
|
|
#pragma warning( pop )
|
|
#endif
|
|
|
|
public:
|
|
|
|
//constructor(s) & destructor
|
|
SDAI_String( const char * str = "", size_t max = std::string::npos );
|
|
SDAI_String( const std::string & s );
|
|
SDAI_String( const SDAI_String & s );
|
|
~SDAI_String( void );
|
|
|
|
// operators
|
|
SDAI_String & operator= ( const char * s );
|
|
SDAI_String & operator= ( const SDAI_String & s );
|
|
bool operator== ( const char * s ) const;
|
|
|
|
void clear( void );
|
|
bool empty( void ) const;
|
|
const char * c_str( void ) const;
|
|
// format for STEP
|
|
const char * asStr( std::string & s ) const {
|
|
s = c_str();
|
|
return s.c_str();
|
|
}
|
|
void STEPwrite( ostream & out = cout ) const;
|
|
void STEPwrite( std::string & s ) const;
|
|
|
|
Severity StrToVal( const char * s );
|
|
Severity STEPread( istream & in, ErrorDescriptor * err );
|
|
Severity STEPread( const char * s, ErrorDescriptor * err );
|
|
|
|
};
|
|
|
|
#endif
|