/// <summary> /// Reads a BSON regular expression from the reader. /// </summary> /// <returns>A BsonRegularExpression.</returns> public override BsonRegularExpression ReadRegularExpression() { if (Disposed) { ThrowObjectDisposedException(); } VerifyBsonType("ReadRegularExpression", BsonType.RegularExpression); State = GetNextState(); var pattern = _bsonStream.ReadCString(_settings.Encoding); var options = _bsonStream.ReadCString(_settings.Encoding); return new BsonRegularExpression(pattern, options); }
// public methods /// <summary> /// Reads the name. /// </summary> /// <param name="stream">The stream.</param> /// <param name="encoding">The encoding.</param> /// <returns> /// The name. /// </returns> public string Decode(BsonStream stream, UTF8Encoding encoding) { BsonTrieNode <TValue> node; if (_trie.TryGetNode(stream, out node)) { if (node.HasValue) { _found = true; _value = node.Value; return(node.ElementName); } } return(stream.ReadCString(encoding)); }
// public methods /// <summary> /// Reads the name. /// </summary> /// <param name="stream">The stream.</param> /// <param name="encoding">The encoding.</param> /// <returns> /// The name. /// </returns> public string Decode(BsonStream stream, UTF8Encoding encoding) { BsonTrieNode <TValue> node; var oldPosition = stream.Position; if (_trie.TryGetNode(stream, out node)) { if (node.HasValue) { _found = true; _value = node.Value; return(node.ElementName); } stream.Position = oldPosition; } _found = false; _value = default; return(stream.ReadCString(encoding)); }
static int _m_ReadCString(RealStatePtr L) { try { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); MongoDB.Bson.IO.BsonStream gen_to_be_invoked = (MongoDB.Bson.IO.BsonStream)translator.FastGetCSObj(L, 1); { System.Text.UTF8Encoding _encoding = (System.Text.UTF8Encoding)translator.GetObject(L, 2, typeof(System.Text.UTF8Encoding)); string gen_ret = gen_to_be_invoked.ReadCString(_encoding); LuaAPI.lua_pushstring(L, gen_ret); return(1); } } catch (System.Exception gen_e) { return(LuaAPI.luaL_error(L, "c# exception:" + gen_e)); } }