summaryrefslogtreecommitdiff
path: root/src/mongo/base/status-inl.h
diff options
context:
space:
mode:
authorAndrew Morrow <acm@10gen.com>2013-05-17 11:18:55 -0400
committerAndrew Morrow <acm@10gen.com>2013-05-22 19:52:25 -0400
commitb7c80ec25658288217947e3d4aaf1e27826bb578 (patch)
treef2b3d1898f486bfe429931f6b92ed27abd83f686 /src/mongo/base/status-inl.h
parent214697c86ed2b1cad2a485f7ff810199bd69d674 (diff)
downloadmongo-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.h36
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