summaryrefslogtreecommitdiff
path: root/src/mongo/scripting/mozjs/implscope.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/scripting/mozjs/implscope.h')
-rw-r--r--src/mongo/scripting/mozjs/implscope.h82
1 files changed, 57 insertions, 25 deletions
diff --git a/src/mongo/scripting/mozjs/implscope.h b/src/mongo/scripting/mozjs/implscope.h
index a01365fa2d1..5b464d1461f 100644
--- a/src/mongo/scripting/mozjs/implscope.h
+++ b/src/mongo/scripting/mozjs/implscope.h
@@ -147,103 +147,135 @@ public:
BSONObj callThreadArgs(const BSONObj& obj);
- WrapType<BinDataInfo>& getBinDataProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, BinDataInfo>::value, WrapType<T>&>::type getProto() {
return _binDataProto;
}
- WrapType<BSONInfo>& getBsonProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, BSONInfo>::value, WrapType<T>&>::type getProto() {
return _bsonProto;
}
- WrapType<CountDownLatchInfo>& getCountDownLatchProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, CountDownLatchInfo>::value, WrapType<T>&>::type
+ getProto() {
return _countDownLatchProto;
}
- WrapType<CursorInfo>& getCursorProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, CursorInfo>::value, WrapType<T>&>::type getProto() {
return _cursorProto;
}
- WrapType<CursorHandleInfo>& getCursorHandleProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, CursorHandleInfo>::value, WrapType<T>&>::type
+ getProto() {
return _cursorHandleProto;
}
- WrapType<DBCollectionInfo>& getDbCollectionProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, DBCollectionInfo>::value, WrapType<T>&>::type
+ getProto() {
return _dbCollectionProto;
}
- WrapType<DBPointerInfo>& getDbPointerProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, DBPointerInfo>::value, WrapType<T>&>::type getProto() {
return _dbPointerProto;
}
- WrapType<DBQueryInfo>& getDbQueryProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, DBQueryInfo>::value, WrapType<T>&>::type getProto() {
return _dbQueryProto;
}
- WrapType<DBInfo>& getDbProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, DBInfo>::value, WrapType<T>&>::type getProto() {
return _dbProto;
}
- WrapType<DBRefInfo>& getDbRefProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, DBRefInfo>::value, WrapType<T>&>::type getProto() {
return _dbRefProto;
}
- WrapType<ErrorInfo>& getErrorProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, ErrorInfo>::value, WrapType<T>&>::type getProto() {
return _errorProto;
}
- WrapType<JSThreadInfo>& getJSThreadProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, JSThreadInfo>::value, WrapType<T>&>::type getProto() {
return _jsThreadProto;
}
- WrapType<MaxKeyInfo>& getMaxKeyProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, MaxKeyInfo>::value, WrapType<T>&>::type getProto() {
return _maxKeyProto;
}
- WrapType<MinKeyInfo>& getMinKeyProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, MinKeyInfo>::value, WrapType<T>&>::type getProto() {
return _minKeyProto;
}
- WrapType<MongoExternalInfo>& getMongoExternalProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, MongoExternalInfo>::value, WrapType<T>&>::type
+ getProto() {
return _mongoExternalProto;
}
- WrapType<MongoHelpersInfo>& getMongoHelpersProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, MongoHelpersInfo>::value, WrapType<T>&>::type
+ getProto() {
return _mongoHelpersProto;
}
- WrapType<MongoLocalInfo>& getMongoLocalProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, MongoLocalInfo>::value, WrapType<T>&>::type getProto() {
return _mongoLocalProto;
}
- WrapType<NativeFunctionInfo>& getNativeFunctionProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, NativeFunctionInfo>::value, WrapType<T>&>::type
+ getProto() {
return _nativeFunctionProto;
}
- WrapType<NumberIntInfo>& getNumberIntProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, NumberIntInfo>::value, WrapType<T>&>::type getProto() {
return _numberIntProto;
}
- WrapType<NumberLongInfo>& getNumberLongProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, NumberLongInfo>::value, WrapType<T>&>::type getProto() {
return _numberLongProto;
}
- WrapType<NumberDecimalInfo>& getNumberDecimalProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, NumberDecimalInfo>::value, WrapType<T>&>::type
+ getProto() {
return _numberDecimalProto;
}
- WrapType<ObjectInfo>& getObjectProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, ObjectInfo>::value, WrapType<T>&>::type getProto() {
return _objectProto;
}
- WrapType<OIDInfo>& getOidProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, OIDInfo>::value, WrapType<T>&>::type getProto() {
return _oidProto;
}
- WrapType<RegExpInfo>& getRegExpProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, RegExpInfo>::value, WrapType<T>&>::type getProto() {
return _regExpProto;
}
- WrapType<TimestampInfo>& getTimestampProto() {
+ template <typename T>
+ typename std::enable_if<std::is_same<T, TimestampInfo>::value, WrapType<T>&>::type getProto() {
return _timestampProto;
}