// Copyright 2020 Siemens Digital Industries Software // ================================================== // Copyright 2013. // Siemens Product Lifecycle Management Software Inc. // All Rights Reserved. // ================================================== // Copyright 2020 Siemens Digital Industries Software /** @file Defines the class status_t, which can be used to describe the return status of a function or method. */ /* */ #ifndef TEAMCENTER_BASE_UTILS_STATUS_T_HXX #define TEAMCENTER_BASE_UTILS_STATUS_T_HXX #include /** @brief Instances of status_t can be used to describe the return status of a function or method.
The returned value can later be leveraged through the class #ResultStatus. */ class BASE_UTILS_API status_t { public: /** The status_t instance that refers to an OK status */ static const status_t OK; /** The status_t instance that refers to an error status */ static const status_t NOT_OK; /** Constructor */ status_t(); /** Copy constructor */ status_t( const status_t& other ); /** Destructor */ ~status_t(); /** Operator = */ status_t& operator = (const status_t& other); /** Operator == */ bool operator == (const status_t &other) const; /** Operator != */ bool operator != (const status_t &other) const; private: enum value_type { UNSET_VALUE, NOT_OK_VALUE, OK_VALUE }; explicit status_t ( value_type v ); void setValue ( value_type theValue ); void checkMe(); static void validate( value_type theValue); value_type value; char *traceback; }; #include #endif