Files
Clifford Yapp 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

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