diff options
author | Andrew Morrow <acm@10gen.com> | 2013-05-17 11:18:55 -0400 |
---|---|---|
committer | Andrew Morrow <acm@10gen.com> | 2013-05-22 19:52:25 -0400 |
commit | b7c80ec25658288217947e3d4aaf1e27826bb578 (patch) | |
tree | f2b3d1898f486bfe429931f6b92ed27abd83f686 /src/mongo/base/status-inl.h | |
parent | 214697c86ed2b1cad2a485f7ff810199bd69d674 (diff) | |
download | mongo-b7c80ec25658288217947e3d4aaf1e27826bb578.tar.gz |
SERVER-9757 Move Status inlines to inline header
Diffstat (limited to 'src/mongo/base/status-inl.h')
-rw-r--r-- | src/mongo/base/status-inl.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/mongo/base/status-inl.h b/src/mongo/base/status-inl.h index 3d50308c176..22679707b6c 100644 --- a/src/mongo/base/status-inl.h +++ b/src/mongo/base/status-inl.h @@ -17,6 +17,10 @@ namespace mongo { + inline Status Status::OK() { + return Status(); + } + inline Status::Status(const Status& other) : _error(other._error) { ref(_error); @@ -33,6 +37,30 @@ namespace mongo { unref(_error); } + inline bool Status::isOK() const { + return code() == ErrorCodes::OK; + } + + inline ErrorCodes::Error Status::code() const { + return _error ? _error->code : ErrorCodes::OK; + } + + inline const char* Status::codeString() const { + return ErrorCodes::errorString(code()); + } + + inline std::string Status::reason() const { + return _error ? _error->reason : std::string(); + } + + inline int Status::location() const { + return _error ? _error->location : 0; + } + + inline AtomicUInt32::WordType Status::refCount() const { + return _error ? _error->refs.load() : 0; + } + inline Status::Status() : _error(NULL) { } @@ -47,4 +75,12 @@ namespace mongo { delete error; } + inline bool operator==(const ErrorCodes::Error lhs, const Status& rhs) { + return rhs == lhs; + } + + inline bool operator!=(const ErrorCodes::Error lhs, const Status& rhs) { + return rhs != lhs; + } + } // namespace mongo |