From 908a81e342dda55d647b85a09dbecdb3fc20332a Mon Sep 17 00:00:00 2001 From: adecler Date: Thu, 11 Jul 2019 15:13:32 +0800 Subject: [PATCH] switch to Mongo v2.4.4 --- XML_Adapter/XML_Adapter.csproj | 4 +- XML_Adapter/packages.config | 2 +- XML_Engine/XML_Engine.csproj | 4 +- XML_Engine/packages.config | 2 +- packages/MongoDB.Bson.2.4.4/License.rtf | Bin 0 -> 1064 bytes .../MongoDB.Bson.2.4.4.nupkg | Bin 0 -> 481196 bytes .../lib/net45}/MongoDB.Bson.xml | 23902 ++++++++-------- .../lib/netstandard1.5}/MongoDB.Bson.xml | 4250 ++- packages/MongoDB.Bson.2.8.1/.signature.p7s | Bin 9475 -> 0 bytes packages/MongoDB.Bson.2.8.1/License.txt | 14 - .../MongoDB.Bson.2.8.1.nupkg | Bin 504775 -> 0 bytes 11 files changed, 13776 insertions(+), 14402 deletions(-) create mode 100644 packages/MongoDB.Bson.2.4.4/License.rtf create mode 100644 packages/MongoDB.Bson.2.4.4/MongoDB.Bson.2.4.4.nupkg rename packages/{MongoDB.Bson.2.8.1/lib/netstandard1.5 => MongoDB.Bson.2.4.4/lib/net45}/MongoDB.Bson.xml (98%) rename packages/{MongoDB.Bson.2.8.1/lib/net452 => MongoDB.Bson.2.4.4/lib/netstandard1.5}/MongoDB.Bson.xml (98%) delete mode 100644 packages/MongoDB.Bson.2.8.1/.signature.p7s delete mode 100644 packages/MongoDB.Bson.2.8.1/License.txt delete mode 100644 packages/MongoDB.Bson.2.8.1/MongoDB.Bson.2.8.1.nupkg diff --git a/XML_Adapter/XML_Adapter.csproj b/XML_Adapter/XML_Adapter.csproj index 05b54706..53ad4092 100644 --- a/XML_Adapter/XML_Adapter.csproj +++ b/XML_Adapter/XML_Adapter.csproj @@ -65,8 +65,8 @@ ..\..\BHoM\Build\Geometry_oM.dll - - ..\packages\MongoDB.Bson.2.8.1\lib\net452\MongoDB.Bson.dll + + ..\packages\MongoDB.Bson.2.4.4\lib\net45\MongoDB.Bson.dll ..\..\BHoM\Build\Physical_oM.dll diff --git a/XML_Adapter/packages.config b/XML_Adapter/packages.config index dde0f03c..d2c9ae0d 100644 --- a/XML_Adapter/packages.config +++ b/XML_Adapter/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/XML_Engine/XML_Engine.csproj b/XML_Engine/XML_Engine.csproj index d5900fe8..7a50e25b 100644 --- a/XML_Engine/XML_Engine.csproj +++ b/XML_Engine/XML_Engine.csproj @@ -53,8 +53,8 @@ ..\..\BHoM\Build\Geometry_oM.dll - - ..\packages\MongoDB.Bson.2.8.1\lib\net452\MongoDB.Bson.dll + + ..\packages\MongoDB.Bson.2.4.4\lib\net45\MongoDB.Bson.dll ..\..\BHoM\Build\Physical_oM.dll diff --git a/XML_Engine/packages.config b/XML_Engine/packages.config index dde0f03c..d2c9ae0d 100644 --- a/XML_Engine/packages.config +++ b/XML_Engine/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/packages/MongoDB.Bson.2.4.4/License.rtf b/packages/MongoDB.Bson.2.4.4/License.rtf new file mode 100644 index 0000000000000000000000000000000000000000..5f1d0461a83a425c3e7b50fdade21a331c388c7a GIT binary patch literal 1064 zcma)5U2obj6y0;B{)a1`wu*vDX{U`R3QUd4LIreHCBK;XCRlUq)OMO8#DCun(2Z#? z%Y)?`pZj^v-EtSQ9v8-|{gIY=FS?Gn#4Kan*h;0gC`D*~XkqdmySjS6XV_R>#Z zO4Eh$tgsTD;aTZkdOS>9RapO2M)rA?_Tc=Cm%>S2E13pO*L|0sQjBc5 zaVlR2h**zZ($R-g0AG=Pn*pb#4{HbCW(0w@oe(g^sLVi`agXo%8Em=vK_VZBds4AFt-V*tAf zg0OteeW|rE$`82^d20(REo3#s||>f29Sys zjYW$ZNDrbBjD%pD0o6_gW%4$7n}u391X4k8YE^~5m^ls&XvC)g;zk%~4HpnET5vmD z#EUjO#ml?d;}V{R^Z77Y#*+oi<}jKi<9Hd*60*L*FnNaiI2pGAi5H?D-%8iiP6eul zGn5@zV8iNfJwQf}jqOWJRi;wv$mEsC5pw%V8%B*liLRg>BGq^*O@da13L@<7KSF!g hz+rg*>e&n06Yh2N`G(G-(t(z<+0Q6CxX_k;_yvH{ag6`~ literal 0 HcmV?d00001 diff --git a/packages/MongoDB.Bson.2.4.4/MongoDB.Bson.2.4.4.nupkg b/packages/MongoDB.Bson.2.4.4/MongoDB.Bson.2.4.4.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..705206fdf88d6c494f959222283cf3bda0d9d5ca GIT binary patch literal 481196 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%0A6wucYi*0Wj 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%0AEm%|uktgEJ7hxobGHQ+YR+U)X0%n_2P`e1*;g`` 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 svf%&!+noRX^#7Ay`_JipMongoDB.Bson - -

- A static class containing BSON constants. - - - - - Gets the number of milliseconds since the Unix epoch for DateTime.MaxValue. - - - - - Gets the number of milliseconds since the Unix epoch for DateTime.MinValue. - - - - - Gets the Unix Epoch for BSON DateTimes (1970-01-01). - - - - - A static helper class containing BSON defaults. - - - - - Gets or sets the dynamic array serializer. - - - - - Gets or sets the dynamic document serializer. - - - - - Gets or sets the default representation to be used in serialization of - Guids to the database. - - - - - - Gets or sets the default max document size. The default is 4MiB. - - - - - Gets or sets the default max serialization depth (used to detect circular references during serialization). The default is 100. - - A static class containing BSON extension methods. @@ -141,4061 +89,3917 @@ nominalType serializer - + - A static class containing BSON utility methods. + Indicates that an attribute restricted to one member has been applied to multiple members. - + - Gets a friendly class name suitable for use in error messages. + Initializes a new instance of the class. - The type. - A friendly class name. + The message. - + - Parses a hex string into its equivalent byte array. + Initializes a new instance of the class. - The hex string to parse. - The byte equivalent of the hex string. + The message. + The inner. - + - Converts from number of milliseconds since Unix epoch to DateTime. + Initializes a new instance of the class. - The number of milliseconds since Unix epoch. - A DateTime. + The info. + The context. - + - Converts a value to a hex character. + Represents a fast converter from integer indexes to UTF8 BSON array element names. - The value (assumed to be between 0 and 15). - The hex character. - + - Converts a byte array to a hex string. + Gets the element name bytes. - The byte array. - A hex string. + The index. + The element name bytes. - + - Converts a DateTime to local time (with special handling for MinValue and MaxValue). + Represents a fast converter from integer indexes to UTF8 BSON array element names. - A DateTime. - The DateTime in local time. - + - Converts a DateTime to number of milliseconds since Unix epoch. + Gets or sets the default array element name accelerator. - A DateTime. - Number of seconds since Unix epoch. - + - Converts a DateTime to UTC (with special handling for MinValue and MaxValue). + Initializes a new instance of the class. - A DateTime. - The DateTime in UTC. + The number of cached element names. - + - Tries to parse a hex string to a byte array. + Gets the element name bytes. - The hex string. - A byte array. - True if the hex string was successfully parsed. + The index. + + The element name bytes. + - + - Represents a BSON exception. + Represents a pool of chunks. - + - Initializes a new instance of the BsonException class. + Gets or sets the default chunk pool. + + The default chunk pool. + - + - Initializes a new instance of the BsonException class. + Initializes a new instance of the class. - The error message. + The maximum number of chunks to keep in the pool. + The size of each chunk. - + - Initializes a new instance of the BsonException class. + Gets the chunk size. - The error message. - The inner exception. + + The chunk size. + - + - Initializes a new instance of the BsonException class. + Gets the maximum size of the pool. - The error message format string. - One or more args for the error message. + + The maximum size of the pool. + - + - Represents a BSON internal exception (almost surely the result of a bug). + Gets the size of the pool. + + The size of the pool. + - + + + + + + + - Initializes a new instance of the BsonInternalException class. + Represents settings for a BsonDocumentReader. - + - Initializes a new instance of the BsonInternalException class. + Initializes a new instance of the BsonDocumentReaderSettings class. - The error message. - + - Initializes a new instance of the BsonInternalException class. + Initializes a new instance of the BsonDocumentReaderSettings class. - The error message. - The inner exception. + The representation for Guids. - + - Represents a BSON serialization exception. + Gets or sets the default settings for a BsonDocumentReader. - + - Initializes a new instance of the BsonSerializationException class. + Creates a clone of the settings. + A clone of the settings. - + - Initializes a new instance of the BsonSerializationException class. + Creates a clone of the settings. - The error message. + A clone of the settings. - + - Initializes a new instance of the BsonSerializationException class. + Represents settings for a BsonDocumentWriter. - The error message. - The inner exception. - + - Indicates that an attribute restricted to one member has been applied to multiple members. + Initializes a new instance of the BsonDocumentWriterSettings class. - + - Initializes a new instance of the class. + Initializes a new instance of the BsonDocumentWriterSettings class. - The message. + The representation for Guids. - + - Initializes a new instance of the class. + Gets or sets the default BsonDocumentWriter settings. - The message. - The inner. - + - Represents a truncation exception. + Creates a clone of the settings. + A clone of the settings. - + - Initializes a new instance of the TruncationException class. + Creates a clone of the settings. + A clone of the settings. - + - Initializes a new instance of the TruncationException class. + Represents settings for a BsonReader. - The error message. - + - Initializes a new instance of the TruncationException class. + Initializes a new instance of the BsonReaderSettings class. - The error message. - The inner exception. - + - Represents a fast converter from integer indexes to UTF8 BSON array element names. + Initializes a new instance of the BsonReaderSettings class. + The representation for Guids. - + - Gets the element name bytes. + Gets or sets the representation for Guids. - The index. - The element name bytes. - + - Represents a fast converter from integer indexes to UTF8 BSON array element names. + Gets whether the settings are frozen. - + - Gets or sets the default array element name accelerator. + Creates a clone of the settings. + A clone of the settings. - + - Initializes a new instance of the class. + Freezes the settings. - The number of cached element names. + The frozen settings. - + - Gets the element name bytes. + Returns a frozen copy of the settings. - The index. - - The element name bytes. - + A frozen copy of the settings. - + - Represents a BSON reader for a binary BSON byte array. + Creates a clone of the settings. + A clone of the settings. - + - Initializes a new instance of the BsonBinaryReader class. + Throws an InvalidOperationException when an attempt is made to change a setting after the settings are frozen. - A stream (BsonBinary does not own the stream and will not Dispose it). - + - Initializes a new instance of the BsonBinaryReader class. + Represents a Stream has additional methods to suport reading and writing BSON values. - A stream (BsonBinary does not own the stream and will not Dispose it). - A BsonBinaryReaderSettings. - + - Gets the base stream. + Reads a BSON CString from the stream. - - The base stream. - + The encoding. + A string. - + - Gets the BSON stream. + Reads a BSON CString from the stream. - - The BSON stream. - + An ArraySegment containing the CString bytes (without the null byte). - + - Closes the reader. + Reads a BSON Decimal128 from the stream. + A . - + - Gets a bookmark to the reader's current position and state. + Reads a BSON double from the stream. - A bookmark. + A double. - + - Determines whether this reader is at end of file. + Reads a 32-bit BSON integer from the stream. - - Whether this reader is at end of file. - + An int. - + - Reads BSON binary data from the reader. + Reads a 64-bit BSON integer from the stream. - A BsonBinaryData. + A long. - + - Reads a BSON boolean from the reader. + Reads a BSON ObjectId from the stream. - A Boolean. + An ObjectId. - + - Reads a BsonType from the reader. + Reads a raw length prefixed slice from the stream. - A BsonType. + A slice. - + - Reads BSON binary data from the reader. + Reads a BSON string from the stream. - A byte array. + The encoding. + A string. - + - Reads a BSON DateTime from the reader. + Skips over a BSON CString leaving the stream positioned just after the terminating null byte. - The number of milliseconds since the Unix epoch. - - - - + - Reads a BSON Double from the reader. + Writes a BSON CString to the stream. - A Double. + The value. - + - Reads the end of a BSON array from the reader. + Writes the CString bytes to the stream. + The value. - + - Reads the end of a BSON document from the reader. + Writes a BSON Decimal128 to the stream. + The value. - + - Reads a BSON Int32 from the reader. + Writes a BSON double to the stream. - An Int32. + The value. - + - Reads a BSON Int64 from the reader. + Writes a 32-bit BSON integer to the stream. - An Int64. + The value. - + - Reads a BSON JavaScript from the reader. + Writes a 64-bit BSON integer to the stream. - A string. + The value. - + - Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + Writes a BSON ObjectId to the stream. - A string. + The value. - + - Reads a BSON MaxKey from the reader. + Writes a BSON string to the stream. + The value. + The encoding. - + - Reads a BSON MinKey from the reader. + A Stream that wraps another Stream while implementing the BsonStream abstract methods. - + - Reads the name of an element from the reader. + Initializes a new instance of the class. - The name decoder. - The name of the element. + The stream. + if set to true [owns stream]. + stream - + - Reads a BSON null from the reader. + Gets the base stream. + + The base stream. + - - - Reads a BSON ObjectId from the reader. - - An ObjectId. + + - - - Reads a raw BSON array. - - - The raw BSON array. - + + - - - Reads a raw BSON document. - - - The raw BSON document. - + + - - - Reads a BSON regular expression from the reader. - - A BsonRegularExpression. + + - - - Reads the start of a BSON array. - + + - - - Reads the start of a BSON document. - + + - - - Reads a BSON string from the reader. - - A String. + + - - - Reads a BSON symbol from the reader. - - A string. + + - - - Reads a BSON timestamp from the reader. - - The combined timestamp/increment. + + - - - Reads a BSON undefined from the reader. - + + - - - Returns the reader to previously bookmarked position and state. - - The bookmark. + + - - - Skips the name (reader must be positioned on a name). - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Skips the value (reader must be positioned on a value). + Represents a mapping from a set of UTF8 encoded strings to a set of elementName/value pairs, implemented as a trie. + The type of the BsonTrie values. - + - Disposes of any resources used by the reader. + Initializes a new instance of the BsonTrie class. - True if called from Dispose. - + - Represents a bookmark that can be used to return a reader to the current position and state. + Gets the root node. - + - Creates a clone of the context. + Adds the specified elementName (after encoding as a UTF8 byte sequence) and value to the trie. - A clone of the context. + The element name to add. + The value to add. The value can be null for reference types. - + - Represents settings for a BsonBinaryReader. + Gets the node associated with the specified element name. + The element name. + + When this method returns, contains the node associated with the specified element name, if the key is found; + otherwise, null. This parameter is passed unitialized. + + True if the node was found; otherwise, false. - + - Initializes a new instance of the BsonBinaryReaderSettings class. + Tries to get the node associated with a name read from a stream. + The stream. + The node. + + True if the node was found. + If the node was found the stream is advanced over the name, otherwise + the stream is repositioned to the beginning of the name. + - + - Gets or sets the default settings for a BsonBinaryReader. + Gets the value associated with the specified element name. + The element name. + + When this method returns, contains the value associated with the specified element name, if the key is found; + otherwise, the default value for the type of the value parameter. This parameter is passed unitialized. + + True if the value was found; otherwise, false. - + - Gets or sets the Encoding. + Gets the value associated with the specified element name. + The element name. + + When this method returns, contains the value associated with the specified element name, if the key is found; + otherwise, the default value for the type of the value parameter. This parameter is passed unitialized. + + True if the value was found; otherwise, false. - + - Gets or sets whether to fix occurrences of the old binary subtype on input. + Represents a node in a BsonTrie. + The type of the BsonTrie values. - + - Gets or sets whether to fix occurrences of the old representation of DateTime.MaxValue on input. + Gets whether this node has a value. - + - Gets or sets the max document size. + Gets the element name for this node. - + - Creates a clone of the settings. + Gets the value for this node. - A clone of the settings. - + - Creates a clone of the settings. + Gets the child of this node for a given key byte. - A clone of the settings. + The key byte. + The child node if it exists; otherwise, null. - + - Represents a BSON writer to a BSON Stream. + Represents settings for a BsonWriter. - + - Initializes a new instance of the BsonBinaryWriter class. + Initializes a new instance of the BsonWriterSettings class. - A stream. The BsonBinaryWriter does not own the stream and will not Dispose it. - + - Initializes a new instance of the BsonBinaryWriter class. + Initializes a new instance of the BsonWriterSettings class. - A stream. The BsonBinaryWriter does not own the stream and will not Dispose it. - The BsonBinaryWriter settings. + The representation for Guids. - + - Gets the base stream. + Gets or sets the representation for Guids. - - The base stream. - - + - Gets the BSON stream. + Gets whether the settings are frozen. - - The BSON stream. - - - - - + - Gets the settings of the writer. + Gets or sets the max serialization depth allowed (used to detect circular references). - + - Closes the writer. Also closes the base stream. + Creates a clone of the settings. + A clone of the settings. - + - Flushes any pending data to the output destination. + Freezes the settings. + The frozen settings. - + - Pops the max document size stack, restoring the previous max document size. + Returns a frozen copy of the settings. + A frozen copy of the settings. - + - Pushes a new max document size onto the max document size stack. + Creates a clone of the settings. - The maximum size of the document. + A clone of the settings. - + - Writes BSON binary data to the writer. + Throws an InvalidOperationException when an attempt is made to change a setting after the settings are frozen. - The binary data. - + - Writes a BSON Boolean to the writer. + Represents a chunk backed by a byte array. - The Boolean value. - + - Writes BSON binary data to the writer. + Initializes a new instance of the class. - The bytes. + The size. - + - Writes a BSON DateTime to the writer. + Initializes a new instance of the class. - The number of milliseconds since the Unix epoch. + The bytes. + bytes - - + + - + + + + + + + - Writes a BSON Double to the writer. + Releases unmanaged and - optionally - managed resources. - The Double value. + true to release both managed and unmanaged resources; false to release only unmanaged resources. - + - Writes the end of a BSON array to the writer. + Represents a slice of a byte buffer. - + - Writes the end of a BSON document to the writer. + Initializes a new instance of the class. + The byte buffer. + The offset of the slice. + The length of the slice. - + - Writes a BSON Int32 to the writer. + Gets the buffer. - The Int32 value. + + The buffer. + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Writes a BSON Int64 to the writer. + Releases unmanaged and - optionally - managed resources. - The Int64 value. + true to release both managed and unmanaged resources; false to release only unmanaged resources. - + - Writes a BSON JavaScript to the writer. + Represents a chunk of bytes. - The JavaScript code. - + - Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + Gets the bytes. - The JavaScript code. + + The bytes. + - + - Writes a BSON MaxKey to the writer. + Returns a new reference to the same chunk that can be independently disposed. + A new reference to the same chunk. - + - Writes a BSON MinKey to the writer. + Represents a source of chunks. - + - Writes a BSON null to the writer. + Gets the chunk. + The chunk source is free to return a larger or smaller chunk than requested. + Size of the requested. + A chunk. - + - Writes a BSON ObjectId to the writer. + Represents a BSON reader. - The ObjectId. - + - Writes a raw BSON array. + Gets the current BsonType. - The byte buffer containing the raw BSON array. - + - Writes a raw BSON document. + Gets the current state of the reader. - The byte buffer containing the raw BSON document. - + - Writes a BSON regular expression to the writer. + Closes the reader. - A BsonRegularExpression. - + - Writes the start of a BSON array to the writer. + Gets a bookmark to the reader's current position and state. + A bookmark. - + - Writes the start of a BSON document to the writer. + Gets the current BsonType (calls ReadBsonType if necessary). + The current BsonType. - + - Writes a BSON String to the writer. + Determines whether this reader is at end of file. - The String value. + + Whether this reader is at end of file. + - + - Writes a BSON Symbol to the writer. + Reads BSON binary data from the reader. - The symbol. + A BsonBinaryData. - + - Writes a BSON timestamp to the writer. + Reads a BSON boolean from the reader. - The combined timestamp/increment value. + A Boolean. - + - Writes a BSON undefined to the writer. + Reads a BsonType from the reader. + A BsonType. - + - Disposes of any resources used by the writer. + Reads BSON binary data from the reader. - True if called from Dispose. + A byte array. - + - Represents settings for a BsonBinaryWriter. + Reads a BSON DateTime from the reader. + The number of milliseconds since the Unix epoch. - + - Initializes a new instance of the BsonBinaryWriterSettings class. + Reads a BSON Decimal128 from the reader. + A . - + - Gets or sets the default BsonBinaryWriter settings. + Reads a BSON Double from the reader. + A Double. - + - Gets or sets the Encoding. + Reads the end of a BSON array from the reader. - + - Gets or sets whether to fix the old binary data subtype on output. + Reads the end of a BSON document from the reader. - + - Gets or sets the max document size. + Reads a BSON Int32 from the reader. + An Int32. - + - Creates a clone of the settings. + Reads a BSON Int64 from the reader. - A clone of the settings. + An Int64. - + - Creates a clone of the settings. + Reads a BSON JavaScript from the reader. - A clone of the settings. + A string. - + - Represents a pool of chunks. + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + A string. - + - Gets or sets the default chunk pool. + Reads a BSON MaxKey from the reader. - - The default chunk pool. - - + - Initializes a new instance of the class. + Reads a BSON MinKey from the reader. - The maximum number of chunks to keep in the pool. - The size of each chunk. - + - Gets the chunk size. + Reads the name of an element from the reader (using the provided name decoder). - - The chunk size. - + The name decoder. + + The name of the element. + - + - Gets the maximum size of the pool. + Reads a BSON null from the reader. - - The maximum size of the pool. - - + - Gets the size of the pool. + Reads a BSON ObjectId from the reader. - - The size of the pool. - - - - - - - + An ObjectId. - + - Represents a BSON reader for a BsonDocument. + Reads a raw BSON array. + The raw BSON array. - + - Initializes a new instance of the BsonDocumentReader class. + Reads a raw BSON document. - A BsonDocument. + The raw BSON document. - + - Initializes a new instance of the BsonDocumentReader class. + Reads a BSON regular expression from the reader. - A BsonDocument. - The reader settings. + A BsonRegularExpression. - + - Closes the reader. + Reads the start of a BSON array. - + - Gets a bookmark to the reader's current position and state. + Reads the start of a BSON document. - A bookmark. - + - Determines whether this reader is at end of file. + Reads a BSON string from the reader. - - Whether this reader is at end of file. - + A String. - + - Reads BSON binary data from the reader. + Reads a BSON symbol from the reader. - A BsonBinaryData. + A string. - + - Reads a BSON boolean from the reader. + Reads a BSON timestamp from the reader. - A Boolean. + The combined timestamp/increment. - + - Reads a BsonType from the reader. + Reads a BSON undefined from the reader. - A BsonType. - + - Reads BSON binary data from the reader. + Returns the reader to previously bookmarked position and state. - A byte array. + The bookmark. - + - Reads a BSON DateTime from the reader. + Skips the name (reader must be positioned on a name). - The number of milliseconds since the Unix epoch. - - - - + - Reads a BSON Double from the reader. + Skips the value (reader must be positioned on a value). - A Double. - + - Reads the end of a BSON array from the reader. + Contains extensions methods for IBsonReader. - + - Reads the end of a BSON document from the reader. + Positions the reader to an element by name. + The reader. + The name of the element. + True if the element was found. - + - Reads a BSON Int32 from the reader. + Positions the reader to a string element by name. - An Int32. + The reader. + The name of the element. + True if the element was found. - + - Reads a BSON Int64 from the reader. + Reads a BSON binary data element from the reader. - An Int64. + The reader. + The name of the element. + A BsonBinaryData. - + - Reads a BSON JavaScript from the reader. + Reads a BSON boolean element from the reader. - A string. + The reader. + The name of the element. + A Boolean. - + - Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + Reads a BSON binary data element from the reader. - A string. + The reader. + The name of the element. + A byte array. - + - Reads a BSON MaxKey from the reader. + Reads a BSON DateTime element from the reader. + The reader. + The name of the element. + The number of milliseconds since the Unix epoch. - + - Reads a BSON MinKey from the reader. + Reads a BSON Decimal128 element from the reader. + The reader. + The name of the element. + A . - + - Reads the name of an element from the reader. + Reads a BSON Double element from the reader. - The name decoder. - - The name of the element. - + The reader. + The name of the element. + A Double. - + - Reads a BSON null from the reader. + Reads a BSON Int32 element from the reader. + The reader. + The name of the element. + An Int32. - + - Reads a BSON ObjectId from the reader. + Reads a BSON Int64 element from the reader. - An ObjectId. + The reader. + The name of the element. + An Int64. - + - Reads a BSON regular expression from the reader. + Reads a BSON JavaScript element from the reader. - A BsonRegularExpression. + The reader. + The name of the element. + A string. - + - Reads the start of a BSON array. + Reads a BSON JavaScript with scope element from the reader (call ReadStartDocument next to read the scope). + The reader. + The name of the element. + A string. - + - Reads the start of a BSON document. + Reads a BSON MaxKey element from the reader. + The reader. + The name of the element. - + - Reads a BSON string from the reader. + Reads a BSON MinKey element from the reader. - A String. + The reader. + The name of the element. - + - Reads a BSON symbol from the reader. + Reads the name of an element from the reader. - A string. + The reader. + The name of the element. - + - Reads a BSON timestamp from the reader. + Reads the name of an element from the reader. - The combined timestamp/increment. + The reader. + The name of the element. - + - Reads a BSON undefined from the reader. + Reads a BSON null element from the reader. + The reader. + The name of the element. - + - Returns the reader to previously bookmarked position and state. + Reads a BSON ObjectId element from the reader. - The bookmark. + The reader. + The name of the element. + An ObjectId. - + - Skips the name (reader must be positioned on a name). + Reads a raw BSON array. + The reader. + The name. + + The raw BSON array. + - + - Skips the value (reader must be positioned on a value). + Reads a raw BSON document. + The reader. + The name. + The raw BSON document. - + - Disposes of any resources used by the reader. + Reads a BSON regular expression element from the reader. - True if called from Dispose. + The reader. + The name of the element. + A BsonRegularExpression. - + - Represents a bookmark that can be used to return a reader to the current position and state. + Reads a BSON string element from the reader. + The reader. + The name of the element. + A String. - + - Creates a clone of the context. + Reads a BSON symbol element from the reader. - A clone of the context. + The reader. + The name of the element. + A string. - + - Represents settings for a BsonDocumentReader. + Reads a BSON timestamp element from the reader. + The combined timestamp/increment. + The reader. + The name of the element. - + - Initializes a new instance of the BsonDocumentReaderSettings class. + Reads a BSON undefined element from the reader. + The reader. + The name of the element. - + - Initializes a new instance of the BsonDocumentReaderSettings class. + Represents extension methods on BsonStream. - The representation for Guids. - + - Gets or sets the default settings for a BsonDocumentReader. + Backpatches the size. + The stream. + The start position. - + - Creates a clone of the settings. + Reads the binary sub type. - A clone of the settings. + The stream. + The binary sub type. - + - Creates a clone of the settings. + Reads a boolean from the stream. - A clone of the settings. + The stream. + A boolean. - + - Represents a BSON writer to a BsonDocument. + Reads the BSON type. + The stream. + The BSON type. - + - Initializes a new instance of the BsonDocumentWriter class. + Reads bytes from the stream. - The document to write to (normally starts out as an empty document). + The stream. + The buffer. + The offset. + The count. - + - Initializes a new instance of the BsonDocumentWriter class. + Reads bytes from the stream. - The document to write to (normally starts out as an empty document). - The settings. + The stream. + The count. + The bytes. - + - Gets the BsonDocument being written to. + Writes a binary sub type to the stream. + The stream. + The value. - - + + + Writes a boolean to the stream. + + The stream. + The value. - + + + Writes a BsonType to the stream. + + The stream. + The value. + + + + Writes bytes to the stream. + + The stream. + The buffer. + The offset. + The count. + + + + Writes a slice to the stream. + + The stream. + The slice. + + + + Represents a BSON writer. + + + + + Gets the current serialization depth. + + + + + Gets the settings of the writer. + + + + + Gets the current state of the writer. + + + Closes the writer. - + Flushes any pending data to the output destination. - + + + Pops the element name validator. + + The popped element validator. + + + + Pushes the element name validator. + + The validator. + + Writes BSON binary data to the writer. The binary data. - + Writes a BSON Boolean to the writer. The Boolean value. - + Writes BSON binary data to the writer. The bytes. - + Writes a BSON DateTime to the writer. The number of milliseconds since the Unix epoch. - - + + + Writes a BSON Decimal128 to the writer. + + The value. - + Writes a BSON Double to the writer. The Double value. - + Writes the end of a BSON array to the writer. - + Writes the end of a BSON document to the writer. - + Writes a BSON Int32 to the writer. The Int32 value. - + Writes a BSON Int64 to the writer. The Int64 value. - + Writes a BSON JavaScript to the writer. The JavaScript code. - + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). The JavaScript code. - + Writes a BSON MaxKey to the writer. - + Writes a BSON MinKey to the writer. - + Writes the name of an element to the writer. The name of the element. - + Writes a BSON null to the writer. - + Writes a BSON ObjectId to the writer. The ObjectId. - + + + Writes a raw BSON array. + + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The byte buffer containing the raw BSON document. + + Writes a BSON regular expression to the writer. A BsonRegularExpression. - + Writes the start of a BSON array to the writer. - + Writes the start of a BSON document to the writer. - + Writes a BSON String to the writer. The String value. - + Writes a BSON Symbol to the writer. The symbol. - + Writes a BSON timestamp to the writer. The combined timestamp/increment value. - + Writes a BSON undefined to the writer. - + - Disposes of any resources used by the writer. + Contains extension methods for IBsonWriter. - True if called from Dispose. - + - Represents settings for a BsonDocumentWriter. + Writes a BSON binary data element to the writer. + The writer. + The name of the element. + The binary data. - + - Initializes a new instance of the BsonDocumentWriterSettings class. + Writes a BSON Boolean element to the writer. + The writer. + The name of the element. + The Boolean value. - + - Initializes a new instance of the BsonDocumentWriterSettings class. + Writes a BSON binary data element to the writer. - The representation for Guids. + The writer. + The name of the element. + The bytes. - + - Gets or sets the default BsonDocumentWriter settings. + Writes a BSON DateTime element to the writer. + The writer. + The name of the element. + The number of milliseconds since the Unix epoch. - + - Creates a clone of the settings. + Writes a BSON Decimal128 element to the writer. - A clone of the settings. + The writer. + The name of the element. + The value. - + - Creates a clone of the settings. + Writes a BSON Double element to the writer. - A clone of the settings. + The writer. + The name of the element. + The Double value. - + - Represents a BSON reader for some external format (see subclasses). + Writes a BSON Int32 element to the writer. + The writer. + The name of the element. + The Int32 value. - + - Initializes a new instance of the BsonReader class. + Writes a BSON Int64 element to the writer. - The reader settings. + The writer. + The name of the element. + The Int64 value. - + - Gets the current BsonType. + Writes a BSON JavaScript element to the writer. + The writer. + The name of the element. + The JavaScript code. - + - Gets the settings of the reader. + Writes a BSON JavaScript element to the writer (call WriteStartDocument to start writing the scope). + The writer. + The name of the element. + The JavaScript code. - + - Gets the current state of the reader. + Writes a BSON MaxKey element to the writer. + The writer. + The name of the element. - + - Gets the current name. + Writes a BSON MinKey element to the writer. + The writer. + The name of the element. - + - Gets whether the BsonReader has been disposed. + Writes a BSON null element to the writer. + The writer. + The name of the element. - + - Closes the reader. + Writes a BSON ObjectId element to the writer. + The writer. + The name of the element. + The ObjectId. - + - Disposes of any resources used by the reader. + Writes a raw BSON array. + The writer. + The name. + The byte buffer containing the raw BSON array. - + - Gets a bookmark to the reader's current position and state. + Writes a raw BSON document. - A bookmark. + The writer. + The name. + The byte buffer containing the raw BSON document. - + - Gets the current BsonType (calls ReadBsonType if necessary). + Writes a BSON regular expression element to the writer. - The current BsonType. + The writer. + The name of the element. + A BsonRegularExpression. - + - Determines whether this reader is at end of file. + Writes the start of a BSON array element to the writer. - - Whether this reader is at end of file. - + The writer. + The name of the element. - + - Reads BSON binary data from the reader. + Writes the start of a BSON document element to the writer. - A BsonBinaryData. + The writer. + The name of the element. - + - Reads a BSON boolean from the reader. + Writes a BSON String element to the writer. - A Boolean. + The writer. + The name of the element. + The String value. - + - Reads a BsonType from the reader. + Writes a BSON Symbol element to the writer. - A BsonType. + The writer. + The name of the element. + The symbol. - + - Reads BSON binary data from the reader. + Writes a BSON timestamp element to the writer. - A byte array. + The writer. + The name of the element. + The combined timestamp/increment value. - + - Reads a BSON DateTime from the reader. + Writes a BSON undefined element to the writer. - The number of milliseconds since the Unix epoch. - - - + The writer. + The name of the element. - + - Reads a BSON Double from the reader. + Represents an element name validator. Used by BsonWriters when WriteName is called + to determine if the element name is valid. - A Double. - + - Reads the end of a BSON array from the reader. + Gets the validator to use for child content (a nested document or array). + The name of the element. + The validator to use for child content. - + - Reads the end of a BSON document from the reader. + Determines whether the element name is valid. + The name of the element. + True if the element name is valid. - + - Reads a BSON Int32 from the reader. + Represents a name decoder. - An Int32. - + - Reads a BSON Int64 from the reader. + Decodes the name. - An Int64. + The stream. + The encoding. + + The name. + - + - Reads a BSON JavaScript from the reader. + Informs the decoder of an already decoded name (so the decoder can change state if necessary). - A string. + The name. - + - Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + Represents a source of chunks optimized for input buffers. - A string. - + - Reads a BSON MaxKey from the reader. + Initializes a new instance of the class. + The chunk source. + The maximum size of an unpooled chunk. + The minimum size of a chunk. + The maximum size of a chunk. - + - Reads a BSON MinKey from the reader. + Gets the base source. + + The base source. + - + - Reads the name of an element from the reader. + Gets the maximum size of a chunk. - The name of the element. + + The maximum size of a chunk. + - + - Reads the name of an element from the reader (using the provided name decoder). + Gets the minimum size of a chunk. - The name decoder. - - The name of the element. - + + The minimum size of a chunk. + - + - Reads a BSON null from the reader. + Gets the maximum size of an unpooled chunk. + + The maximum size of an unpooled chunk. + - - - Reads a BSON ObjectId from the reader. - - An ObjectId. + + - + + + + - Reads a raw BSON array. + Represents a wrapper around a TextReader to provide some buffering functionality. - The raw BSON array. - + - Reads a raw BSON document. + Initializes a new instance of the class. - The raw BSON document. + The json. - + - Reads a BSON regular expression from the reader. + Initializes a new instance of the class. - A BsonRegularExpression. + The reader. - + - Reads the start of a BSON array. + Gets or sets the current position. - + - Reads the start of a BSON document. + Gets a snippet of a maximum length from the buffer (usually to include in an error message). + The start. + The maximum length. + The snippet. - + - Reads a BSON string from the reader. + Gets a substring from the buffer. - A String. + The start. + The count. + The substring. - + - Reads a BSON symbol from the reader. + Reads the next character from the text reader and advances the character position by one character. - A string. + + The next character from the text reader, or -1 if no more characters are available. The default implementation returns -1. + - + - Reads a BSON timestamp from the reader. + Resets the buffer (clears everything up to the current position). - The combined timestamp/increment. - + - Reads a BSON undefined from the reader. + Unreads one character (moving the current Position back one position). + The character. - + - Returns the reader to previously bookmarked position and state. + Represents a factory for IBsonBuffers. - The bookmark. - + - Skips the name (reader must be positioned on a name). + Creates a buffer of the specified length. Depending on the length, either a SingleChunkBuffer or a MultiChunkBuffer will be created. + The chunk pool. + The minimum capacity. + A buffer with at least the minimum capacity. - + - Skips the value (reader must be positioned on a value). + An IByteBuffer that is backed by a contiguous byte array. - + - Disposes of any resources used by the reader. + Initializes a new instance of the class. - True if called from Dispose. + The bytes. + Whether the buffer is read only. - + - Throws an InvalidOperationException when the method called is not valid for the current ContextType. + Initializes a new instance of the class. - The name of the method. - The actual ContextType. - The valid ContextTypes. + The bytes. + The length. + Whether the buffer is read only. - - - Throws an InvalidOperationException when the method called is not valid for the current state. - - The name of the method. - The valid states. + + - - - Throws an ObjectDisposedException. - + + - - - Verifies the current state and BsonType of the reader. - - The name of the method calling this one. - The required BSON type. + + - - - Represents a bookmark that can be used to return a reader to the current position and state. - + + - - - Initializes a new instance of the BsonReaderBookmark class. - - The state of the reader. - The current BSON type. - The name of the current element. + + - - - Gets the current state of the reader. - + + - - - Gets the current BsonType; - + + - - - Gets the name of the current element. - + + - - - Represents settings for a BsonReader. - + + - - - Initializes a new instance of the BsonReaderSettings class. - + + - - - Initializes a new instance of the BsonReaderSettings class. - - The representation for Guids. + + - - - Gets or sets the representation for Guids. - + + - - - Gets whether the settings are frozen. - + + - + - Creates a clone of the settings. + Represents a Stream backed by an IByteBuffer. Similar to MemoryStream but backed by an IByteBuffer + instead of a byte array and also implements the BsonStream interface for higher performance BSON I/O. - A clone of the settings. - + - Freezes the settings. + Initializes a new instance of the class. - The frozen settings. + The buffer. + Whether the stream owns the buffer and should Dispose it when done. - + - Returns a frozen copy of the settings. + Gets the buffer. - A frozen copy of the settings. + + The buffer. + - - - Creates a clone of the settings. - - A clone of the settings. + + - - - Throws an InvalidOperationException when an attempt is made to change a setting after the settings are frozen. - + + - - - Represents the state of a reader. - + + - - - The initial state. - + + - - - The reader is positioned at the type of an element or value. - + + - - - The reader is positioned at the name of an element. - + + - - - The reader is positioned at a value. - + + - - - The reader is positioned at a scope document. - + + - - - The reader is positioned at the end of a document. - + + - - - The reader is positioned at the end of an array. - + + - - - The reader has finished reading a document. - + + - - - The reader is closed. - + + - - - Represents a Stream has additional methods to suport reading and writing BSON values. - + + - - - Reads a BSON CString from the stream. - - The encoding. - A string. + + - - - Reads a BSON CString from the stream. - - An ArraySegment containing the CString bytes (without the null byte). + + - - - Reads a BSON Decimal128 from the stream. - - A . + + - - - Reads a BSON double from the stream. - - A double. - - - - Reads a 32-bit BSON integer from the stream. - - An int. - - - - Reads a 64-bit BSON integer from the stream. - - A long. - - - - Reads a BSON ObjectId from the stream. - - An ObjectId. - - - - Reads a raw length prefixed slice from the stream. - - A slice. - - - - Reads a BSON string from the stream. - - The encoding. - A string. - - - - Skips over a BSON CString leaving the stream positioned just after the terminating null byte. - - - - - Writes a BSON CString to the stream. - - The value. - - - - Writes the CString bytes to the stream. - - The value. - - - - Writes a BSON Decimal128 to the stream. - - The value. - - - - Writes a BSON double to the stream. - - The value. - - - - Writes a 32-bit BSON integer to the stream. - - The value. - - - - Writes a 64-bit BSON integer to the stream. - - The value. - - - - Writes a BSON ObjectId to the stream. - - The value. - - - - Writes a BSON string to the stream. - - The value. - The encoding. - - - - A Stream that wraps another Stream while implementing the BsonStream abstract methods. - - - - - Initializes a new instance of the class. - - The stream. - if set to true [owns stream]. - stream - - - - Gets the base stream. - - - The base stream. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - - - Represents extension methods on BsonStream. - - - - - Backpatches the size. - - The stream. - The start position. - - - - Reads the binary sub type. - - The stream. - The binary sub type. - - - - Reads a boolean from the stream. - - The stream. - A boolean. - - - - Reads the BSON type. - - The stream. - The BSON type. - - - - Reads bytes from the stream. - - The stream. - The buffer. - The offset. - The count. - - - - Reads bytes from the stream. - - The stream. - The count. - The bytes. - - - - Writes a binary sub type to the stream. - - The stream. - The value. - - - - Writes a boolean to the stream. - - The stream. - The value. - - - - Writes a BsonType to the stream. - - The stream. - The value. - - - - Writes bytes to the stream. - - The stream. - The buffer. - The offset. - The count. - - - - Writes a slice to the stream. - - The stream. - The slice. - - - - Represents a mapping from a set of UTF8 encoded strings to a set of elementName/value pairs, implemented as a trie. - - The type of the BsonTrie values. - - - - Initializes a new instance of the BsonTrie class. - - - - - Gets the root node. - - - - - Adds the specified elementName (after encoding as a UTF8 byte sequence) and value to the trie. - - The element name to add. - The value to add. The value can be null for reference types. - - - - Gets the node associated with the specified element name. - - The element name. - - When this method returns, contains the node associated with the specified element name, if the key is found; - otherwise, null. This parameter is passed unitialized. - - True if the node was found; otherwise, false. - - - - Tries to get the node associated with a name read from a stream. - - The stream. - The node. - - True if the node was found. - If the node was found the stream is advanced over the name, otherwise - the stream is repositioned to the beginning of the name. - - - - - Gets the value associated with the specified element name. - - The element name. - - When this method returns, contains the value associated with the specified element name, if the key is found; - otherwise, the default value for the type of the value parameter. This parameter is passed unitialized. - - True if the value was found; otherwise, false. - - - - Gets the value associated with the specified element name. - - The element name. - - When this method returns, contains the value associated with the specified element name, if the key is found; - otherwise, the default value for the type of the value parameter. This parameter is passed unitialized. - - True if the value was found; otherwise, false. - - - - Represents a node in a BsonTrie. - - The type of the BsonTrie values. - - - - Gets whether this node has a value. - - - - - Gets the element name for this node. - - - - - Gets the value for this node. - - - - - Gets the child of this node for a given key byte. - - The key byte. - The child node if it exists; otherwise, null. - - - - Represents a BSON writer for some external format (see subclasses). - - - - - Initializes a new instance of the BsonWriter class. - - The writer settings. - - - - - - - Gets the current serialization depth. - - - - - Gets the settings of the writer. - - - - - Gets the current state of the writer. - - - - - Gets whether the BsonWriter has been disposed. - - - - - Gets the name of the element being written. - - - - - Closes the writer. - - - - - Disposes of any resources used by the writer. - - - - - Flushes any pending data to the output destination. - - - - - Pops the element name validator. - - The popped element validator. - - - - - - - Pushes the element name validator. - - The validator. - - - + + - - - Writes BSON binary data to the writer. - - The binary data. + + - - - Writes a BSON Boolean to the writer. - - The Boolean value. + + - - - Writes BSON binary data to the writer. - - The bytes. + + - - - Writes a BSON DateTime to the writer. - - The number of milliseconds since the Unix epoch. + + - - + + - - - Writes a BSON Double to the writer. - - The Double value. + + - - - Writes the end of a BSON array to the writer. - + + - + - Writes the end of a BSON document to the writer. + Represents a byte buffer (backed by various means depending on the implementation). - + - Writes a BSON Int32 to the writer. + Gets the capacity. - The Int32 value. + + The capacity. + - + - Writes a BSON Int64 to the writer. + Gets a value indicating whether this instance is read only. - The Int64 value. + + true if this instance is read only; otherwise, false. + - + - Writes a BSON JavaScript to the writer. + Gets or sets the length. - The JavaScript code. + + The length. + - + - Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + Access the backing bytes directly. The returned ArraySegment will point to the desired position and contain + as many bytes as possible up to the next chunk boundary (if any). If the returned ArraySegment does not + contain enough bytes for your needs you will have to call ReadBytes instead. - The JavaScript code. + The position. + + An ArraySegment pointing directly to the backing bytes for the position. + - + - Writes a BSON MaxKey to the writer. + Clears the specified bytes. + The position. + The count. - + - Writes a BSON MinKey to the writer. + Ensure that the buffer has a minimum capacity. Depending on the buffer allocation strategy + calling this method may result in a higher capacity than the minimum (but never lower). + The minimum capacity. - + - Writes the name of an element to the writer. + Gets a slice of this buffer. - The name of the element. + The position of the start of the slice. + The length of the slice. + A slice of this buffer. - + - Writes a BSON null to the writer. + Makes this buffer read only. - + - Writes a BSON ObjectId to the writer. + Gets a byte. - The ObjectId. + The position. + A byte. - + - Writes a raw BSON array. + Gets bytes. - The byte buffer containing the raw BSON array. + The position. + The destination. + The destination offset. + The count. - + - Writes a raw BSON document. + Sets a byte. - The byte buffer containing the raw BSON document. + The position. + The value. - + - Writes a BSON regular expression to the writer. + Sets bytes. - A BsonRegularExpression. + The position. + The bytes. + The offset. + The count. - + - Writes the start of a BSON array to the writer. + Encodes and decodes scalar values to JSON compatible strings. - + - Writes the start of a BSON document to the writer. + Converts a string to a Boolean. + The value. + A Boolean. - + - Writes a BSON String to the writer. + Converts a string to a DateTime. - The String value. + The value. + A DateTime. - + - Writes a BSON Symbol to the writer. + Converts a string to a DateTimeOffset. - The symbol. + The value. + A DateTimeOffset. - + - Writes a BSON timestamp to the writer. + Converts a string to a Decimal. - The combined timestamp/increment value. + The value. + A Decimal. - + - Writes a BSON undefined to the writer. + Converts a string to a . + The value. + A . - + - Disposes of any resources used by the writer. + Converts a string to a Double. - True if called from Dispose. + The value. + A Double. - + - Throws an InvalidOperationException when the method called is not valid for the current ContextType. + Converts a string to an Int16. - The name of the method. - The actual ContextType. - The valid ContextTypes. + The value. + An Int16. - + - Throws an InvalidOperationException when the method called is not valid for the current state. + Converts a string to an Int32. - The name of the method. - The valid states. + The value. + An Int32. - + - Represents settings for a BsonWriter. + Converts a string to an Int64. + The value. + An Int64. - + - Initializes a new instance of the BsonWriterSettings class. + Converts a string to a Single. + The value. + A Single. - + - Initializes a new instance of the BsonWriterSettings class. + Converts a Boolean to a string. - The representation for Guids. + The value. + A string. - + - Gets or sets the representation for Guids. + Converts a DateTime to a string. + The value. + A string. - + - Gets whether the settings are frozen. + Converts a DateTimeOffset to a string. + The value. + A string. - + - Gets or sets the max serialization depth allowed (used to detect circular references). + Converts a Decimal to a string. + The value. + A string. - + - Creates a clone of the settings. + Converts a to a string. - A clone of the settings. + The value. + A string. - + - Freezes the settings. + Converts a Double to a string. - The frozen settings. + The value. + A string. - + - Returns a frozen copy of the settings. + Converts a Single to a string. - A frozen copy of the settings. + The value. + A string. - + - Creates a clone of the settings. + Converts an Int32 to a string. - A clone of the settings. + The value. + A string. - + - Throws an InvalidOperationException when an attempt is made to change a setting after the settings are frozen. + Converts an Int64 to a string. + The value. + A string. - + - Represents the state of a BsonWriter. + Converts an Int16 to a string. + The value. + A string. - + - The initial state. + Converts a UInt32 to a string. + The value. + A string. - + - The writer is positioned to write a name. + Converts a UInt64 to a string. + The value. + A string. - + - The writer is positioned to write a value. + Converts a UInt16 to a string. + The value. + A string. - + - The writer is positioned to write a scope document (call WriteStartDocument to start writing the scope document). + Converts a string to a UInt16. + The value. + A UInt16. - + - The writer is done. + Converts a string to a UInt32. + The value. + A UInt32. - + - The writer is closed. + Converts a string to a UInt64. + The value. + A UInt64. - + - An IByteBuffer that is backed by a contiguous byte array. + An IByteBuffer that is backed by multiple chunks. - + - Initializes a new instance of the class. + Initializes a new instance of the class. - The bytes. - Whether the buffer is read only. + The chunk pool. + chunkPool - + - Initializes a new instance of the class. + Initializes a new instance of the class. - The bytes. + The chunks. The length. Whether the buffer is read only. + chunks - + - + + + Gets the chunk source. + + + The chunk source. + + + - + - + - + - + - + - + - + - + - + - + - + - + - Represents a chunk backed by a byte array. + Represents an element name validator that does no validation. - + - Initializes a new instance of the class. + Gets the instance. - The size. + + The instance. + - + - Initializes a new instance of the class. + Gets the validator to use for child content (a nested document or array). - The bytes. - bytes + The name of the element. + The validator to use for child content. - - + + + Determines whether the element name is valid. + + The name of the element. + True if the element name is valid. - + + + Represents a source of chunks optimized for output buffers. + + + + + Initializes a new instance of the class. + + The chunk source. + The size of the initial unpooled chunk. + The minimum size of a chunk. + The maximum size of a chunk. + + + + Gets the base source. + + + The base source. + + + + + Gets the initial unpooled chunk size. + + + The initial unpooled chunk size. + + + + + Gets the maximum size of a chunk. + + + The maximum size of a chunk. + + + + + Gets the minimum size of a chunk. + + + The minimum size of a chunk. + + + - + - + - Releases unmanaged and - optionally - managed resources. + Represents a Trie-based name decoder that also provides a value. + + The type of the value. + + + + Initializes a new instance of the class. + + The trie. + + + + Gets a value indicating whether this is found. + + + true if found; otherwise, false. + + + + + Gets the value. + + + The value. + + + + + Reads the name. + + The stream. + The encoding. + + The name. + + + + + Informs the decoder of an already decoded name (so the decoder can change state if necessary). + + The name. + + + + Represents a singleton instance of a strict UTF8Encoding. + + + + + Gets the lenient instance. + + + + + Gets the strict instance. + + + + + Represents a UTF8 name decoder. - true to release both managed and unmanaged resources; false to release only unmanaged resources. - + - Represents a factory for IBsonBuffers. + Gets the instance. + + The instance. + - + - Creates a buffer of the specified length. Depending on the length, either a SingleChunkBuffer or a MultiChunkBuffer will be created. + Decodes the name. - The chunk pool. - The minimum capacity. - A buffer with at least the minimum capacity. + The stream. + The encoding. + + The name. + - + - Represents a slice of a byte buffer. + Informs the decoder of an already decoded name (so the decoder can change state if necessary). + The name. - + - Initializes a new instance of the class. + An IByteBuffer that is backed by a single chunk. - The byte buffer. - The offset of the slice. - The length of the slice. - + - Gets the buffer. + Initializes a new instance of the class. - - The buffer. - + The chuns. + The length. + Whether the buffer is read only. - + - + - + - + - + - + - + - + - + - + - + - + - + - + - Releases unmanaged and - optionally - managed resources. + Represents a class that has some helper methods for decoding UTF8 strings. - true to release both managed and unmanaged resources; false to release only unmanaged resources. - + - Represents a Stream backed by an IByteBuffer. Similar to MemoryStream but backed by an IByteBuffer - instead of a byte array and also implements the BsonStream interface for higher performance BSON I/O. + Decodes a UTF8 string. + The bytes. + The index. + The count. + The encoding. + The decoded string. - + - Initializes a new instance of the class. + Represents settings for a JsonReader. - The buffer. - Whether the stream owns the buffer and should Dispose it when done. - + - Gets the buffer. + Initializes a new instance of the JsonReaderSettings class. - - The buffer. - - - - - - - - - - - - - - - + + + Gets or sets the default settings for a JsonReader. + - - + + + Creates a clone of the settings. + + A clone of the settings. - - + + + Creates a clone of the settings. + + A clone of the settings. - - + + + Represents a BSON reader for a BsonDocument. + - - + + + Initializes a new instance of the BsonDocumentReader class. + + A BsonDocument. - - + + + Initializes a new instance of the BsonDocumentReader class. + + A BsonDocument. + The reader settings. - - + + + Closes the reader. + - - + + + Gets a bookmark to the reader's current position and state. + + A bookmark. - - + + + Determines whether this reader is at end of file. + + + Whether this reader is at end of file. + - - + + + Reads BSON binary data from the reader. + + A BsonBinaryData. - - + + + Reads a BSON boolean from the reader. + + A Boolean. - - + + + Reads a BsonType from the reader. + + A BsonType. - - + + + Reads BSON binary data from the reader. + + A byte array. - - + + + Reads a BSON DateTime from the reader. + + The number of milliseconds since the Unix epoch. - - + + - - + + + Reads a BSON Double from the reader. + + A Double. - - + + + Reads the end of a BSON array from the reader. + - - + + + Reads the end of a BSON document from the reader. + - - + + + Reads a BSON Int32 from the reader. + + An Int32. - - + + + Reads a BSON Int64 from the reader. + + An Int64. - - + + + Reads a BSON JavaScript from the reader. + + A string. - - + + + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + + A string. - - + + + Reads a BSON MaxKey from the reader. + - - + + + Reads a BSON MinKey from the reader. + - - + + + Reads the name of an element from the reader. + + The name decoder. + + The name of the element. + - - + + + Reads a BSON null from the reader. + - - + + + Reads a BSON ObjectId from the reader. + + An ObjectId. - - + + + Reads a BSON regular expression from the reader. + + A BsonRegularExpression. - + - Used by BsonReaders and BsonWriters to represent the current context. + Reads the start of a BSON array. - + - The top level of a BSON document. + Reads the start of a BSON document. - + - A (possibly embedded) BSON document. + Reads a BSON string from the reader. + A String. - + - A BSON array. + Reads a BSON symbol from the reader. + A string. - + - A JavaScriptWithScope BSON value. + Reads a BSON timestamp from the reader. + The combined timestamp/increment. - + - The scope document of a JavaScriptWithScope BSON value. + Reads a BSON undefined from the reader. - + - A BsonWriter that appends elements to the end of a document. + Returns the reader to previously bookmarked position and state. - + The bookmark. - + - Initializes a new instance of the class. + Skips the name (reader must be positioned on a name). - The wrapped writer. - The elements to append. - The settings configurator. - - + + + Skips the value (reader must be positioned on a value). + - - + + + Disposes of any resources used by the reader. + + True if called from Dispose. - + - Represents a chunk of bytes. + Represents a bookmark that can be used to return a reader to the current position and state. - + - Gets the bytes. + Creates a clone of the context. - - The bytes. - + A clone of the context. - + - Returns a new reference to the same chunk that can be independently disposed. + Represents a BSON writer to a BsonDocument. - A new reference to the same chunk. - + - Represents a source of chunks. + Initializes a new instance of the BsonDocumentWriter class. + The document to write to (normally starts out as an empty document). - + - Gets the chunk. + Initializes a new instance of the BsonDocumentWriter class. - The chunk source is free to return a larger or smaller chunk than requested. - Size of the requested. - A chunk. + The document to write to (normally starts out as an empty document). + The settings. - + - Represents a BSON reader. + Gets the BsonDocument being written to. - + - Gets the current BsonType. + Closes the writer. - + - Gets the current state of the reader. + Flushes any pending data to the output destination. - + - Closes the reader. + Writes BSON binary data to the writer. + The binary data. - + - Gets a bookmark to the reader's current position and state. + Writes a BSON Boolean to the writer. - A bookmark. + The Boolean value. - + - Gets the current BsonType (calls ReadBsonType if necessary). + Writes BSON binary data to the writer. - The current BsonType. + The bytes. - + - Determines whether this reader is at end of file. + Writes a BSON DateTime to the writer. - - Whether this reader is at end of file. - + The number of milliseconds since the Unix epoch. - + + + + - Reads BSON binary data from the reader. + Writes a BSON Double to the writer. - A BsonBinaryData. + The Double value. - + - Reads a BSON boolean from the reader. + Writes the end of a BSON array to the writer. - A Boolean. - + - Reads a BsonType from the reader. + Writes the end of a BSON document to the writer. - A BsonType. - + - Reads BSON binary data from the reader. + Writes a BSON Int32 to the writer. - A byte array. + The Int32 value. - + - Reads a BSON DateTime from the reader. + Writes a BSON Int64 to the writer. - The number of milliseconds since the Unix epoch. + The Int64 value. - + - Reads a BSON Decimal128 from the reader. + Writes a BSON JavaScript to the writer. - A . + The JavaScript code. - + - Reads a BSON Double from the reader. + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). - A Double. + The JavaScript code. - + - Reads the end of a BSON array from the reader. + Writes a BSON MaxKey to the writer. - + - Reads the end of a BSON document from the reader. + Writes a BSON MinKey to the writer. - + - Reads a BSON Int32 from the reader. + Writes the name of an element to the writer. - An Int32. + The name of the element. - + - Reads a BSON Int64 from the reader. + Writes a BSON null to the writer. - An Int64. - + - Reads a BSON JavaScript from the reader. + Writes a BSON ObjectId to the writer. - A string. + The ObjectId. - + - Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + Writes a BSON regular expression to the writer. - A string. + A BsonRegularExpression. - + - Reads a BSON MaxKey from the reader. + Writes the start of a BSON array to the writer. - + - Reads a BSON MinKey from the reader. + Writes the start of a BSON document to the writer. - + - Reads the name of an element from the reader (using the provided name decoder). + Writes a BSON String to the writer. - The name decoder. - - The name of the element. - + The String value. - + - Reads a BSON null from the reader. + Writes a BSON Symbol to the writer. + The symbol. - + + + Writes a BSON timestamp to the writer. + + The combined timestamp/increment value. + + - Reads a BSON ObjectId from the reader. + Writes a BSON undefined to the writer. - An ObjectId. - + - Reads a raw BSON array. + Disposes of any resources used by the writer. - The raw BSON array. + True if called from Dispose. - + - Reads a raw BSON document. + Used by BsonReaders and BsonWriters to represent the current context. - The raw BSON document. - + - Reads a BSON regular expression from the reader. + The top level of a BSON document. - A BsonRegularExpression. - + - Reads the start of a BSON array. + A (possibly embedded) BSON document. - + - Reads the start of a BSON document. + A BSON array. - + - Reads a BSON string from the reader. + A JavaScriptWithScope BSON value. - A String. - + - Reads a BSON symbol from the reader. + The scope document of a JavaScriptWithScope BSON value. - A string. - + - Reads a BSON timestamp from the reader. + Represents a BSON reader for a JSON string. - The combined timestamp/increment. - + - Reads a BSON undefined from the reader. + Initializes a new instance of the JsonReader class. + The JSON string. - + - Returns the reader to previously bookmarked position and state. + Initializes a new instance of the JsonReader class. - The bookmark. + The JSON string. + The reader settings. - + - Skips the name (reader must be positioned on a name). + Initializes a new instance of the JsonReader class. + The TextReader. - + - Skips the value (reader must be positioned on a value). + Initializes a new instance of the JsonReader class. + The TextReader. + The reader settings. - + - Contains extensions methods for IBsonReader. + Closes the reader. - + - Positions the reader to an element by name. + Gets a bookmark to the reader's current position and state. - The reader. - The name of the element. - True if the element was found. + A bookmark. - + - Positions the reader to a string element by name. + Determines whether this reader is at end of file. - The reader. - The name of the element. - True if the element was found. + + Whether this reader is at end of file. + - + - Reads a BSON binary data element from the reader. + Reads BSON binary data from the reader. - The reader. - The name of the element. A BsonBinaryData. - + - Reads a BSON boolean element from the reader. + Reads a BSON boolean from the reader. - The reader. - The name of the element. A Boolean. - + - Reads a BSON binary data element from the reader. + Reads a BsonType from the reader. + + A BsonType. + + + + Reads BSON binary data from the reader. - The reader. - The name of the element. A byte array. - + - Reads a BSON DateTime element from the reader. + Reads a BSON DateTime from the reader. - The reader. - The name of the element. The number of milliseconds since the Unix epoch. - + + + + - Reads a BSON Decimal128 element from the reader. + Reads a BSON Double from the reader. - The reader. - The name of the element. - A . + A Double. - + - Reads a BSON Double element from the reader. + Reads the end of a BSON array from the reader. - The reader. - The name of the element. - A Double. - + - Reads a BSON Int32 element from the reader. + Reads the end of a BSON document from the reader. - The reader. - The name of the element. - An Int32. - + - Reads a BSON Int64 element from the reader. + Reads a BSON Int32 from the reader. - The reader. - The name of the element. - An Int64. + An Int32. - + - Reads a BSON JavaScript element from the reader. + Reads a BSON Int64 from the reader. - The reader. - The name of the element. - A string. + An Int64. - + - Reads a BSON JavaScript with scope element from the reader (call ReadStartDocument next to read the scope). + Reads a BSON JavaScript from the reader. - The reader. - The name of the element. A string. - + - Reads a BSON MaxKey element from the reader. + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). - The reader. - The name of the element. + A string. - + - Reads a BSON MinKey element from the reader. + Reads a BSON MaxKey from the reader. - The reader. - The name of the element. - + - Reads the name of an element from the reader. + Reads a BSON MinKey from the reader. - The reader. - The name of the element. - + Reads the name of an element from the reader. - The reader. - The name of the element. + The name decoder. + + The name of the element. + - + - Reads a BSON null element from the reader. + Reads a BSON null from the reader. - The reader. - The name of the element. - + - Reads a BSON ObjectId element from the reader. + Reads a BSON ObjectId from the reader. - The reader. - The name of the element. An ObjectId. - + - Reads a raw BSON array. + Reads a BSON regular expression from the reader. - The reader. - The name. - - The raw BSON array. - + A BsonRegularExpression. - + - Reads a raw BSON document. + Reads the start of a BSON array. - The reader. - The name. - The raw BSON document. - + - Reads a BSON regular expression element from the reader. + Reads the start of a BSON document. - The reader. - The name of the element. - A BsonRegularExpression. - + - Reads a BSON string element from the reader. + Reads a BSON string from the reader. - The reader. - The name of the element. A String. - + - Reads a BSON symbol element from the reader. + Reads a BSON symbol from the reader. - The reader. - The name of the element. A string. - + - Reads a BSON timestamp element from the reader. + Reads a BSON timestamp from the reader. The combined timestamp/increment. - The reader. - The name of the element. - + - Reads a BSON undefined element from the reader. + Reads a BSON undefined from the reader. - The reader. - The name of the element. - + - Represents a BSON writer. + Returns the reader to previously bookmarked position and state. - + The bookmark. - + - Gets the position. - Not all writers are able to report the position. Those that can't simply return zero. + Skips the name (reader must be positioned on a name). - - The position. - - + - Gets the current serialization depth. + Skips the value (reader must be positioned on a value). - + - Gets the settings of the writer. + Disposes of any resources used by the reader. + True if called from Dispose. - + - Gets the current state of the writer. + Represents a bookmark that can be used to return a reader to the current position and state. - + - Closes the writer. + Creates a clone of the context. + A clone of the context. - + - Flushes any pending data to the output destination. + A static class that represents a JSON scanner. - + - Pops the element name validator. + Gets the next JsonToken from a JsonBuffer. - The popped element validator. + The buffer. + The next token. - + - Pops the settings. + Represents a bookmark that can be used to return a reader to the current position and state. - + - Pushes the element name validator. + Initializes a new instance of the BsonReaderBookmark class. - The validator. + The state of the reader. + The current BSON type. + The name of the current element. - + - Pushes new settings for the writer. + Gets the current state of the reader. - The settings configurator. - + - Writes BSON binary data to the writer. + Gets the current BsonType; - The binary data. - + - Writes a BSON Boolean to the writer. + Gets the name of the current element. - The Boolean value. - + - Writes BSON binary data to the writer. + Represents a JSON token type. - The bytes. - + - Writes a BSON DateTime to the writer. + An invalid token. - The number of milliseconds since the Unix epoch. - + - Writes a BSON Decimal128 to the writer. + A begin array token (a '['). - The value. - + - Writes a BSON Double to the writer. + A begin object token (a '{'). - The Double value. - + - Writes the end of a BSON array to the writer. + An end array token (a ']'). - + - Writes the end of a BSON document to the writer. + A left parenthesis (a '('). - + - Writes a BSON Int32 to the writer. + A right parenthesis (a ')'). - The Int32 value. - + - Writes a BSON Int64 to the writer. + An end object token (a '}'). - The Int64 value. - + - Writes a BSON JavaScript to the writer. + A colon token (a ':'). - The JavaScript code. - + - Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + A comma token (a ','). - The JavaScript code. - + - Writes a BSON MaxKey to the writer. + A DateTime token. - + - Writes a BSON MinKey to the writer. + A Double token. - + - Writes the name of an element to the writer. + An Int32 token. - The name of the element. - + - Writes a BSON null to the writer. + And Int64 token. - + - Writes a BSON ObjectId to the writer. + An ObjectId token. - The ObjectId. - + - Writes a raw BSON array. + A regular expression token. - The byte buffer containing the raw BSON array. - + - Writes a raw BSON document. + A string token. - The byte buffer containing the raw BSON document. - + - Writes a BSON regular expression to the writer. + An unquoted string token. - A BsonRegularExpression. - + - Writes the start of a BSON array to the writer. + An end of file token. - + - Writes the start of a BSON document to the writer. + Represents a JSON token. - + - Writes a BSON String to the writer. + Initializes a new instance of the JsonToken class. - The String value. + The token type. + The lexeme. - + - Writes a BSON Symbol to the writer. + Gets the token type. - The symbol. - + - Writes a BSON timestamp to the writer. + Gets the lexeme. - The combined timestamp/increment value. - + - Writes a BSON undefined to the writer. + Gets the value of a DateTime token. - + - Contains extension methods for IBsonWriter. + Gets the value of a Double token. - + - Writes a BSON binary data element to the writer. + Gets the value of an Int32 token. - The writer. - The name of the element. - The binary data. - + - Writes a BSON Boolean element to the writer. + Gets the value of an Int64 token. - The writer. - The name of the element. - The Boolean value. - + - Writes a BSON binary data element to the writer. + Gets a value indicating whether this token is number. - The writer. - The name of the element. - The bytes. + + true if this token is number; otherwise, false. + - + - Writes a BSON DateTime element to the writer. + Gets the value of an ObjectId token. - The writer. - The name of the element. - The number of milliseconds since the Unix epoch. - + - Writes a BSON Decimal128 element to the writer. + Gets the value of a regular expression token. - The writer. - The name of the element. - The value. - + - Writes a BSON Double element to the writer. + Gets the value of a string token. - The writer. - The name of the element. - The Double value. - + - Writes a BSON Int32 element to the writer. + Represents a DateTime JSON token. - The writer. - The name of the element. - The Int32 value. - + - Writes a BSON Int64 element to the writer. + Initializes a new instance of the DateTimeJsonToken class. - The writer. - The name of the element. - The Int64 value. + The lexeme. + The DateTime value. - + - Writes a BSON JavaScript element to the writer. + Gets the value of a DateTime token. - The writer. - The name of the element. - The JavaScript code. - + - Writes a BSON JavaScript element to the writer (call WriteStartDocument to start writing the scope). + Represents a Double JSON token. - The writer. - The name of the element. - The JavaScript code. - + - Writes a BSON MaxKey element to the writer. + Initializes a new instance of the DoubleJsonToken class. - The writer. - The name of the element. + The lexeme. + The Double value. - + - Writes a BSON MinKey element to the writer. + Gets the value of a Double token. - The writer. - The name of the element. - + - Writes a BSON null element to the writer. + Gets the value of an Int32 token. - The writer. - The name of the element. - + - Writes a BSON ObjectId element to the writer. + Gets the value of an Int64 token. - The writer. - The name of the element. - The ObjectId. - + - Writes a raw BSON array. + Gets a value indicating whether this token is number. - The writer. - The name. - The byte buffer containing the raw BSON array. + + true if this token is number; otherwise, false. + - + - Writes a raw BSON document. + Represents an Int32 JSON token. - The writer. - The name. - The byte buffer containing the raw BSON document. - + - Writes a BSON regular expression element to the writer. + Initializes a new instance of the Int32JsonToken class. - The writer. - The name of the element. - A BsonRegularExpression. + The lexeme. + The Int32 value. - + - Writes the start of a BSON array element to the writer. + Gets the value of a Double token. - The writer. - The name of the element. - + - Writes the start of a BSON document element to the writer. + Gets the value of an Int32 token. - The writer. - The name of the element. - + - Writes a BSON String element to the writer. + Gets the value of an Int32 token as an Int64. - The writer. - The name of the element. - The String value. - + - Writes a BSON Symbol element to the writer. + Gets a value indicating whether this token is number. - The writer. - The name of the element. - The symbol. + + true if this token is number; otherwise, false. + - + - Writes a BSON timestamp element to the writer. + Represents an Int64 JSON token. - The writer. - The name of the element. - The combined timestamp/increment value. - + - Writes a BSON undefined element to the writer. + Initializes a new instance of the Int64JsonToken class. - The writer. - The name of the element. + The lexeme. + The Int64 value. - + - Represents a byte buffer (backed by various means depending on the implementation). + Gets the value of a Double token. - + - Gets the capacity. + Gets the value of an Int32 token. - - The capacity. - - + - Gets a value indicating whether this instance is read only. + Gets the value of an Int64 token. - - true if this instance is read only; otherwise, false. - - + - Gets or sets the length. + Gets a value indicating whether this token is number. - The length. + true if this token is number; otherwise, false. - + - Access the backing bytes directly. The returned ArraySegment will point to the desired position and contain - as many bytes as possible up to the next chunk boundary (if any). If the returned ArraySegment does not - contain enough bytes for your needs you will have to call ReadBytes instead. + Represents an ObjectId JSON token. - The position. - - An ArraySegment pointing directly to the backing bytes for the position. - - + - Clears the specified bytes. + Initializes a new instance of the ObjectIdJsonToken class. - The position. - The count. + The lexeme. + The ObjectId value. - + - Ensure that the buffer has a minimum capacity. Depending on the buffer allocation strategy - calling this method may result in a higher capacity than the minimum (but never lower). + Gets the value of an ObjectId token. - The minimum capacity. - + - Gets a slice of this buffer. + Represents a regular expression JSON token. - The position of the start of the slice. - The length of the slice. - A slice of this buffer. - + - Makes this buffer read only. + Initializes a new instance of the RegularExpressionJsonToken class. + The lexeme. + The BsonRegularExpression value. - + - Gets a byte. + Gets the value of a regular expression token. - The position. - A byte. - + - Gets bytes. + Represents a String JSON token. - The position. - The destination. - The destination offset. - The count. - + - Sets a byte. + Initializes a new instance of the StringJsonToken class. - The position. - The value. + The token type. + The lexeme. + The String value. - + - Sets bytes. + Gets the value of an String token. - The position. - The bytes. - The offset. - The count. - + - Represents an element name validator. Used by BsonWriters when WriteName is called - to determine if the element name is valid. + Represents a bookmark that can be used to return a reader to the current position and state. - + - Gets the validator to use for child content (a nested document or array). + Represents a BSON reader for a binary BSON byte array. - The name of the element. - The validator to use for child content. - + - Determines whether the element name is valid. + Initializes a new instance of the BsonBinaryReader class. - The name of the element. - True if the element name is valid. + A stream (BsonBinary does not own the stream and will not Dispose it). - + - Represents a name decoder. + Initializes a new instance of the BsonBinaryReader class. + A stream (BsonBinary does not own the stream and will not Dispose it). + A BsonBinaryReaderSettings. - + - Decodes the name. + Gets the base stream. - The stream. - The encoding. - - The name. - + + The base stream. + - + - Informs the decoder of an already decoded name (so the decoder can change state if necessary). + Gets the BSON stream. - The name. + + The BSON stream. + - + - Represents a source of chunks optimized for input buffers. + Closes the reader. - + - Initializes a new instance of the class. + Gets a bookmark to the reader's current position and state. - The chunk source. - The maximum size of an unpooled chunk. - The minimum size of a chunk. - The maximum size of a chunk. + A bookmark. - + - Gets the base source. + Determines whether this reader is at end of file. - - The base source. - + + Whether this reader is at end of file. + - + - Gets the maximum size of a chunk. + Reads BSON binary data from the reader. - - The maximum size of a chunk. - + A BsonBinaryData. - + - Gets the minimum size of a chunk. + Reads a BSON boolean from the reader. - - The minimum size of a chunk. - + A Boolean. - + - Gets the maximum size of an unpooled chunk. + Reads a BsonType from the reader. - - The maximum size of an unpooled chunk. - - - - - - - + A BsonType. - + - Represents a wrapper around a TextReader to provide some buffering functionality. + Reads BSON binary data from the reader. + A byte array. - + - Initializes a new instance of the class. + Reads a BSON DateTime from the reader. - The json. + The number of milliseconds since the Unix epoch. - + + + + - Initializes a new instance of the class. + Reads a BSON Double from the reader. - The reader. + A Double. - + - Gets or sets the current position. + Reads the end of a BSON array from the reader. - + - Gets a snippet of a maximum length from the buffer (usually to include in an error message). + Reads the end of a BSON document from the reader. - The start. - The maximum length. - The snippet. - + - Gets a substring from the buffer. + Reads a BSON Int32 from the reader. - The start. - The count. - The substring. + An Int32. - + - Reads the next character from the text reader and advances the character position by one character. + Reads a BSON Int64 from the reader. - - The next character from the text reader, or -1 if no more characters are available. The default implementation returns -1. - + An Int64. - + - Resets the buffer (clears everything up to the current position). + Reads a BSON JavaScript from the reader. + A string. - + - Unreads one character (moving the current Position back one position). + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). - The character. + A string. - + - Encodes and decodes scalar values to JSON compatible strings. + Reads a BSON MaxKey from the reader. - + - Converts a string to a Boolean. + Reads a BSON MinKey from the reader. - The value. - A Boolean. - + - Converts a string to a DateTime. + Reads the name of an element from the reader. - The value. - A DateTime. + The name decoder. + The name of the element. - + - Converts a string to a DateTimeOffset. + Reads a BSON null from the reader. - The value. - A DateTimeOffset. - + - Converts a string to a Decimal. + Reads a BSON ObjectId from the reader. - The value. - A Decimal. + An ObjectId. - + - Converts a string to a . + Reads a raw BSON array. - The value. - A . + + The raw BSON array. + - + - Converts a string to a Double. + Reads a raw BSON document. - The value. - A Double. + + The raw BSON document. + - + - Converts a string to an Int16. + Reads a BSON regular expression from the reader. - The value. - An Int16. + A BsonRegularExpression. - + - Converts a string to an Int32. + Reads the start of a BSON array. - The value. - An Int32. - + - Converts a string to an Int64. + Reads the start of a BSON document. - The value. - An Int64. - + - Converts a string to a Single. + Reads a BSON string from the reader. - The value. - A Single. + A String. - + - Converts a Boolean to a string. + Reads a BSON symbol from the reader. - The value. A string. - + - Converts a DateTime to a string. + Reads a BSON timestamp from the reader. - The value. - A string. + The combined timestamp/increment. - + - Converts a DateTimeOffset to a string. + Reads a BSON undefined from the reader. - The value. - A string. - + - Converts a Decimal to a string. + Returns the reader to previously bookmarked position and state. - The value. - A string. + The bookmark. - + - Converts a to a string. + Skips the name (reader must be positioned on a name). - The value. - A string. - + - Converts a Double to a string. + Skips the value (reader must be positioned on a value). - The value. - A string. - + - Converts a Single to a string. + Disposes of any resources used by the reader. - The value. - A string. + True if called from Dispose. - + - Converts an Int32 to a string. + Represents settings for a BsonBinaryReader. - The value. - A string. - + - Converts an Int64 to a string. + Initializes a new instance of the BsonBinaryReaderSettings class. - The value. - A string. - + - Converts an Int16 to a string. + Gets or sets the default settings for a BsonBinaryReader. - The value. - A string. - + - Converts a UInt32 to a string. + Gets or sets the Encoding. - The value. - A string. - + - Converts a UInt64 to a string. + Gets or sets whether to fix occurrences of the old binary subtype on input. - The value. - A string. - + - Converts a UInt16 to a string. + Gets or sets whether to fix occurrences of the old representation of DateTime.MaxValue on input. - The value. - A string. - + - Converts a string to a UInt16. + Gets or sets the max document size. - The value. - A UInt16. - + - Converts a string to a UInt32. + Creates a clone of the settings. - The value. - A UInt32. + A clone of the settings. - + - Converts a string to a UInt64. - - The value. - A UInt64. + Creates a clone of the settings. + + A clone of the settings. @@ -4222,2395 +4026,2406 @@ Use JavaScript and MongoDB data types for some values. - - - Represents a BSON reader for a JSON string. - - - - - Initializes a new instance of the JsonReader class. - - The JSON string. - - - - Initializes a new instance of the JsonReader class. - - The JSON string. - The reader settings. - - + - Initializes a new instance of the JsonReader class. + Represents a BSON writer to a TextWriter (in JSON format). - The TextReader. - + - Initializes a new instance of the JsonReader class. + Initializes a new instance of the JsonWriter class. - The TextReader. - The reader settings. + A TextWriter. - + - Closes the reader. + Initializes a new instance of the JsonWriter class. + A TextWriter. + Optional JsonWriter settings. - + - Gets a bookmark to the reader's current position and state. + Gets the base TextWriter. - A bookmark. + + The base TextWriter. + - + - Determines whether this reader is at end of file. + Closes the writer. - - Whether this reader is at end of file. - - + - Reads BSON binary data from the reader. + Flushes any pending data to the output destination. - A BsonBinaryData. - + - Reads a BSON boolean from the reader. + Writes BSON binary data to the writer. - A Boolean. + The binary data. - + - Reads a BsonType from the reader. + Writes a BSON Boolean to the writer. - A BsonType. + The Boolean value. - + - Reads BSON binary data from the reader. + Writes BSON binary data to the writer. - A byte array. + The bytes. - + - Reads a BSON DateTime from the reader. + Writes a BSON DateTime to the writer. - The number of milliseconds since the Unix epoch. + The number of milliseconds since the Unix epoch. - + - + - Reads a BSON Double from the reader. + Writes a BSON Double to the writer. - A Double. + The Double value. - + - Reads the end of a BSON array from the reader. + Writes the end of a BSON array to the writer. - + - Reads the end of a BSON document from the reader. + Writes the end of a BSON document to the writer. - + - Reads a BSON Int32 from the reader. + Writes a BSON Int32 to the writer. - An Int32. + The Int32 value. - + - Reads a BSON Int64 from the reader. + Writes a BSON Int64 to the writer. - An Int64. + The Int64 value. - + - Reads a BSON JavaScript from the reader. + Writes a BSON JavaScript to the writer. - A string. + The JavaScript code. - + - Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). - A string. + The JavaScript code. - + - Reads a BSON MaxKey from the reader. + Writes a BSON MaxKey to the writer. - + - Reads a BSON MinKey from the reader. + Writes a BSON MinKey to the writer. - + - Reads the name of an element from the reader. + Writes a BSON null to the writer. - The name decoder. - - The name of the element. - - + - Reads a BSON null from the reader. + Writes a BSON ObjectId to the writer. + The ObjectId. - + - Reads a BSON ObjectId from the reader. + Writes a BSON regular expression to the writer. - An ObjectId. + A BsonRegularExpression. - + - Reads a BSON regular expression from the reader. + Writes the start of a BSON array to the writer. - A BsonRegularExpression. - + - Reads the start of a BSON array. + Writes the start of a BSON document to the writer. - + - Reads the start of a BSON document. + Writes a BSON String to the writer. + The String value. - + - Reads a BSON string from the reader. + Writes a BSON Symbol to the writer. - A String. + The symbol. - + - Reads a BSON symbol from the reader. + Writes a BSON timestamp to the writer. - A string. + The combined timestamp/increment value. - + - Reads a BSON timestamp from the reader. + Writes a BSON undefined to the writer. - The combined timestamp/increment. - + - Reads a BSON undefined from the reader. + Disposes of any resources used by the writer. + True if called from Dispose. - + - Returns the reader to previously bookmarked position and state. + Represents settings for a JsonWriter. - The bookmark. - + - Skips the name (reader must be positioned on a name). + Initializes a new instance of the JsonWriterSettings class. - + - Skips the value (reader must be positioned on a value). + Gets or sets the default JsonWriterSettings. - + - Disposes of any resources used by the reader. + Gets or sets the output Encoding. - True if called from Dispose. - + - Represents a bookmark that can be used to return a reader to the current position and state. + Gets or sets whether to indent the output. - + - Creates a clone of the context. + Gets or sets the indent characters. - A clone of the context. - + - Represents settings for a JsonReader. + Gets or sets the new line characters. - + - Initializes a new instance of the JsonReaderSettings class. + Gets or sets the output mode. - + - Gets or sets the default settings for a JsonReader. + Gets or sets the shell version (used with OutputMode Shell). - + Creates a clone of the settings. A clone of the settings. - + Creates a clone of the settings. A clone of the settings. - - - A static class that represents a JSON scanner. - - - - - Gets the next JsonToken from a JsonBuffer. - - The buffer. - The next token. - - + - Represents a JSON token type. + Represents a BSON reader for some external format (see subclasses). - + - An invalid token. + Initializes a new instance of the BsonReader class. + The reader settings. - + - A begin array token (a '['). + Gets the current BsonType. - + - A begin object token (a '{'). + Gets the settings of the reader. - + - An end array token (a ']'). + Gets the current state of the reader. - + - A left parenthesis (a '('). + Gets the current name. - + - A right parenthesis (a ')'). + Gets whether the BsonReader has been disposed. - + - An end object token (a '}'). + Closes the reader. - + - A colon token (a ':'). + Disposes of any resources used by the reader. - + - A comma token (a ','). + Gets a bookmark to the reader's current position and state. + A bookmark. - + - A DateTime token. + Gets the current BsonType (calls ReadBsonType if necessary). + The current BsonType. - + - A Double token. + Determines whether this reader is at end of file. + + Whether this reader is at end of file. + - + - An Int32 token. + Reads BSON binary data from the reader. + A BsonBinaryData. - + - And Int64 token. + Reads a BSON boolean from the reader. + A Boolean. - + - An ObjectId token. + Reads a BsonType from the reader. + A BsonType. - + - A regular expression token. + Reads BSON binary data from the reader. + A byte array. - + - A string token. + Reads a BSON DateTime from the reader. + The number of milliseconds since the Unix epoch. - + + + + - An unquoted string token. + Reads a BSON Double from the reader. + A Double. - + - An end of file token. + Reads the end of a BSON array from the reader. - + - Represents a JSON token. + Reads the end of a BSON document from the reader. - + - Initializes a new instance of the JsonToken class. + Reads a BSON Int32 from the reader. - The token type. - The lexeme. + An Int32. - + - Gets the token type. + Reads a BSON Int64 from the reader. + An Int64. - + - Gets the lexeme. + Reads a BSON JavaScript from the reader. + A string. - + - Gets the value of a DateTime token. + Reads a BSON JavaScript with scope from the reader (call ReadStartDocument next to read the scope). + A string. - + - Gets the value of a Double token. + Reads a BSON MaxKey from the reader. - + - Gets the value of an Int32 token. + Reads a BSON MinKey from the reader. - + - Gets the value of an Int64 token. + Reads the name of an element from the reader. + The name of the element. - + - Gets a value indicating whether this token is number. + Reads the name of an element from the reader (using the provided name decoder). - - true if this token is number; otherwise, false. - + The name decoder. + + The name of the element. + - + - Gets the value of an ObjectId token. + Reads a BSON null from the reader. - + - Gets the value of a regular expression token. + Reads a BSON ObjectId from the reader. + An ObjectId. - + - Gets the value of a string token. + Reads a raw BSON array. + The raw BSON array. - + - Represents a DateTime JSON token. + Reads a raw BSON document. + The raw BSON document. - + - Initializes a new instance of the DateTimeJsonToken class. + Reads a BSON regular expression from the reader. - The lexeme. - The DateTime value. + A BsonRegularExpression. - + - Gets the value of a DateTime token. + Reads the start of a BSON array. - + - Represents a Double JSON token. + Reads the start of a BSON document. - + - Initializes a new instance of the DoubleJsonToken class. + Reads a BSON string from the reader. - The lexeme. - The Double value. + A String. - + - Gets the value of a Double token. + Reads a BSON symbol from the reader. + A string. - + - Gets the value of an Int32 token. + Reads a BSON timestamp from the reader. + The combined timestamp/increment. - + - Gets the value of an Int64 token. + Reads a BSON undefined from the reader. - + - Gets a value indicating whether this token is number. + Returns the reader to previously bookmarked position and state. - - true if this token is number; otherwise, false. - + The bookmark. - + - Represents an Int32 JSON token. + Skips the name (reader must be positioned on a name). - + - Initializes a new instance of the Int32JsonToken class. + Skips the value (reader must be positioned on a value). - The lexeme. - The Int32 value. - + - Gets the value of a Double token. + Disposes of any resources used by the reader. + True if called from Dispose. - + - Gets the value of an Int32 token. + Throws an InvalidOperationException when the method called is not valid for the current ContextType. + The name of the method. + The actual ContextType. + The valid ContextTypes. - + - Gets the value of an Int32 token as an Int64. + Throws an InvalidOperationException when the method called is not valid for the current state. + The name of the method. + The valid states. - + - Gets a value indicating whether this token is number. + Throws an ObjectDisposedException. - - true if this token is number; otherwise, false. - - + - Represents an Int64 JSON token. + Verifies the current state and BsonType of the reader. + The name of the method calling this one. + The required BSON type. - + - Initializes a new instance of the Int64JsonToken class. + Represents the state of a reader. - The lexeme. - The Int64 value. - + - Gets the value of a Double token. + The initial state. - + - Gets the value of an Int32 token. + The reader is positioned at the type of an element or value. - + - Gets the value of an Int64 token. + The reader is positioned at the name of an element. - + - Gets a value indicating whether this token is number. + The reader is positioned at a value. - - true if this token is number; otherwise, false. - - + - Represents an ObjectId JSON token. + The reader is positioned at a scope document. - + - Initializes a new instance of the ObjectIdJsonToken class. + The reader is positioned at the end of a document. - The lexeme. - The ObjectId value. - + - Gets the value of an ObjectId token. + The reader is positioned at the end of an array. - + - Represents a regular expression JSON token. + The reader has finished reading a document. - + - Initializes a new instance of the RegularExpressionJsonToken class. + The reader is closed. - The lexeme. - The BsonRegularExpression value. - + - Gets the value of a regular expression token. + Represents a BSON writer for some external format (see subclasses). - + - Represents a String JSON token. + Initializes a new instance of the BsonWriter class. + The writer settings. - + - Initializes a new instance of the StringJsonToken class. + Gets the current serialization depth. - The token type. - The lexeme. - The String value. - + - Gets the value of an String token. + Gets the settings of the writer. - + - Represents a BSON writer to a TextWriter (in JSON format). + Gets the current state of the writer. - + - Initializes a new instance of the JsonWriter class. + Gets whether the BsonWriter has been disposed. - A TextWriter. - + - Initializes a new instance of the JsonWriter class. + Gets the name of the element being written. - A TextWriter. - Optional JsonWriter settings. - + - Gets the base TextWriter. + Closes the writer. - - The base TextWriter. - - - + + + Disposes of any resources used by the writer. + - + - Gets the settings of the writer. + Flushes any pending data to the output destination. - + - Closes the writer. + Pops the element name validator. + The popped element validator. - + - Flushes any pending data to the output destination. + Pushes the element name validator. + The validator. - + Writes BSON binary data to the writer. The binary data. - + Writes a BSON Boolean to the writer. The Boolean value. - + Writes BSON binary data to the writer. The bytes. - + Writes a BSON DateTime to the writer. The number of milliseconds since the Unix epoch. - + - + Writes a BSON Double to the writer. The Double value. - + Writes the end of a BSON array to the writer. - + Writes the end of a BSON document to the writer. - + Writes a BSON Int32 to the writer. The Int32 value. - + Writes a BSON Int64 to the writer. The Int64 value. - + Writes a BSON JavaScript to the writer. The JavaScript code. - + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). The JavaScript code. - + Writes a BSON MaxKey to the writer. - + Writes a BSON MinKey to the writer. - + + + Writes the name of an element to the writer. + + The name of the element. + + Writes a BSON null to the writer. - + Writes a BSON ObjectId to the writer. The ObjectId. - + + + Writes a raw BSON array. + + The byte buffer containing the raw BSON array. + + + + Writes a raw BSON document. + + The byte buffer containing the raw BSON document. + + Writes a BSON regular expression to the writer. A BsonRegularExpression. - + Writes the start of a BSON array to the writer. - + Writes the start of a BSON document to the writer. - + Writes a BSON String to the writer. The String value. - + Writes a BSON Symbol to the writer. The symbol. - + Writes a BSON timestamp to the writer. The combined timestamp/increment value. - + Writes a BSON undefined to the writer. - + Disposes of any resources used by the writer. True if called from Dispose. - - - Represents settings for a JsonWriter. - - - - - Initializes a new instance of the JsonWriterSettings class. - - - - - Gets or sets the default JsonWriterSettings. - - - - - Gets or sets the output Encoding. - - - - - Gets or sets whether to indent the output. - - - - - Gets or sets the indent characters. - - - - - Gets or sets the new line characters. - - - - - Gets or sets the output mode. - - - - - Gets or sets the shell version (used with OutputMode Shell). - - - + - Creates a clone of the settings. + Throws an InvalidOperationException when the method called is not valid for the current ContextType. - A clone of the settings. + The name of the method. + The actual ContextType. + The valid ContextTypes. - + - Creates a clone of the settings. + Throws an InvalidOperationException when the method called is not valid for the current state. - A clone of the settings. + The name of the method. + The valid states. - + - An IByteBuffer that is backed by multiple chunks. + Represents settings for a BsonBinaryWriter. - + - Initializes a new instance of the class. + Initializes a new instance of the BsonBinaryWriterSettings class. - The chunk pool. - chunkPool - + - Initializes a new instance of the class. + Gets or sets the default BsonBinaryWriter settings. - The chunks. - The length. - Whether the buffer is read only. - chunks - - - - + - Gets the chunk source. + Gets or sets the Encoding. - - The chunk source. - - - - - - - - - - - - - - - - - - - - - + + + Gets or sets whether to fix the old binary data subtype on output. + - - + + + Gets or sets the max document size. + - - + + + Creates a clone of the settings. + + A clone of the settings. - - + + + Creates a clone of the settings. + + A clone of the settings. - - + + + Represents the state of a BsonWriter. + - - + + + The initial state. + - + - Represents an element name validator that does no validation. + The writer is positioned to write a name. - + - Gets the instance. + The writer is positioned to write a value. - - The instance. - - + - Gets the validator to use for child content (a nested document or array). + The writer is positioned to write a scope document (call WriteStartDocument to start writing the scope document). - The name of the element. - The validator to use for child content. - + - Determines whether the element name is valid. + The writer is done. - The name of the element. - True if the element name is valid. - + - Represents a source of chunks optimized for output buffers. + The writer is closed. - + - Initializes a new instance of the class. + Represents a BSON writer to a BSON Stream. - The chunk source. - The size of the initial unpooled chunk. - The minimum size of a chunk. - The maximum size of a chunk. - + - Gets the base source. + Initializes a new instance of the BsonBinaryWriter class. - - The base source. - + A stream. The BsonBinaryWriter does not own the stream and will not Dispose it. - + - Gets the initial unpooled chunk size. + Initializes a new instance of the BsonBinaryWriter class. - - The initial unpooled chunk size. - + A stream. The BsonBinaryWriter does not own the stream and will not Dispose it. + The BsonBinaryWriter settings. - + - Gets the maximum size of a chunk. + Gets the base stream. - The maximum size of a chunk. + The base stream. - + - Gets the minimum size of a chunk. + Gets the BSON stream. - The minimum size of a chunk. + The BSON stream. - - - - - + + + Closes the writer. Also closes the base stream. + - + - An IByteBuffer that is backed by a single chunk. + Flushes any pending data to the output destination. - + - Initializes a new instance of the class. + Pops the max document size stack, restoring the previous max document size. - The chuns. - The length. - Whether the buffer is read only. - - + + + Pushes a new max document size onto the max document size stack. + + The maximum size of the document. - - + + + Writes BSON binary data to the writer. + + The binary data. - - + + + Writes a BSON Boolean to the writer. + + The Boolean value. - - + + + Writes BSON binary data to the writer. + + The bytes. - - + + + Writes a BSON DateTime to the writer. + + The number of milliseconds since the Unix epoch. - - + + - - + + + Writes a BSON Double to the writer. + + The Double value. - - + + + Writes the end of a BSON array to the writer. + - - + + + Writes the end of a BSON document to the writer. + - - + + + Writes a BSON Int32 to the writer. + + The Int32 value. - - + + + Writes a BSON Int64 to the writer. + + The Int64 value. - - + + + Writes a BSON JavaScript to the writer. + + The JavaScript code. - - + + + Writes a BSON JavaScript to the writer (call WriteStartDocument to start writing the scope). + + The JavaScript code. - + - Represents a Trie-based name decoder that also provides a value. + Writes a BSON MaxKey to the writer. - The type of the value. - + - Initializes a new instance of the class. + Writes a BSON MinKey to the writer. - The trie. - + - Gets a value indicating whether this is found. + Writes a BSON null to the writer. - - true if found; otherwise, false. - - + - Gets the value. + Writes a BSON ObjectId to the writer. - - The value. - + The ObjectId. - + - Reads the name. + Writes a raw BSON array. - The stream. - The encoding. - - The name. - + The byte buffer containing the raw BSON array. - + - Informs the decoder of an already decoded name (so the decoder can change state if necessary). + Writes a raw BSON document. - The name. + The byte buffer containing the raw BSON document. - + - Represents a singleton instance of a strict UTF8Encoding. + Writes a BSON regular expression to the writer. + A BsonRegularExpression. - + - Gets the lenient instance. + Writes the start of a BSON array to the writer. - + - Gets the strict instance. + Writes the start of a BSON document to the writer. - + - Represents a class that has some helper methods for decoding UTF8 strings. + Writes a BSON String to the writer. + The String value. - + - Decodes a UTF8 string. + Writes a BSON Symbol to the writer. - The bytes. - The index. - The count. - The encoding. - The decoded string. + The symbol. - + - Represents a UTF8 name decoder. + Writes a BSON timestamp to the writer. + The combined timestamp/increment value. - + - Gets the instance. + Writes a BSON undefined to the writer. - - The instance. - - + - Decodes the name. + Disposes of any resources used by the writer. - The stream. - The encoding. - - The name. - + True if called from Dispose. - + - Informs the decoder of an already decoded name (so the decoder can change state if necessary). + Creates a clone of the context. - The name. + A clone of the context. - + - An abstract base class for an IBsonWriter that wraps another IBsonWriter. + Represents a BSON Decimal128 value. - + - + - Initializes a new instance of the class. + Initializes a new instance of the class. - The wrapped writer. - - - - - - + The value. - + - + - + - Gets the wrapped writer. + Gets the value. - - The wrapped writer. - - - + + + Converts a Decimal128 to a BsonDecimal128. + + A Decimal128. + A BsonDecimal128. - - + + + Compares two BsonDecimal128 values. + + The first BsonDecimal128. + The other BsonDecimal128. + True if the two BsonDecimal128 values are not equal according to ==. - - + + + Compares two BsonDecimal128 values. + + The first BsonDecimal128. + The other BsonDecimal128. + True if the two BsonDecimal128 values are equal according to ==. - - + + + Creates a new instance of the BsonDecimal128 class. + + An object to be mapped to a BsonDecimal128. + A BsonDecimal128. - - + + + Compares this BsonDecimal128 to another BsonDecimal128. + + The other BsonDecimal128. + A 32-bit signed integer that indicates whether this BsonDecimal128 is less than, equal to, or greather than the other. - + - - + + + Compares this BsonDecimal128 to another BsonDecimal128. + + The other BsonDecimal128. + True if the two BsonDecimal128 values are equal. - + - + - + - + - + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + Represents a Decimal128 value. + - - + + + Gets the maximum value. + - + - Releases unmanaged and - optionally - managed resources. + Gets the minimum value. - true to release both managed and unmanaged resources; false to release only unmanaged resources. - + - Throws if disposed. + Represents negative infinity. - - + - Represents a BSON array. + Represents one. - + - Initializes a new instance of the BsonArray class. + Represents positive infinity. - + - Initializes a new instance of the BsonArray class. + Represents a value that is not a number. - A list of values to add to the array. - + - Initializes a new instance of the BsonArray class. + Represents a value that is not a number and raises errors when used in calculations. - A list of values to add to the array. - + - Initializes a new instance of the BsonArray class. + Represents zero. - A list of values to add to the array. - + - Initializes a new instance of the BsonArray class. + Implements the operator ==. - A list of values to add to the array. + The LHS. + The RHS. + + The result of the operator. + - + - Initializes a new instance of the BsonArray class. + Implements the operator !=. - A list of values to add to the array. + The LHS. + The RHS. + + The result of the operator. + - + - Initializes a new instance of the BsonArray class. + Returns a value indicating whether a specified Decimal128 is greater than another specified Decimal128. - A list of values to add to the array. + The first value. + The second value. + + true if x > y; otherwise, false. + - + - Initializes a new instance of the BsonArray class. + Returns a value indicating whether a specified Decimal128 is greater than or equal to another another specified Decimal128. - A list of values to add to the array. + The first value. + The second value. + + true if x >= y; otherwise, false. + - + - Initializes a new instance of the BsonArray class. + Returns a value indicating whether a specified Decimal128 is less than another specified Decimal128. - A list of values to add to the array. + The first value. + The second value. + + true if x < y; otherwise, false. + - + - Initializes a new instance of the BsonArray class. + Returns a value indicating whether a specified Decimal128 is less than or equal to another another specified Decimal128. - A list of values to add to the array. + The first value. + The second value. + + true if x <= y; otherwise, false. + - + - Initializes a new instance of the BsonArray class. + Performs an explicit conversion from to . - The initial capacity of the array. + The value to convert. + + The result of the conversion. + - + - Compares two BsonArray values. + Performs an explicit conversion from to . - The first BsonArray. - The other BsonArray. - True if the two BsonArray values are not equal according to ==. + The value to convert. + + The result of the conversion. + - + - Compares two BsonArray values. + Performs an explicit conversion from to . - The first BsonArray. - The other BsonArray. - True if the two BsonArray values are equal according to ==. + The value to convert. + + The result of the conversion. + - + - Gets the BsonType of this BsonValue. + Performs an implicit conversion from to . + The value. + + The result of the conversion. + - + - Gets or sets the total number of elements the internal data structure can hold without resizing. + Performs an implicit conversion from to . + The value. + + The result of the conversion. + - + - Gets the count of array elements. + Performs an explicit conversion from to . + The value. + + The result of the conversion. + - + - Gets whether the array is read-only. + Performs an explicit conversion from to . + The value. + + The result of the conversion. + - + - Gets the array elements as raw values (see BsonValue.RawValue). + Performs an implicit conversion from to . + The value. + + The result of the conversion. + - + - Gets the array elements. + Performs an implicit conversion from to . + The value. + + The result of the conversion. + - + - Gets or sets a value by position. + Performs an implicit conversion from to . - The position. - The value. + The value. + + The result of the conversion. + - + - Creates a new BsonArray. + Performs an implicit conversion from to . - A value to be mapped to a BsonArray. - A BsonArray or null. + The value. + + The result of the conversion. + - + - Adds an element to the array. + Performs an implicit conversion from to . - The value to add to the array. - The array (so method calls can be chained). + The value. + + The result of the conversion. + - + - Adds multiple elements to the array. + Performs an implicit conversion from to . - A list of values to add to the array. - The array (so method calls can be chained). + The value. + + The result of the conversion. + - + - Adds multiple elements to the array. + Performs an implicit conversion from to . - A list of values to add to the array. - The array (so method calls can be chained). + The value. + + The result of the conversion. + - + - Adds multiple elements to the array. + Performs an explicit conversion from to . - A list of values to add to the array. - The array (so method calls can be chained). + The value to convert. + + The result of the conversion. + - + - Adds multiple elements to the array. + Performs an explicit conversion from to . - A list of values to add to the array. - The array (so method calls can be chained). + The value to convert. + + The result of the conversion. + - + - Adds multiple elements to the array. + Performs an explicit conversion from to . - A list of values to add to the array. - The array (so method calls can be chained). + The value to convert. + + The result of the conversion. + - + - Adds multiple elements to the array. + Performs an explicit conversion from to . - A list of values to add to the array. - The array (so method calls can be chained). + The value to convert. + + The result of the conversion. + - + - Adds multiple elements to the array. + Performs an explicit conversion from to . - A list of values to add to the array. - The array (so method calls can be chained). + The value to convert. + + The result of the conversion. + - + - Adds multiple elements to the array. + Performs an explicit conversion from to . - A list of values to add to the array. - The array (so method calls can be chained). + The value to convert. + + The result of the conversion. + - + - Adds multiple elements to the array. + Performs an explicit conversion from to . - A list of values to add to the array. - The array (so method calls can be chained). + The value to convert. + + The result of the conversion. + - + - Creates a shallow clone of the array (see also DeepClone). + Performs an explicit conversion from to . - A shallow clone of the array. + The value to convert. + + The result of the conversion. + - + - Clears the array. + Performs an explicit conversion from to . + The value to convert. + + The result of the conversion. + - + - Compares the array to another array. + Compares two specified Decimal128 values and returns an integer that indicates whether the first value + is greater than, less than, or equal to the second value. - The other array. - A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other. + The first value. + The second value. + Less than zero if x < y, zero if x == y, and greater than zero if x > y. - + - Compares the array to another BsonValue. + Determines whether the specified Decimal128 instances are considered equal. - The other BsonValue. - A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other BsonValue. + The first Decimal128 object to compare. + The second Decimal128 object to compare. + True if the objects are considered equal; otherwise false. If both x and y are null, the method returns true. - + - Tests whether the array contains a value. + Creates a new Decimal128 value from its components. - The value to test for. - True if the array contains the value. + if set to true [is negative]. + The exponent. + The signficand high bits. + The significand low bits. + A Decimal128 value. - + - Copies elements from this array to another array. + Creates a new Decimal128 value from the IEEE encoding bits. - The other array. - The zero based index of the other array at which to start copying. + The high bits. + The low bits. + A Decimal128 value. - + - Copies elements from this array to another array as raw values (see BsonValue.RawValue). + Gets the exponent of a Decimal128 value. - The other array. - The zero based index of the other array at which to start copying. + The Decimal128 value. + The exponent. - + - Creates a deep clone of the array (see also Clone). + Gets the high bits of the significand of a Decimal128 value. - A deep clone of the array. + The Decimal128 value. + The high bits of the significand. - + - Compares this array to another array. + Gets the high bits of the significand of a Decimal128 value. - The other array. - True if the two arrays are equal. + The Decimal128 value. + The high bits of the significand. - + - Compares this BsonArray to another object. + Returns a value indicating whether the specified number evaluates to negative or positive infinity. - The other object. - True if the other object is a BsonArray and equal to this one. + A 128-bit decimal. + true if evaluates to negative or positive infinity; otherwise, false. - + - Gets an enumerator that can enumerate the elements of the array. + Returns a value indicating whether the specified number is not a number. - An enumerator. + A 128-bit decimal. + true if is not a number; otherwise, false. - + - Gets the hash code. + Returns a value indicating whether the specified number is negative. - The hash code. + A 128-bit decimal. + true if is negative; otherwise, false. - + - Gets the index of a value in the array. + Returns a value indicating whether the specified number evaluates to negative infinity. - The value to search for. - The zero based index of the value (or -1 if not found). + A 128-bit decimal. + true if evaluates to negative infinity; otherwise, false. - + - Gets the index of a value in the array. + Returns a value indicating whether the specified number evaluates to positive infinity. - The value to search for. - The zero based index at which to start the search. - The zero based index of the value (or -1 if not found). + A 128-bit decimal. + true if evaluates to positive infinity; otherwise, false. - + - Gets the index of a value in the array. + Returns a value indicating whether the specified number is a quiet not a number. - The value to search for. - The zero based index at which to start the search. - The number of elements to search. - The zero based index of the value (or -1 if not found). + A 128-bit decimal. + true if is a quiet not a number; otherwise, false. - + - Inserts a new value into the array. + Returns a value indicating whether the specified number is a signaled not a number. - The zero based index at which to insert the new value. - The new value. + A 128-bit decimal. + true if is a signaled not a number; otherwise, false. - + - Removes the first occurrence of a value from the array. + Returns a value indicating whether the specified number is zero. - The value to remove. - True if the value was removed. + A 128-bit decimal. + + true if the specified number is zero; otherwise, false. + - + - Removes an element from the array. + Negates the specified x. - The zero based index of the element to remove. + The x. + The result of multiplying the value by negative one. - + - Converts the BsonArray to an array of BsonValues. + Converts the string representation of a number to its equivalent. - An array of BsonValues. + The string representation of the number to convert. + + The equivalent to the number contained in . + - + - Converts the BsonArray to a list of BsonValues. + Converts the value of the specified to the equivalent 8-bit unsigned integer. - A list of BsonValues. + The number to convert. + A 8-bit unsigned integer equivalent to . - + - Returns a string representation of the array. + Converts the value of the specified to the equivalent . - A string representation of the array. + The number to convert. + A equivalent to . - + - Represents BSON binary data. + Converts the value of the specified to the equivalent . + The number to convert. + A equivalent to . - + - Initializes a new instance of the BsonBinaryData class. + Converts the value of the specified to the equivalent 16-bit signed integer. - The binary data. + The number to convert. + A 16-bit signed integer equivalent to . - + - Initializes a new instance of the BsonBinaryData class. + Converts the value of the specified to the equivalent 32-bit signed integer. - The binary data. - The binary data subtype. + The number to convert. + A 32-bit signed integer equivalent to . - + - Initializes a new instance of the BsonBinaryData class. + Converts the value of the specified to the equivalent 64-bit signed integer. - The binary data. - The binary data subtype. - The representation for Guids. + The number to convert. + A 64-bit signed integer equivalent to . - + - Initializes a new instance of the BsonBinaryData class. + Converts the value of the specified to the equivalent 8-bit signed integer. - A Guid. + The number to convert. + A 8-bit signed integer equivalent to . - + - Initializes a new instance of the BsonBinaryData class. + Converts the value of the specified to the equivalent . - A Guid. - The representation for Guids. + The number to convert. + A equivalent to . - + - Gets the BsonType of this BsonValue. + Converts the value of the specified to the equivalent 16-bit unsigned integer. + The number to convert. + A 16-bit unsigned integer equivalent to . - + - Gets the binary data. + Converts the value of the specified to the equivalent 32-bit unsigned integer. + The number to convert. + A 32-bit unsigned integer equivalent to . - + - Gets the representation to use when representing the Guid as BSON binary data. + Converts the value of the specified to the equivalent 64-bit unsigned integer. + The number to convert. + A 64-bit unsigned integer equivalent to . - + - Gets the BsonBinaryData as a Guid if the subtype is UuidStandard or UuidLegacy, otherwise null. + Converts the string representation of a number to its equivalent. A return value indicates whether the conversion succeeded or failed. + The string representation of the number to convert. + When this method returns, contains the number that is equivalent to the numeric value contained in , if the conversion succeeded, or is zero if the conversion failed. The conversion fails if the parameter is null, is not a number in a valid format, or represents a number less than the min value or greater than the max value. This parameter is passed uninitialized. + + true if was converted successfully; otherwise, false. + - + - Gets the binary data subtype. + Initializes a new instance of the struct. + The value. - + - Converts a byte array to a BsonBinaryData. + Initializes a new instance of the struct. - A byte array. - A BsonBinaryData. + The value. - + - Converts a Guid to a BsonBinaryData. + Initializes a new instance of the struct. - A Guid. - A BsonBinaryData. + The value. - + - Compares two BsonBinaryData values. + Initializes a new instance of the struct. - The first BsonBinaryData. - The other BsonBinaryData. - True if the two BsonBinaryData values are not equal according to ==. + The value. - + - Compares two BsonBinaryData values. + Initializes a new instance of the struct. - The first BsonBinaryData. - The other BsonBinaryData. - True if the two BsonBinaryData values are equal according to ==. + The value. - + - Creates a new BsonBinaryData. + Initializes a new instance of the struct. - An object to be mapped to a BsonBinaryData. - A BsonBinaryData or null. + The value. - + - Compares this BsonBinaryData to another BsonBinaryData. + Initializes a new instance of the struct. - The other BsonBinaryData. - A 32-bit signed integer that indicates whether this BsonBinaryData is less than, equal to, or greather than the other. + The value. + + + + + + + + + - + + + + - Compares the BsonBinaryData to another BsonValue. + Gets the high order 64 bits of the binary representation of this instance. - The other BsonValue. - A 32-bit signed integer that indicates whether this BsonBinaryData is less than, equal to, or greather than the other BsonValue. + The high order 64 bits of the binary representation of this instance. - + - Compares this BsonBinaryData to another BsonBinaryData. + Gets the low order 64 bits of the binary representation of this instance. - The other BsonBinaryData. - True if the two BsonBinaryData values are equal. + The low order 64 bits of the binary representation of this instance. - + + + + - Compares this BsonBinaryData to another object. + Represents the representation to use when converting a Guid to a BSON binary value. - The other object. - True if the other object is a BsonBinaryData and equal to this one. - + - Gets the hash code. + The representation for Guids is unspecified, so conversion between Guids and Bson binary data is not possible. - The hash code. - + - Converts this BsonBinaryData to a Guid. + Use the new standard representation for Guids (binary subtype 4 with bytes in network byte order). - A Guid. - + - Converts this BsonBinaryData to a Guid. + Use the representation used by older versions of the C# driver (including most community provided C# drivers). - The representation for Guids. - A Guid. - + - Returns a string representation of the binary data. + Use the representation used by older versions of the Java driver. - A string representation of the binary data. - + - Represents the binary data subtype of a BsonBinaryData. + Use the representation used by older versions of the Python driver. - + - Binary data. + A static class containing methods to convert to and from Guids and byte arrays in various byte orders. - + - A function. + Converts a byte array to a Guid. + The byte array. + The representation of the Guid in the byte array. + A Guid. - + - Obsolete binary data subtype (use Binary instead). + Converts a Guid to a byte array. + The Guid. + The representation of the Guid in the byte array. + A byte array. - + - A UUID in a driver dependent legacy byte order. + An interface for custom mappers that map an object to a BsonValue. - + - A UUID in standard network byte order. + Tries to map an object to a BsonValue. + An object. + The BsonValue. + True if the mapping was successfull. - + - An MD5 hash. + Represents how duplicate names should be handled. - + - User defined binary data. + Overwrite original value with new value. - + - Represents a BSON boolean value. + Ignore duplicate name and keep original value. - + - Initializes a new instance of the BsonBoolean class. + Throw an exception. - The value. - + - Gets the instance of BsonBoolean that represents false. + Represents options used by the BsonTypeMapper. - + - Gets the instance of BsonBoolean that represents true. + Initializes a new instance of the BsonTypeMapperOptions class. - + - Gets the BsonType of this BsonValue. + Gets or sets the default BsonTypeMapperOptions. - + - Gets the BsonBoolean as a bool. + Gets or sets how duplicate names should be handled. - + - Gets the value of this BsonBoolean. + Gets whether the BsonTypeMapperOptions is frozen. - + - Converts a bool to a BsonBoolean. + Gets or sets the type that a BsonArray should be mapped to. - A bool. - A BsonBoolean. - + - Compares two BsonBoolean values. + Gets or sets the type that a BsonDocument should be mapped to. - The first BsonBoolean. - The other BsonBoolean. - True if the two BsonBoolean values are not equal according to ==. - + - Compares two BsonBoolean values. + Gets or sets whether binary sub type OldBinary should be mapped to byte[] the way sub type Binary is. - The first BsonBoolean. - The other BsonBoolean. - True if the two BsonBoolean values are equal according to ==. - + - Returns one of the two possible BsonBoolean values. + Clones the BsonTypeMapperOptions. - An object to be mapped to a BsonBoolean. - A BsonBoolean or null. + The cloned BsonTypeMapperOptions. - + - Compares this BsonBoolean to another BsonBoolean. + Freezes the BsonTypeMapperOptions. - The other BsonBoolean. - A 32-bit signed integer that indicates whether this BsonBoolean is less than, equal to, or greather than the other. + The frozen BsonTypeMapperOptions. - + - Compares the BsonBoolean to another BsonValue. + Represents a BSON array that is deserialized lazily. - The other BsonValue. - A 32-bit signed integer that indicates whether this BsonBoolean is less than, equal to, or greather than the other BsonValue. - + - Compares this BsonBoolean to another BsonBoolean. + Initializes a new instance of the class. - The other BsonBoolean. - True if the two BsonBoolean values are equal. + The slice. + slice + LazyBsonArray cannot be used with an IByteBuffer that needs disposing. - + - Compares this BsonBoolean to another object. + Gets the slice. - The other object. - True if the other object is a BsonBoolean and equal to this one. + + The slice. + - + - Gets the hash code. + Creates a shallow clone of the array (see also DeepClone). - The hash code. + A shallow clone of the array. - + - Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + Creates a deep clone of the array (see also Clone). - A Boolean. + A deep clone of the array. - + - Returns a string representation of the value. + Releases unmanaged and - optionally - managed resources. - A string representation of the value. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + true to release both managed and unmanaged resources; false to release only unmanaged resources. - + - Represents a BSON DateTime value. + Materializes the BsonArray. + + The materialized values. + - + - Initializes a new instance of the BsonDateTime class. + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. - A DateTime. - + - Initializes a new instance of the BsonDateTime class. + Represents a BSON document that is deserialized lazily. - Milliseconds since Unix Epoch. - + - Gets the BsonType of this BsonValue. + Initializes a new instance of the class. + The slice. + slice + LazyBsonDocument cannot be used with an IByteBuffer that needs disposing. - + - Gets whether this BsonDateTime is a valid .NET DateTime. + Initializes a new instance of the class. + The bytes. - + - Gets the number of milliseconds since the Unix Epoch. + Gets the slice. + + The slice. + - + - Gets the number of milliseconds since the Unix Epoch. + Creates a shallow clone of the document (see also DeepClone). + + A shallow clone of the document. + - + - Gets the DateTime value. + Creates a deep clone of the document (see also Clone). + + A deep clone of the document. + - + - Converts a DateTime to a BsonDateTime. + Releases unmanaged and - optionally - managed resources. - A DateTime. - A BsonDateTime. + true to release both managed and unmanaged resources; false to release only unmanaged resources. - + - Compares two BsonDateTime values. + Materializes the BsonDocument. - The first BsonDateTime. - The other BsonDateTime. - True if the two BsonDateTime values are not equal according to ==. + The materialized elements. - + - Compares two BsonDateTime values. + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. - The first BsonDateTime. - The other BsonDateTime. - True if the two BsonDateTime values are equal according to ==. - + - Creates a new BsonDateTime. + Represents a BSON array that is not materialized until you start using it. - An object to be mapped to a BsonDateTime. - A BsonDateTime or null. - + - Compares this BsonDateTime to another BsonDateTime. + Initializes a new instance of the class. - The other BsonDateTime. - A 32-bit signed integer that indicates whether this BsonDateTime is less than, equal to, or greather than the other. - + - Compares the BsonDateTime to another BsonValue. + Gets or sets the total number of elements the internal data structure can hold without resizing. - The other BsonValue. - A 32-bit signed integer that indicates whether this BsonDateTime is less than, equal to, or greather than the other BsonValue. - + - Compares this BsonDateTime to another BsonDateTime. + Gets the count of array elements. - The other BsonDateTime. - True if the two BsonDateTime values are equal. - + - Compares this BsonDateTime to another object. + Gets a value indicating whether this instance is disposed. - The other object. - True if the other object is a BsonDateTime and equal to this one. + + true if this instance is disposed; otherwise, false. + - + - Gets the hash code. + Gets a value indicating whether this instance is materialized. - The hash code. + + true if this instance is materialized; otherwise, false. + - + - Converts this BsonValue to a DateTime in local time. + Gets the array elements as raw values (see BsonValue.RawValue). - A DateTime. - + - Converts this BsonValue to a DateTime? in local time. + Gets the array elements. - A DateTime?. - + - Converts this BsonValue to a DateTime? in UTC. + Gets or sets a value by position. - A DateTime?. + The position. + The value. - + - Converts this BsonValue to a DateTime in UTC. + Adds an element to the array. - A DateTime. + The value to add to the array. + The array (so method calls can be chained). - + - Returns a string representation of the value. + Adds multiple elements to the array. - A string representation of the value. - - - - - - + A list of values to add to the array. + The array (so method calls can be chained). - + - Represents a BSON Decimal128 value. + Adds multiple elements to the array. - + A list of values to add to the array. + The array (so method calls can be chained). - + - Initializes a new instance of the class. + Adds multiple elements to the array. - The value. - - - - - - + A list of values to add to the array. + The array (so method calls can be chained). - + - Gets the value. + Adds multiple elements to the array. + A list of values to add to the array. + The array (so method calls can be chained). - + - Converts a Decimal128 to a BsonDecimal128. + Adds multiple elements to the array. - A Decimal128. - A BsonDecimal128. + A list of values to add to the array. + The array (so method calls can be chained). - + - Compares two BsonDecimal128 values. + Adds multiple elements to the array. - The first BsonDecimal128. - The other BsonDecimal128. - True if the two BsonDecimal128 values are not equal according to ==. + A list of values to add to the array. + The array (so method calls can be chained). - + - Compares two BsonDecimal128 values. + Adds multiple elements to the array. - The first BsonDecimal128. - The other BsonDecimal128. - True if the two BsonDecimal128 values are equal according to ==. + A list of values to add to the array. + The array (so method calls can be chained). - + - Creates a new instance of the BsonDecimal128 class. + Adds multiple elements to the array. - An object to be mapped to a BsonDecimal128. - A BsonDecimal128. + A list of values to add to the array. + The array (so method calls can be chained). - + - Compares this BsonDecimal128 to another BsonDecimal128. + Adds multiple elements to the array. - The other BsonDecimal128. - A 32-bit signed integer that indicates whether this BsonDecimal128 is less than, equal to, or greather than the other. - - - + A list of values to add to the array. + The array (so method calls can be chained). - + - Compares this BsonDecimal128 to another BsonDecimal128. + Clears the array. - The other BsonDecimal128. - True if the two BsonDecimal128 values are equal. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + Creates a shallow clone of the array (see also DeepClone). + + + A shallow clone of the array. + - - + + + Compares the array to another array. + + The other array. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other. - - + + + Compares the array to another BsonValue. + + The other BsonValue. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other BsonValue. - - + + + Tests whether the array contains a value. + + The value to test for. + True if the array contains the value. - - + + + Copies elements from this array to another array. + + The other array. + The zero based index of the other array at which to start copying. - - + + + Copies elements from this array to another array as raw values (see BsonValue.RawValue). + + The other array. + The zero based index of the other array at which to start copying. - - + + + Creates a deep clone of the array (see also Clone). + + + A deep clone of the array. + - - + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + - - + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + - + - Represents a BSON document. + Gets an enumerator that can enumerate the elements of the array. + An enumerator. - + - Initializes a new instance of the BsonDocument class. + Gets the hash code. + The hash code. - + - Initializes a new instance of the BsonDocument class specifying whether duplicate element names are allowed - (allowing duplicate element names is not recommended). + Gets the index of a value in the array. - Whether duplicate element names are allowed. + The value to search for. + The zero based index of the value (or -1 if not found). - + - Initializes a new instance of the BsonDocument class and adds one element. + Gets the index of a value in the array. - An element to add to the document. + The value to search for. + The zero based index at which to start the search. + The zero based index of the value (or -1 if not found). - + - Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + Gets the index of a value in the array. - A dictionary to initialize the document from. + The value to search for. + The zero based index at which to start the search. + The number of elements to search. + The zero based index of the value (or -1 if not found). - + - Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + Inserts a new value into the array. - A dictionary to initialize the document from. - A list of keys to select values from the dictionary. + The zero based index at which to insert the new value. + The new value. - + - Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + Removes the first occurrence of a value from the array. - A dictionary to initialize the document from. + The value to remove. + True if the value was removed. - + - Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + Removes an element from the array. - A dictionary to initialize the document from. - A list of keys to select values from the dictionary. + The zero based index of the element to remove. - + - Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + Converts the BsonArray to an array of BsonValues. - A dictionary to initialize the document from. + An array of BsonValues. - + - Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + Converts the BsonArray to a list of BsonValues. - A dictionary to initialize the document from. - A list of keys to select values from the dictionary. + A list of BsonValues. - + - Initializes a new instance of the BsonDocument class and adds new elements from a list of elements. + Returns a string representation of the array. - A list of elements to add to the document. + A string representation of the array. - + - Initializes a new instance of the BsonDocument class and adds one or more elements. + Releases unmanaged and - optionally - managed resources. - One or more elements to add to the document. + true to release both managed and unmanaged resources; false to release only unmanaged resources. - + - Initializes a new instance of the BsonDocument class and creates and adds a new element. + Materializes the BsonArray. - The name of the element to add to the document. - The value of the element to add to the document. + The materialized elements. - + - Compares two BsonDocument values. + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. - The first BsonDocument. - The other BsonDocument. - True if the two BsonDocument values are not equal according to ==. - + - Compares two BsonDocument values. + Throws if disposed. - The first BsonDocument. - The other BsonDocument. - True if the two BsonDocument values are equal according to ==. + - + - Gets or sets whether to allow duplicate names (allowing duplicate names is not recommended). + Represents a BSON document that is not materialized until you start using it. - + - Gets the BsonType of this BsonValue. + Initializes a new instance of the class. - + Gets the number of elements. - + Gets the elements. - + + + Gets a value indicating whether this instance is disposed. + + + true if this instance is disposed; otherwise, false. + + + + + Gets a value indicating whether this instance is materialized. + + + true if this instance is materialized; otherwise, false. + + + Gets the element names. - + Gets the raw values (see BsonValue.RawValue). - + Gets the values. - + Gets or sets a value by position. The position. The value. - + Gets the value of an element or a default value if the element is not found. @@ -6618,50 +6433,30 @@ The default value to return if the element is not found. Teh value of the element or a default value if the element is not found. - + Gets or sets a value by name. The name. The value. - - - Creates a new BsonDocument by mapping an object to a BsonDocument. - - The object to be mapped to a BsonDocument. - A BsonDocument. - - - - Parses a JSON string and returns a BsonDocument. - - The JSON string. - A BsonDocument. - - - - Tries to parse a JSON string and returns a value indicating whether it succeeded or failed. - - The JSON string. - The result. - Whether it succeeded or failed. - - + Adds an element to the document. The element to add. - The document (so method calls can be chained). + + The document (so method calls can be chained). + - + Adds elements to the document from a dictionary of key/value pairs. The dictionary. The document (so method calls can be chained). - + Adds elements to the document from a dictionary of key/value pairs. @@ -6669,14 +6464,14 @@ Which keys of the hash table to add. The document (so method calls can be chained). - + Adds elements to the document from a dictionary of key/value pairs. The dictionary. The document (so method calls can be chained). - + Adds elements to the document from a dictionary of key/value pairs. @@ -6684,14 +6479,14 @@ Which keys of the hash table to add. The document (so method calls can be chained). - + Adds elements to the document from a dictionary of key/value pairs. The dictionary. The document (so method calls can be chained). - + Adds elements to the document from a dictionary of key/value pairs. @@ -6699,29 +6494,31 @@ Which keys of the hash table to add. The document (so method calls can be chained). - + Adds a list of elements to the document. The list of elements. The document (so method calls can be chained). - + Adds a list of elements to the document. The list of elements. The document (so method calls can be chained). - + Creates and adds an element to the document. The name of the element. The value of the element. - The document (so method calls can be chained). + + The document (so method calls can be chained). + - + Creates and adds an element to the document, but only if the condition is true. @@ -6730,7 +6527,7 @@ Whether to add the element to the document. The document (so method calls can be chained). - + Creates and adds an element to the document, but only if the condition is true. If the condition is false the value factory is not called at all. @@ -6740,8927 +6537,8922 @@ Whether to add the element to the document. The document (so method calls can be chained). - + Adds elements to the document from a dictionary of key/value pairs. The dictionary. - The document (so method calls can be chained). + + The document (so method calls can be chained). + - + Adds elements to the document from a dictionary of key/value pairs. The dictionary. - The document (so method calls can be chained). + + The document (so method calls can be chained). + - + Adds a list of elements to the document. The list of elements. - The document (so method calls can be chained). + + The document (so method calls can be chained). + - + Adds elements to the document from a dictionary of key/value pairs. The dictionary. - The document (so method calls can be chained). + + The document (so method calls can be chained). + - + Clears the document (removes all elements). - + Creates a shallow clone of the document (see also DeepClone). - A shallow clone of the document. + + A shallow clone of the document. + - + Compares this document to another document. - The other document. - A 32-bit signed integer that indicates whether this document is less than, equal to, or greather than the other. + The other document. + + A 32-bit signed integer that indicates whether this document is less than, equal to, or greather than the other. + - + Compares the BsonDocument to another BsonValue. The other BsonValue. A 32-bit signed integer that indicates whether this BsonDocument is less than, equal to, or greather than the other BsonValue. - + Tests whether the document contains an element with the specified name. The name of the element to look for. - True if the document contains an element with the specified name. + + True if the document contains an element with the specified name. + - + Tests whether the document contains an element with the specified value. The value of the element to look for. - True if the document contains an element with the specified value. + + True if the document contains an element with the specified value. + - + Creates a deep clone of the document (see also Clone). - A deep clone of the document. + + A deep clone of the document. + - + - Compares this document to another document. + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - The other document. - True if the two documents are equal. - + - Compares this BsonDocument to another object. + Determines whether the specified , is equal to this instance. - The other object. - True if the other object is a BsonDocument and equal to this one. + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + - + Gets an element of this document. The zero based index of the element. - The element. + + The element. + - + Gets an element of this document. The name of the element. - A BsonElement. + + A BsonElement. + - + Gets an enumerator that can be used to enumerate the elements of this document. - An enumerator. + + An enumerator. + - + - Gets the hash code. + Returns a hash code for this instance. - The hash code. + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + - + Gets the value of an element. The zero based index of the element. - The value of the element. + + The value of the element. + - + Gets the value of an element. The name of the element. - The value of the element. + + The value of the element. + - + Gets the value of an element or a default value if the element is not found. The name of the element. The default value returned if the element is not found. - The value of the element or the default value if the element is not found. - - - - Gets the index of an element. - - The name of the element. - The index of the element, or -1 if the element is not found. + + The value of the element or the default value if the element is not found. + - + Inserts a new element at a specified position. The position of the new element. The element. - + Merges another document into this one. Existing elements are not overwritten. The other document. - The document (so method calls can be chained). + + The document (so method calls can be chained). + - + Merges another document into this one, specifying whether existing elements are overwritten. The other document. Whether to overwrite existing elements. - The document (so method calls can be chained). + + The document (so method calls can be chained). + - + Removes an element from this document (if duplicate element names are allowed then all elements with this name will be removed). The name of the element to remove. - + Removes an element from this document. The zero based index of the element to remove. - + Removes an element from this document. The element to remove. - + Sets the value of an element. The zero based index of the element whose value is to be set. The new value. - The document (so method calls can be chained). + + The document (so method calls can be chained). + - + Sets the value of an element (an element will be added if no element with this name is found). The name of the element whose value is to be set. The new value. - The document (so method calls can be chained). - - - - Sets an element of the document (replacing the existing element at that position). - - The zero based index of the element to replace. - The new element. - The document. - - - - Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). - - The new element. - The document. - - - - Converts the BsonDocument to a Dictionary<string, object>. - - A dictionary. - - - - Converts the BsonDocument to a Hashtable. - - A hashtable. - - - - Returns a string representation of the document. - - A string representation of the document. - - - - Tries to get an element of this document. - - The name of the element. - The element. - True if an element with that name was found. - - - - Tries to get the value of an element of this document. - - The name of the element. - The value of the element. - True if an element with that name was found. - - - - Represents a BsonDocument wrapper. - - - - - Initializes a new instance of the class. - - The value. - - - - Initializes a new instance of the class. - - The value. - The serializer. - - - - Gets the serializer. - - - The serializer. - - - - - Gets the wrapped value. - - - - - Creates a new instance of the BsonDocumentWrapper class. - - The nominal type of the wrapped object. - The wrapped object. - A BsonDocumentWrapper. + + The document (so method calls can be chained). + - + - Creates a new instance of the BsonDocumentWrapper class. + Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). - The nominal type of the wrapped object. - The wrapped object. - A BsonDocumentWrapper. + The new element. + + The document. + - + - Creates a list of new instances of the BsonDocumentWrapper class. + Sets an element of the document (replacing the existing element at that position). - The nominal type of the wrapped objects. - A list of wrapped objects. - A list of BsonDocumentWrappers. + The zero based index of the element to replace. + The new element. + + The document. + - + - Creates a list of new instances of the BsonDocumentWrapper class. + Tries to get an element of this document. - The nominal type of the wrapped object. - A list of wrapped objects. - A list of BsonDocumentWrappers. + The name of the element. + The element. + + True if an element with that name was found. + - + - Creates a shallow clone of the document (see also DeepClone). + Tries to get the value of an element of this document. + The name of the element. + The value of the element. - A shallow clone of the document. + True if an element with that name was found. - + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + Materializes the BsonDocument. The materialized elements. - + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. - + - Represents a BSON double value. + Throws if disposed. - + - + - Initializes a new instance of the BsonDouble class. + Represents an immutable BSON array that is represented using only the raw bytes. - The value. - - - - - - - + - Gets the value of this BsonDouble. + Initializes a new instance of the class. + The slice. + slice + RawBsonArray cannot be used with an IByteBuffer that needs disposing. - + - Converts a double to a BsonDouble. + Gets or sets the total number of elements the internal data structure can hold without resizing. - A double. - A BsonDouble. - + - Compares two BsonDouble values. + Gets the count of array elements. - The first BsonDouble. - The other BsonDouble. - True if the two BsonDouble values are not equal according to ==. - + - Compares two BsonDouble values. + Gets whether the array is read-only. - The first BsonDouble. - The other BsonDouble. - True if the two BsonDouble values are equal according to ==. - + - Creates a new instance of the BsonDouble class. + Gets the array elements as raw values (see BsonValue.RawValue). - An object to be mapped to a BsonDouble. - A BsonDouble. - + - Compares this BsonDouble to another BsonDouble. + Gets the slice. - The other BsonDouble. - A 32-bit signed integer that indicates whether this BsonDouble is less than, equal to, or greather than the other. - - - + + The slice. + - + - Compares this BsonDouble to another BsonDouble. + Gets the array elements. - The other BsonDouble. - True if the two BsonDouble values are equal. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + Gets or sets a value by position. + + The position. + The value. - - + + + Adds an element to the array. + + The value to add to the array. + The array (so method calls can be chained). - - + + + Adds multiple elements to the array. + + A list of values to add to the array. + The array (so method calls can be chained). - + - Represents a BSON element. + Adds multiple elements to the array. + A list of values to add to the array. + The array (so method calls can be chained). - + - Initializes a new instance of the BsonElement class. + Adds multiple elements to the array. - The name of the element. - The value of the element. + A list of values to add to the array. + The array (so method calls can be chained). - + - Gets the name of the element. + Adds multiple elements to the array. + A list of values to add to the array. + The array (so method calls can be chained). - + - Gets or sets the value of the element. + Adds multiple elements to the array. + A list of values to add to the array. + The array (so method calls can be chained). - + - Compares two BsonElements. + Adds multiple elements to the array. - The first BsonElement. - The other BsonElement. - True if the two BsonElements are equal (or both null). + A list of values to add to the array. + The array (so method calls can be chained). - + - Compares two BsonElements. + Adds multiple elements to the array. - The first BsonElement. - The other BsonElement. - True if the two BsonElements are not equal (or one is null and the other is not). + A list of values to add to the array. + The array (so method calls can be chained). - + - Creates a shallow clone of the element (see also DeepClone). + Adds multiple elements to the array. - A shallow clone of the element. + A list of values to add to the array. + The array (so method calls can be chained). - + - Creates a deep clone of the element (see also Clone). + Adds multiple elements to the array. - A deep clone of the element. + A list of values to add to the array. + The array (so method calls can be chained). - + - Compares this BsonElement to another BsonElement. + Creates a shallow clone of the array (see also DeepClone). - The other BsonElement. - A 32-bit signed integer that indicates whether this BsonElement is less than, equal to, or greather than the other. + A shallow clone of the array. - + - Compares this BsonElement to another BsonElement. + Clears the array. - The other BsonElement. - True if the two BsonElement values are equal. - + - Compares this BsonElement to another object. + Tests whether the array contains a value. - The other object. - True if the other object is a BsonElement and equal to this one. + The value to test for. + True if the array contains the value. - + - Gets the hash code. + Copies elements from this array to another array. - The hash code. + The other array. + The zero based index of the other array at which to start copying. - + - Returns a string representation of the value. + Copies elements from this array to another array as raw values (see BsonValue.RawValue). - A string representation of the value. + The other array. + The zero based index of the other array at which to start copying. - + - Represents a BSON int value. + Creates a deep clone of the array (see also Clone). + A deep clone of the array. - + - Creates a new instance of the BsonInt32 class. + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - The value. - + - Gets an instance of BsonInt32 that represents -1. + Gets an enumerator that can enumerate the elements of the array. + An enumerator. - + - Gets an instance of BsonInt32 that represents -0. + Gets the index of a value in the array. + The value to search for. + The zero based index of the value (or -1 if not found). - + - Gets an instance of BsonInt32 that represents 1. + Gets the index of a value in the array. + The value to search for. + The zero based index at which to start the search. + The zero based index of the value (or -1 if not found). - + - Gets an instance of BsonInt32 that represents 2. + Gets the index of a value in the array. + The value to search for. + The zero based index at which to start the search. + The number of elements to search. + The zero based index of the value (or -1 if not found). - + - Gets an instance of BsonInt32 that represents 3. + Inserts a new value into the array. + The zero based index at which to insert the new value. + The new value. - + - Gets the BsonType of this BsonValue. + Removes the first occurrence of a value from the array. + The value to remove. + True if the value was removed. - + - Gets the BsonInt32 as an int. + Removes an element from the array. + The zero based index of the element to remove. - + - Gets the value of this BsonInt32. + Converts the BsonArray to an array of BsonValues. + An array of BsonValues. - + - Converts an int to a BsonInt32. + Converts the BsonArray to a list of BsonValues. - An int. - A BsonInt32. + A list of BsonValues. - + - Compares two BsonInt32 values. + Returns a string representation of the array. - The first BsonInt32. - The other BsonInt32. - True if the two BsonInt32 values are not equal according to ==. + A string representation of the array. - + - Compares two BsonInt32 values. + Releases unmanaged and - optionally - managed resources. - The first BsonInt32. - The other BsonInt32. - True if the two BsonInt32 values are equal according to ==. + true to release both managed and unmanaged resources; false to release only unmanaged resources. - + - Creates a new BsonInt32. + Throws if disposed. - An object to be mapped to a BsonInt32. - A BsonInt32 or null. + - + - Compares this BsonInt32 to another BsonInt32. + Represents an immutable BSON document that is represented using only the raw bytes. - The other BsonInt32. - A 32-bit signed integer that indicates whether this BsonInt32 is less than, equal to, or greather than the other. - + - Compares the BsonInt32 to another BsonValue. + Initializes a new instance of the class. - The other BsonValue. - A 32-bit signed integer that indicates whether this BsonInt32 is less than, equal to, or greather than the other BsonValue. + The slice. + slice + RawBsonDocument cannot be used with an IByteBuffer that needs disposing. - + - Compares this BsonInt32 to another BsonInt32. + Initializes a new instance of the class. - The other BsonInt32. - True if the two BsonInt32 values are equal. + The bytes. - + - Compares this BsonInt32 to another object. + Gets the number of elements. - The other object. - True if the other object is a BsonInt32 and equal to this one. - + - Gets the hash code. + Gets the elements. - The hash code. - + - Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + Gets the element names. - A Boolean. - - - - - - - + - Converts this BsonValue to a Double. + Gets the raw values (see BsonValue.RawValue). - A Double. - + - Converts this BsonValue to an Int32. + Gets the slice. - An Int32. + + The slice. + - + - Converts this BsonValue to an Int64. + Gets the values. - An Int32. - + - Returns a string representation of the value. + Gets or sets a value by position. - A string representation of the value. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + The position. + The value. - - + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value to return if the element is not found. + Teh value of the element or a default value if the element is not found. - + - Compares this BsonInt32 against another BsonValue. + Gets or sets a value by name. - The other BsonValue. - True if this BsonInt32 and the other BsonValue are equal according to ==. + The name. + The value. - + - Represents a BSON long value. + Adds an element to the document. + The element to add. + + The document (so method calls can be chained). + - + - Initializes a new instance of the BsonInt64 class. + Adds elements to the document from a dictionary of key/value pairs. - The value. + The dictionary. + The document (so method calls can be chained). - + - Gets the BsonType of this BsonValue. + Adds elements to the document from a dictionary of key/value pairs. + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). - + - Gets the BsonInt64 as a long. + Adds elements to the document from a dictionary of key/value pairs. + The dictionary. + The document (so method calls can be chained). - + - Gets the value of this BsonInt64. + Adds elements to the document from a dictionary of key/value pairs. + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). - + - Converts a long to a BsonInt64. + Adds elements to the document from a dictionary of key/value pairs. - A long. - A BsonInt64. + The dictionary. + The document (so method calls can be chained). - + - Compares two BsonInt64 values. + Adds elements to the document from a dictionary of key/value pairs. - The first BsonInt64. - The other BsonInt64. - True if the two BsonInt64 values are not equal according to ==. + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). - + - Compares two BsonInt64 values. + Adds a list of elements to the document. - The first BsonInt64. - The other BsonInt64. - True if the two BsonInt64 values are equal according to ==. + The list of elements. + The document (so method calls can be chained). - + - Creates a new BsonInt64. + Adds a list of elements to the document. - An object to be mapped to a BsonInt64. - A BsonInt64 or null. + The list of elements. + The document (so method calls can be chained). - + - Compares this BsonInt64 to another BsonInt64. + Creates and adds an element to the document. - The other BsonInt64. - A 32-bit signed integer that indicates whether this BsonInt64 is less than, equal to, or greather than the other. + The name of the element. + The value of the element. + + The document (so method calls can be chained). + - + - Compares the BsonInt64 to another BsonValue. + Creates and adds an element to the document, but only if the condition is true. - The other BsonValue. - A 32-bit signed integer that indicates whether this BsonInt64 is less than, equal to, or greather than the other BsonValue. + The name of the element. + The value of the element. + Whether to add the element to the document. + The document (so method calls can be chained). - + - Compares this BsonInt64 to another BsonInt64. + Adds elements to the document from a dictionary of key/value pairs. - The other BsonInt64. - True if the two BsonInt64 values are equal. + The dictionary. + + The document (so method calls can be chained). + - + - Compares this BsonInt64 to another object. + Adds elements to the document from a dictionary of key/value pairs. - The other object. - True if the other object is a BsonInt64 and equal to this one. + The dictionary. + + The document (so method calls can be chained). + - + - Gets the hash code. + Adds a list of elements to the document. - The hash code. + The list of elements. + + The document (so method calls can be chained). + - + - Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + Adds elements to the document from a dictionary of key/value pairs. - A Boolean. - - - - - - + The dictionary. + + The document (so method calls can be chained). + - + - Converts this BsonValue to a Double. + Clears the document (removes all elements). - A Double. - + - Converts this BsonValue to an Int32. + Creates a shallow clone of the document (see also DeepClone). - An Int32. + + A shallow clone of the document. + - + - Converts this BsonValue to an Int64. + Tests whether the document contains an element with the specified name. - An Int32. + The name of the element to look for. + + True if the document contains an element with the specified name. + - + - Returns a string representation of the value. + Tests whether the document contains an element with the specified value. - A string representation of the value. + The value of the element to look for. + + True if the document contains an element with the specified value. + - - + + + Creates a deep clone of the document (see also Clone). + + + A deep clone of the document. + - - + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + - - + + + Gets an element of this document. + + The zero based index of the element. + + The element. + - - + + + Gets an element of this document. + + The name of the element. + + A BsonElement. + - - + + + Gets an enumerator that can be used to enumerate the elements of this document. + + + An enumerator. + - - + + + Gets the value of an element. + + The zero based index of the element. + + The value of the element. + - - + + + Gets the value of an element. + + The name of the element. + + The value of the element. + - - + + + Gets the value of an element or a default value if the element is not found. + + The name of the element. + The default value returned if the element is not found. + + The value of the element or the default value if the element is not found. + - - + + + Inserts a new element at a specified position. + + The position of the new element. + The element. - - + + + Materializes the RawBsonDocument into a regular BsonDocument. + + The binary reader settings. + A BsonDocument. - - + + + Merges another document into this one. Existing elements are not overwritten. + + The other document. + + The document (so method calls can be chained). + - - + + + Merges another document into this one, specifying whether existing elements are overwritten. + + The other document. + Whether to overwrite existing elements. + + The document (so method calls can be chained). + - - + + + Removes an element from this document (if duplicate element names are allowed + then all elements with this name will be removed). + + The name of the element to remove. - - + + + Removes an element from this document. + + The zero based index of the element to remove. - - + + + Removes an element from this document. + + The element to remove. - + - Compares this BsonInt32 against another BsonValue. + Sets the value of an element. - The other BsonValue. - True if this BsonInt64 and the other BsonValue are equal according to ==. + The zero based index of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + - + - Represents a BSON JavaScript value. + Sets the value of an element (an element will be added if no element with this name is found). + The name of the element whose value is to be set. + The new value. + + The document (so method calls can be chained). + - + - Initializes a new instance of the BsonJavaScript class. + Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). - The JavaScript code. + The new element. + + The document. + - + - Gets the BsonType of this BsonValue. + Sets an element of the document (replacing the existing element at that position). + The zero based index of the element to replace. + The new element. + + The document. + - + - Gets the JavaScript code. + Tries to get an element of this document. + The name of the element. + The element. + + True if an element with that name was found. + - + - Compares two BsonJavaScript values. + Tries to get the value of an element of this document. - The first BsonJavaScript. - The other BsonJavaScript. - True if the two BsonJavaScript values are not equal according to ==. + The name of the element. + The value of the element. + + True if an element with that name was found. + - + - Compares two BsonJavaScript values. + Releases unmanaged and - optionally - managed resources. - The first BsonJavaScript. - The other BsonJavaScript. - True if the two BsonJavaScript values are equal according to ==. + true to release both managed and unmanaged resources; false to release only unmanaged resources. - + - Converts a string to a BsonJavaScript. + Throws if disposed. - A string. - A BsonJavaScript. + RawBsonDocument - + - Creates a new BsonJavaScript. + Provides serializers based on an attribute. - An object to be mapped to a BsonJavaScript. - A BsonJavaScript or null. - + + + + - Compares this BsonJavaScript to another BsonJavaScript. + Specifies that this constructor should be used for creator-based deserialization. - The other BsonJavaScript. - A 32-bit signed integer that indicates whether this BsonJavaScript is less than, equal to, or greather than the other. - + - Compares the BsonJavaScript to another BsonValue. + Initializes a new instance of the BsonConstructorAttribute class. - The other BsonValue. - A 32-bit signed integer that indicates whether this BsonJavaScript is less than, equal to, or greather than the other BsonValue. - + - Compares this BsonJavaScript to another BsonJavaScript. + Initializes a new instance of the BsonConstructorAttribute class. - The other BsonJavaScript. - True if the two BsonJavaScript values are equal. + The names of the members that the creator argument values come from. - + - Compares this BsonJavaScript to another object. + Gets the names of the members that the creator arguments values come from. - The other object. - True if the other object is a BsonJavaScript and equal to this one. - + - Gets the hash code. + Applies a modification to the creator map. - The hash code. + The creator map. - + - Returns a string representation of the value. + Specifies serialization options for a DateTime field or property. - A string representation of the value. - + - Represents a BSON JavaScript value with a scope. + Initializes a new instance of the BsonDateTimeOptionsAttribute class. - + - Initializes a new instance of the BsonJavaScriptWithScope class. + Gets or sets whether the DateTime consists of a Date only. - The JavaScript code. - A scope (a set of variables with values). - + - Compares two BsonJavaScriptWithScope values. + Gets or sets the DateTimeKind (Local, Unspecified or Utc). - The first BsonJavaScriptWithScope. - The other BsonJavaScriptWithScope. - True if the two BsonJavaScriptWithScope values are not equal according to ==. - + - Compares two BsonJavaScriptWithScope values. + Gets or sets the external representation. - The first BsonJavaScriptWithScope. - The other BsonJavaScriptWithScope. - True if the two BsonJavaScriptWithScope values are equal according to ==. - + - Gets the BsonType of this BsonValue. + Reconfigures the specified serializer by applying this attribute to it. + The serializer. + A reconfigured serializer. - + - Gets the scope (a set of variables with values). + Specifies serialization options for a Dictionary field or property. - + - Creates a new BsonJavaScriptWithScope. + Initializes a new instance of the BsonDictionaryOptionsAttribute class. - An object to be mapped to a BsonJavaScriptWithScope. - A BsonJavaScriptWithScope or null. - + - Creates a shallow clone of the BsonJavaScriptWithScope (see also DeepClone). + Initializes a new instance of the BsonDictionaryOptionsAttribute class. - A shallow clone of the BsonJavaScriptWithScope. + The representation to use for the Dictionary. - + - Creates a deep clone of the BsonJavaScriptWithScope (see also Clone). + Gets or sets the external representation. - A deep clone of the BsonJavaScriptWithScope. - + - Compares this BsonJavaScriptWithScope to another BsonJavaScriptWithScope. + Reconfigures the specified serializer by applying this attribute to it. - The other BsonJavaScriptWithScope. - A 32-bit signed integer that indicates whether this BsonJavaScriptWithScope is less than, equal to, or greather than the other. + The serializer. + A reconfigured serializer. - + - Compares the BsonJavaScriptWithScope to another BsonValue. + Indicates that this property or field will be used to hold any extra elements found during deserialization. - The other BsonValue. - A 32-bit signed integer that indicates whether this BsonJavaScriptWithScope is less than, equal to, or greather than the other BsonValue. - + - Compares this BsonJavaScriptWithScope to another BsonJavaScriptWithScope. + Applies a modification to the member map. - The other BsonJavaScriptWithScope. - True if the two BsonJavaScriptWithScope values are equal. + The member map. - + - Compares this BsonJavaScriptWithScope to another object. + Specifies that this factory method should be used for creator-based deserialization. - The other object. - True if the other object is a BsonJavaScriptWithScope and equal to this one. - + - Gets the hash code. + Initializes a new instance of the BsonFactoryMethodAttribute class. + + + + + Initializes a new instance of the BsonFactoryMethodAttribute class. - The hash code. + The names of the members that the creator argument values come from. - + - Returns a string representation of the value. + Gets the names of the members that the creator arguments values come from. - A string representation of the value. - + - Represents the BSON MaxKey value. + Applies a modification to the creator map. + The creator map. - + - Compares two BsonMaxKey values. + Indicates whether a field or property equal to the default value should be ignored when serializing this class. - The first BsonMaxKey. - The other BsonMaxKey. - True if the two BsonMaxKey values are not equal according to ==. - + - Compares two BsonMaxKey values. + Initializes a new instance of the BsonIgnoreIfDefaultAttribute class. - The first BsonMaxKey. - The other BsonMaxKey. - True if the two BsonMaxKey values are equal according to ==. - + - Gets the singleton instance of BsonMaxKey. + Initializes a new instance of the BsonIgnoreIfDefaultAttribute class. + Whether a field or property equal to the default value should be ignored when serializing this class. - + - Gets the BsonType of this BsonValue. + Gets whether a field or property equal to the default value should be ignored when serializing this class. - + - Compares this BsonMaxKey to another BsonMaxKey. + Applies a modification to the member map. - The other BsonMaxKey. - A 32-bit signed integer that indicates whether this BsonMaxKey is less than, equal to, or greather than the other. + The member map. - + - Compares the BsonMaxKey to another BsonValue. + Specifies that the class's IdMember should be null. - The other BsonValue. - A 32-bit signed integer that indicates whether this BsonMaxKey is less than, equal to, or greather than the other BsonValue. - + - Compares this BsonMaxKey to another BsonMaxKey. + Applies the post processing attribute to the class map. - The other BsonMaxKey. - True if the two BsonMaxKey values are equal. + The class map. - + - Compares this BsonMaxKey to another object. + Specifies the external representation and related options for this field or property. - The other object. - True if the other object is a BsonMaxKey and equal to this one. - + - Gets the hash code. + Initializes a new instance of the BsonRepresentationAttribute class. - The hash code. + The external representation. - + - Returns a string representation of the value. + Gets the external representation. - A string representation of the value. - + - Represents the BSON MinKey value. + Gets or sets whether to allow overflow. - + - Compares two BsonMinKey values. + Gets or sets whether to allow truncation. - The first BsonMinKey. - The other BsonMinKey. - True if the two BsonMinKey values are not equal according to ==. - + - Compares two BsonMinKey values. + Reconfigures the specified serializer by applying this attribute to it. - The first BsonMinKey. - The other BsonMinKey. - True if the two BsonMinKey values are equal according to ==. + The serializer. + A reconfigured serializer. - + - Gets the singleton instance of BsonMinKey. + Abstract base class for serialization options attributes. - + - Gets the BsonType of this BsonValue. + Initializes a new instance of the BsonSerializationOptionsAttribute class. - + - Compares this BsonMinKey to another BsonMinKey. + Applies a modification to the member map. - The other BsonMinKey. - A 32-bit signed integer that indicates whether this BsonMinKey is less than, equal to, or greather than the other. + The member map. - + - Compares the BsonMinKey to another BsonValue. + Reconfigures the specified serializer by applying this attribute to it. - The other BsonValue. - A 32-bit signed integer that indicates whether this BsonMinKey is less than, equal to, or greather than the other BsonValue. + The serializer. + A reconfigured serializer. + - + - Compares this BsonMinKey to another BsonMinKey. + Specifies the type of the serializer to use for a class. - The other BsonMinKey. - True if the two BsonMinKey values are equal. - + - Compares this BsonMinKey to another object. + Initializes a new instance of the BsonSerializerAttribute class. - The other object. - True if the other object is a BsonMinKey and equal to this one. - + - Gets the hash code. + Initializes a new instance of the BsonSerializerAttribute class. - The hash code. + The type of the serializer to use for a class. - + - Returns a string representation of the value. + Gets or sets the type of the serializer to use for a class. - A string representation of the value. - + - Represents the BSON Null value. + Applies a modification to the member map. + The member map. - + - Compares two BsonNull values. + Creates a serializer for a type based on the serializer type specified by the attribute. - The first BsonNull. - The other BsonNull. - True if the two BsonNull values are not equal according to ==. + The type that a serializer should be created for. + A serializer for the type. - + - Compares two BsonNull values. + Specifies the external representation and related options for this field or property. - The first BsonNull. - The other BsonNull. - True if the two BsonNull values are equal according to ==. - + - Gets the singleton instance of BsonNull. + Initializes a new instance of the BsonTimeSpanOptionsAttribute class. + The external representation. - + - Gets the BsonType of this BsonValue. + Initializes a new instance of the BsonTimeSpanOptionsAttribute class. + The external representation. + The TimeSpanUnits. - + - Compares this BsonNull to another BsonNull. + Gets the external representation. - The other BsonNull. - A 32-bit signed integer that indicates whether this BsonNull is less than, equal to, or greather than the other. - + - Compares the BsonNull to another BsonValue. + Gets or sets the TimeSpanUnits. - The other BsonValue. - A 32-bit signed integer that indicates whether this BsonNull is less than, equal to, or greather than the other BsonValue. - + - Compares this BsonNull to another BsonNull. + Reconfigures the specified serializer by applying this attribute to it. - The other BsonNull. - True if the two BsonNull values are equal. + The serializer. + A reconfigured serializer. - + - Compares this BsonNull to another object. + Specifies the default value for a field or property. - The other object. - True if the other object is a BsonNull and equal to this one. - + - Gets the hash code. + Initializes a new instance of the BsonDefaultValueAttribute class. - The hash code. + The default value. - + - Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + Gets the default value. - A Boolean. - + - Converts this BsonValue to a DateTime? in local time. + Gets or sets whether to serialize the default value. - A DateTime?. - + - Converts this BsonValue to a DateTime? in UTC. + Applies a modification to the member map. - A DateTime?. + The member map. - + - Returns a string representation of the value. + Specifies the discriminator and related options for a class. - A string representation of the value. - + - Represents a BSON ObjectId value (see also ObjectId). + Initializes a new instance of the BsonDiscriminatorAttribute class. - + - Initializes a new instance of the BsonObjectId class. + Initializes a new instance of the BsonDiscriminatorAttribute class. - The value. + The discriminator. - + - Initializes a new instance of the BsonObjectId class. + Gets the discriminator. - The bytes. - + - Initializes a new instance of the BsonObjectId class. + Gets or sets whether the discriminator is required. - The timestamp (expressed as a DateTime). - The machine hash. - The PID. - The increment. - + - Initializes a new instance of the BsonObjectId class. + Gets or sets whether this is a root class. - The timestamp. - The machine hash. - The PID. - The increment. - + - Initializes a new instance of the BsonObjectId class. + Applies a modification to the class map. - The value. + The class map. - + - Gets an instance of BsonObjectId where the value is empty. + Specifies the element name and related options for a field or property. - + - Gets the BsonType of this BsonValue. + Initializes a new instance of the BsonElementAttribute class. - + - Gets the timestamp. + Initializes a new instance of the BsonElementAttribute class. + The name of the element. - + - Gets the machine. + Gets the element name. - + - Gets the PID. + Gets the element serialization order. - + - Gets the increment. + Applies a modification to the member map. + The member map. - + - Gets the creation time (derived from the timestamp). + Specifies that this is the Id field or property. - + - Gets the BsonObjectId as an ObjectId. + Initializes a new instance of the BsonIdAttribute class. - + - Gets the value of this BsonObjectId. + Gets or sets the Id generator for the Id. - + - Converts an ObjectId to a BsonObjectId. + Gets or sets the Id element serialization order. - An ObjectId. - A BsonObjectId. - + - Compares two BsonObjectId values. + Applies a modification to the member map. - The first BsonObjectId. - The other BsonObjectId. - True if the two BsonObjectId values are not equal according to ==. + The member map. - + - Compares two BsonObjectId values. + Indicates that this field or property should be ignored when this class is serialized. - The first BsonObjectId. - The other BsonObjectId. - True if the two BsonObjectId values are equal according to ==. - + - Creates a new BsonObjectId. + Specifies whether extra elements should be ignored when this class is deserialized. - An object to be mapped to a BsonObjectId. - A BsonObjectId or null. - + - Generates a new BsonObjectId with a unique value. + Initializes a new instance of the BsonIgnoreExtraElementsAttribute class. - A BsonObjectId. - + - Generates a new BsonObjectId with a unique value (with the timestamp component based on a given DateTime). + Initializes a new instance of the BsonIgnoreExtraElementsAttribute class. - The timestamp component (expressed as a DateTime). - A BsonObjectId. + Whether extra elements should be ignored when this class is deserialized. - + - Generates a new BsonObjectId with a unique value (with the given timestamp). + Gets whether extra elements should be ignored when this class is deserialized. - The timestamp component. - A BsonObjectId. - + - Parses a string and creates a new BsonObjectId. + Gets whether extra elements should also be ignored when any class derived from this one is deserialized. - The string value. - A BsonObjectId. - + - Tries to parse a string and create a new BsonObjectId. + Applies a modification to the class map. - The string value. - The new BsonObjectId. - True if the string was parsed successfully. + The class map. - + - Compares this BsonObjectId to another BsonObjectId. + Indicates whether a field or property equal to null should be ignored when serializing this class. - The other BsonObjectId. - A 32-bit signed integer that indicates whether this BsonObjectId is less than, equal to, or greather than the other. - + - Compares the BsonObjectId to another BsonValue. + Initializes a new instance of the BsonIgnoreIfNullAttribute class. - The other BsonValue. - A 32-bit signed integer that indicates whether this BsonObjectId is less than, equal to, or greather than the other BsonValue. - + - Compares this BsonObjectId to another BsonObjectId. + Initializes a new instance of the BsonIgnoreIfNullAttribute class. - The other BsonObjectId. - True if the two BsonObjectId values are equal. + Whether a field or property equal to null should be ignored when serializing this class. - + - Compares this BsonObjectId to another object. + Gets whether a field or property equal to null should be ignored when serializing this class. - The other object. - True if the other object is a BsonObjectId and equal to this one. - + - Gets the hash code. + Applies a modification to the member map. - The hash code. + The member map. - + - Converts the BsonObjectId to a byte array. + Specifies the known types for this class (the derived classes). - A byte array. - + - Returns a string representation of the value. + Initializes a new instance of the BsonKnownTypesAttribute class. - A string representation of the value. - - - + One or more known types. - + - Represents a BSON regular expression value. + Initializes a new instance of the BsonKnownTypesAttribute class. + A known types. - + - Initializes a new instance of the BsonRegularExpression class. + Gets a list of the known types. - A regular expression pattern. - + - Initializes a new instance of the BsonRegularExpression class. + Applies a modification to the class map. - A regular expression pattern. - Regular expression options. + The class map. - + - Initializes a new instance of the BsonRegularExpression class. + Indicates that a field or property is required. - A Regex. - + - Gets the BsonType of this BsonValue. + Applies a modification to the member map. + The member map. - + - Gets the regular expression pattern. + Indicates the usage restrictions for the attribute. - + - Gets the regular expression options. + Initializes a new instance of the class. - + - Converts a Regex to a BsonRegularExpression. + Gets or sets a value indicating whether the attribute this attribute applies to is allowed to be applied + to more than one member. - A Regex. - A BsonRegularExpression. - + - Converts a string to a BsonRegularExpression. + Represents an attribute used to modify a member map. - A string. - A BsonRegularExpression. - + - Compares two BsonRegularExpression values. + Applies the attribute to the member map. - The first BsonRegularExpression. - The other BsonRegularExpression. - True if the two BsonRegularExpression values are not equal according to ==. + The member map. - + - Compares two BsonRegularExpression values. + Represents an attribute used to modify a class map. - The first BsonRegularExpression. - The other BsonRegularExpression. - True if the two BsonRegularExpression values are equal according to ==. - + - Creates a new BsonRegularExpression. + Applies the attribute to the class map. - An object to be mapped to a BsonRegularExpression. - A BsonRegularExpression or null. + The class map. - + - Compares this BsonRegularExpression to another BsonRegularExpression. + Represents an attribute used to post process a class map. - The other BsonRegularExpression. - A 32-bit signed integer that indicates whether this BsonRegularExpression is less than, equal to, or greather than the other. - + - Compares the BsonRegularExpression to another BsonValue. + Applies the post processing attribute to the class map. - The other BsonValue. - A 32-bit signed integer that indicates whether this BsonRegularExpression is less than, equal to, or greather than the other BsonValue. + The class map. - + - Compares this BsonRegularExpression to another BsonRegularExpression. + Represents an attribute used to modify a creator map. - The other BsonRegularExpression. - True if the two BsonRegularExpression values are equal. - + - Compares this BsonRegularExpression to another object. + Applies the attribute to the creator map. - The other object. - True if the other object is a BsonRegularExpression and equal to this one. + The creator map. - + - Gets the hash code. + Represents the class map serialization provider. - The hash code. - + + + + - Converts the BsonRegularExpression to a Regex. + Represents a mapping to a delegate and its arguments. - A Regex. - + - Returns a string representation of the value. + Initializes a new instance of the BsonCreatorMap class. - A string representation of the value. + The class map. + The member info (null if none). + The delegate. - + - Represents a BSON string value. + Gets the arguments. - + - Initializes a new instance of the BsonString class. + Gets the class map that this creator map belongs to. - The value. - + - Gets an instance of BsonString that represents an empty string. + Gets the delegeate - + - Gets the BsonType of this BsonValue. + Gets the element names. - + - Gets the BsonString as a string. + Gets the member info (null if none). - + - Gets the value of this BsonString. + Freezes the creator map. - + - Converts a string to a BsonString. + Gets whether there is a default value for a missing element. - A string. - A BsonString. + The element name. + True if there is a default value for element name; otherwise, false. - + - Compares two BsonString values. + Sets the arguments for the creator map. - The first BsonString. - The other BsonString. - True if the two BsonString values are not equal according to ==. + The arguments. + The creator map. - + - Compares two BsonString values. + Sets the arguments for the creator map. - The first BsonString. - The other BsonString. - True if the two BsonString values are equal according to ==. + The argument names. + The creator map. - + - Creates a new BsonString. + Represents args common to all serializers. - An object to be mapped to a BsonString. - A BsonString or null. - + - Compares this BsonString to another BsonString. + Gets or sets the nominal type. - The other BsonString. - A 32-bit signed integer that indicates whether this BsonString is less than, equal to, or greather than the other. + + The nominal type. + - + - Compares the BsonString to another BsonValue. + Represents all the contextual information needed by a serializer to deserialize a value. - The other BsonValue. - A 32-bit signed integer that indicates whether this BsonString is less than, equal to, or greather than the other BsonValue. - + - Compares this BsonString to another BsonString. + Gets a value indicating whether to allow duplicate element names. - The other BsonString. - True if the two BsonString values are equal. + + true if duplicate element names shoud be allowed; otherwise, false. + - + - Compares this BsonString to another object. + Gets the dynamic array serializer. - The other object. - True if the other object is a BsonString and equal to this one. + + The dynamic array serializer. + - + - Gets the hash code. + Gets the dynamic document serializer. - The hash code. + + The dynamic document serializer. + - + - Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + Gets the reader. - A Boolean. - - - - - - + + The reader. + - + - Converts this BsonValue to a Double. + Creates a root context. - A Double. + The reader. + The configurator. + + A root context. + - + - Converts this BsonValue to an Int32. + Creates a new context with some values changed. - An Int32. + The configurator. + + A new context. + - + - Converts this BsonValue to an Int64. + Represents a builder for a BsonDeserializationContext. - An Int32. - + - Returns a string representation of the value. + Gets or sets a value indicating whether to allow duplicate element names. - A string representation of the value. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + true if duplicate element names should be allowed; otherwise, false. + - + - Represents a BSON symbol value. + Gets or sets the dynamic array serializer. + + The dynamic array serializer. + - + - Gets the BsonType of this BsonValue. + Gets or sets the dynamic document serializer. + + The dynamic document serializer. + - + - Gets the name of the symbol. + Gets the reader. + + The reader. + - + - Converts a string to a BsonSymbol. + Builds the BsonDeserializationContext instance. - A string. - A BsonSymbol. + A BsonDeserializationContext. - + - Compares two BsonSymbol values. + A class backed by a BsonDocument. - The first BsonSymbol. - The other BsonSymbol. - True if the two BsonSymbol values are not equal according to ==. - + - Compares two BsonSymbol values. + Initializes a new instance of the class. - The first BsonSymbol. - The other BsonSymbol. - True if the two BsonSymbol values are equal according to ==. + The serializer. - + - Creates a new BsonSymbol. + Initializes a new instance of the class. + + The backing document. + The serializer. + + + + Gets the backing document. - An object to be mapped to a BsonSymbol. - A BsonSymbol or null. - + - Compares this BsonSymbol to another BsonSymbol. + Gets the value from the backing document. - The other BsonSymbol. - A 32-bit signed integer that indicates whether this BsonSymbol is less than, equal to, or greather than the other. + The type of the value. + The member name. + The value. - + - Compares the BsonSymbol to another BsonValue. + Gets the value from the backing document. - The other BsonValue. - A 32-bit signed integer that indicates whether this BsonSymbol is less than, equal to, or greather than the other BsonValue. + The type of the value. + The member name. + The default value. + The value. - + - Compares this BsonSymbol to another BsonSymbol. + Sets the value in the backing document. - The other BsonSymbol. - True if the two BsonSymbol values are equal. + The member name. + The value. - + - Compares this BsonSymbol to another object. + Provides serializers for BsonValue and its derivations. - The other object. - True if the other object is a BsonSymbol and equal to this one. - + + + + - Gets the hash code. + Represents args common to all serializers. - The hash code. - + - Returns a string representation of the value. + Initializes a new instance of the struct. - A string representation of the value. + The nominal type. + Whether to serialize as the nominal type. + Whether to serialize the id first. - + - Represents the symbol table of BsonSymbols. + Gets or sets the nominal type. + + The nominal type. + - + - Looks up a symbol (and creates a new one if necessary). + Gets or sets a value indicating whether to serialize the value as if it were an instance of the nominal type. - The name of the symbol. - The symbol. - + - Represents a BSON timestamp value. + Gets or sets a value indicating whether to serialize the id first. - + - Initializes a new instance of the BsonTimestamp class. + Represents all the contextual information needed by a serializer to serialize a value. - The combined timestamp/increment value. - + - Initializes a new instance of the BsonTimestamp class. + Gets a function that, when executed, will indicate whether the type + is a dynamic type. - The timestamp. - The increment. - + - Compares two BsonTimestamp values. + Gets the writer. - The first BsonTimestamp. - The other BsonTimestamp. - True if the two BsonTimestamp values are not equal according to ==. + + The writer. + - + - Compares two BsonTimestamp values. + Creates a root context. - The first BsonTimestamp. - The other BsonTimestamp. - True if the two BsonTimestamp values are equal according to ==. + The writer. + The serialization context configurator. + + A root context. + - + - Gets the BsonType of this BsonValue. + Creates a new context with some values changed. + The serialization context configurator. + + A new context. + - + - Gets the value of this BsonTimestamp. + Represents a builder for a BsonSerializationContext. - + - Gets the increment. + Gets or sets the function used to determine if a type is a dynamic type. - + - Gets the timestamp. + Gets the writer. + + The writer. + - + - Creates a new BsonTimestamp. + Builds the BsonSerializationContext instance. - An object to be mapped to a BsonTimestamp. - A BsonTimestamp or null. + A BsonSerializationContext. - + - Compares this BsonTimestamp to another BsonTimestamp. + Provides serializers for collections. - The other BsonTimestamp. - A 32-bit signed integer that indicates whether this BsonTimestamp is less than, equal to, or greather than the other. - + + + + - Compares the BsonTimestamp to another BsonValue. + Convention pack for applying attributes. - The other BsonValue. - A 32-bit signed integer that indicates whether this BsonTimestamp is less than, equal to, or greather than the other BsonValue. - + - Compares this BsonTimestamp to another BsonTimestamp. + Initializes a new instance of the class. - The other BsonTimestamp. - True if the two BsonTimestamp values are equal. - + - Compares this BsonTimestamp to another object. + Gets the instance. - The other object. - True if the other object is a BsonTimestamp and equal to this one. - + - Gets the hash code. + Gets the conventions. - The hash code. - + - Returns a string representation of the value. + A convention that sets the element name the same as the member name with the first character lower cased. - A string representation of the value. - + - Represents the type of a BSON element. + Applies a modification to the member map. + The member map. - + - Not a real BSON type. Used to signal the end of a document. + A convention that uses the names of the creator parameters to find the matching members. - + - A BSON double. + Applies a modification to the creator map. + The creator map. - + - A BSON string. + Base class for a convention. - + - A BSON document. + Initializes a new instance of the ConventionBase class. - + - A BSON array. + Initializes a new instance of the ConventionBase class. + The name of the convention. - + - BSON binary data. + Gets the name of the convention. - + - A BSON undefined value. + A mutable pack of conventions. - + - A BSON ObjectId. + Initializes a new instance of the class. - + - A BSON bool. + Gets the conventions. - + - A BSON DateTime. + Adds the specified convention. + The convention. + - + - A BSON null value. + Adds a class map convention created using the specified action upon a class map. + The name of the convention. + The action the convention should take upon the class map. - + - A BSON regular expression. + Adds a member map convention created using the specified action upon a member map. + The name of the convention. + The action the convention should take upon the member map. - + - BSON JavaScript code. + Adds a post processing convention created using the specified action upon a class map. + The name of the convention. + The action the convention should take upon the class map. - + - A BSON symbol. + Adds a range of conventions. + The conventions. + - + - BSON JavaScript code with a scope (a set of variables with values). + Appends the conventions in another pack to the end of this pack. + The other pack. - + - A BSON 32-bit integer. + Gets an enumerator for the conventions. + An enumerator. - + - A BSON timestamp. + Inserts the convention after another convention specified by the name. + The name. + The convention. - + - A BSON 64-bit integer. + Inserts the convention before another convention specified by the name. + The name. + The convention. - + - A BSON 128-bit decimal. + Removes the named convention. + The name of the convention. - + - A BSON MinKey value. + Represents a registry of conventions. - + - A BSON MaxKey value. + Looks up the effective set of conventions that apply to a type. + The type. + The conventions for that type. - + - A static class that maps between .NET objects and BsonValues. + Registers the conventions. + The name. + The conventions. + The filter. - + - Maps an object to an instance of the closest BsonValue class. + Removes the conventions specified by the given name. - An object. - A BsonValue. + The name. + Removing a convention allows the removal of the special __defaults__ conventions + and the __attributes__ conventions for those who want to completely customize the + experience. - + - Maps an object to a specific BsonValue type. + Runs the conventions against a BsonClassMap and its BsonMemberMaps. - An object. - The BsonType to map to. - A BsonValue of the desired type (or BsonNull.Value if value is null and bsonType is Null). - + - Maps a BsonValue to a .NET value using the default BsonTypeMapperOptions. + Initializes a new instance of the class. - The BsonValue. - The mapped .NET value. + The conventions. - + - Maps a BsonValue to a .NET value. + Applies a modification to the class map. - The BsonValue. - The BsonTypeMapperOptions. - The mapped .NET value. + The class map. - + - Registers a custom type mapper. + Convention pack of defaults. - The type. - A custom type mapper. - + - Tries to map an object to an instance of the closest BsonValue class. + Initializes a new instance of the class. - An object. - The BsonValue. - True if the mapping was successfull. - + - Compares this Mapping to another object. + Gets the instance. - The other object. - True if the other object is a Mapping and equal to this one. - + - Gets the hash code. + Gets the conventions. - The hash code. - + - Represents how duplicate names should be handled. + A class map convention that wraps a delegate. - + - Overwrite original value with new value. + Initializes a new instance of the class. + The name. + The delegate. - + - Ignore duplicate name and keep original value. + Applies a modification to the class map. + The class map. - + - Throw an exception. + A member map convention that wraps a delegate. - + - Represents options used by the BsonTypeMapper. + Initializes a new instance of the class. + The name. + The delegate. - + - Initializes a new instance of the BsonTypeMapperOptions class. + Applies a modification to the member map. + The member map. - + - Gets or sets the default BsonTypeMapperOptions. + A post processing convention that wraps a delegate. - + - Gets or sets how duplicate names should be handled. + Initializes a new instance of the class. + The name. + The delegate. - + - Gets whether the BsonTypeMapperOptions is frozen. + Applies a post processing modification to the class map. + The class map. - + - Gets or sets the type that a BsonArray should be mapped to. + Represents a discriminator convention where the discriminator is an array of all the discriminators provided by the class maps of the root class down to the actual type. - + - Gets or sets the type that a BsonDocument should be mapped to. + Initializes a new instance of the HierarchicalDiscriminatorConvention class. + The element name. - + - Gets or sets whether binary sub type OldBinary should be mapped to byte[] the way sub type Binary is. + Gets the discriminator value for an actual type. + The nominal type. + The actual type. + The discriminator value. - + - Clones the BsonTypeMapperOptions. + Represents a convention that applies to a BsonClassMap. - The cloned BsonTypeMapperOptions. - + - Freezes the BsonTypeMapperOptions. + Applies a modification to the class map. - The frozen BsonTypeMapperOptions. + The class map. - + - Represents the BSON undefined value. + Represents a convention that applies to a BsonCreatorMap. - + - Compares two BsonUndefined values. + Applies a modification to the creator map. - The first BsonUndefined. - The other BsonUndefined. - True if the two BsonUndefined values are not equal according to ==. + The creator map. - + - Compares two BsonUndefined values. + Represents a convention. - The first BsonUndefined. - The other BsonUndefined. - True if the two BsonUndefined values are equal according to ==. - + - Gets the singleton instance of BsonUndefined. + Gets the name of the convention. - + - Gets the BsonType of this BsonValue. + Represents a grouping of conventions. - + - Compares this BsonUndefined to another BsonUndefined. + Gets the conventions. - The other BsonUndefined. - A 32-bit signed integer that indicates whether this BsonUndefined is less than, equal to, or greather than the other. - + - Compares the BsonUndefined to another BsonValue. + A convention that sets whether to ignore extra elements encountered during deserialization. - The other BsonValue. - A 32-bit signed integer that indicates whether this BsonUndefined is less than, equal to, or greather than the other BsonValue. - + - Compares this BsonUndefined to another BsonUndefined. + Initializes a new instance of the class. - The other BsonUndefined. - True if the two BsonUndefined values are equal. + Whether to ignore extra elements encountered during deserialization. - + - Compares this BsonUndefined to another object. + Applies a modification to the class map. - The other object. - True if the other object is a BsonUndefined and equal to this one. + The class map. - + - Gets the hash code. + A convention that sets whether to ignore default values during serialization. - The hash code. - + - Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + Initializes a new instance of the class. - A Boolean. + Whether to ignore default values during serialization. - + - Returns a string representation of the value. + Applies a modification to the member map. - A string representation of the value. + The member map. - + - Represents a BSON value (this is an abstract class, see the various subclasses). + A convention that sets whether to ignore nulls during serialization. - + - Casts the BsonValue to a Boolean (throws an InvalidCastException if the cast is not valid). + Initializes a new instance of the class. + Whether to ignore nulls during serialization. - + - Casts the BsonValue to a BsonArray (throws an InvalidCastException if the cast is not valid). + Applies a modification to the member map. + The member map. - + - Casts the BsonValue to a BsonBinaryData (throws an InvalidCastException if the cast is not valid). + Represents a convention that applies to a BsonMemberMap. - + - Casts the BsonValue to a BsonDateTime (throws an InvalidCastException if the cast is not valid). + Applies a modification to the member map. + The member map. - + - Casts the BsonValue to a BsonDocument (throws an InvalidCastException if the cast is not valid). + Represents a post processing convention that applies to a BsonClassMap. - + - Casts the BsonValue to a BsonJavaScript (throws an InvalidCastException if the cast is not valid). + Applies a post processing modification to the class map. + The class map. - + - Casts the BsonValue to a BsonJavaScriptWithScope (throws an InvalidCastException if the cast is not valid). + A convention that looks up an id generator for the id member. - + - Casts the BsonValue to a BsonMaxKey (throws an InvalidCastException if the cast is not valid). + Applies a post processing modification to the class map. + The class map. - + - Casts the BsonValue to a BsonMinKey (throws an InvalidCastException if the cast is not valid). + A convention that sets the default value for members of a given type. - + - Casts the BsonValue to a BsonNull (throws an InvalidCastException if the cast is not valid). + Initializes a new instance of the class. + The type of the member. + The default value for members of this type. - + - Casts the BsonValue to a BsonRegularExpression (throws an InvalidCastException if the cast is not valid). + Applies a modification to the member map. + The member map. - + - Casts the BsonValue to a BsonSymbol (throws an InvalidCastException if the cast is not valid). + A convention that sets the element name the same as the member name. - + - Casts the BsonValue to a BsonTimestamp (throws an InvalidCastException if the cast is not valid). + Applies a modification to the member map. + The member map. - + - Casts the BsonValue to a BsonUndefined (throws an InvalidCastException if the cast is not valid). + A convention that finds the extra elements member by name (and that is also of type or ). - + - Casts the BsonValue to a BsonValue (a way of upcasting subclasses of BsonValue to BsonValue at compile time). + Initializes a new instance of the NamedExtraElementsMemberConvention class. + The name of the extra elements member. - + - Casts the BsonValue to a Byte[] (throws an InvalidCastException if the cast is not valid). + Initializes a new instance of the class. + The names. - + - Casts the BsonValue to a DateTime in UTC (throws an InvalidCastException if the cast is not valid). + Initializes a new instance of the class. + The names. + The member types. - + - Casts the BsonValue to a (throws an InvalidCastException if the cast is not valid). + Initializes a new instance of the class. + The names. + The binding flags. - + - Casts the BsonValue to a (throws an InvalidCastException if the cast is not valid). + Initializes a new instance of the class. + The names. + The member types. + The binding flags. + - + - Casts the BsonValue to a Double (throws an InvalidCastException if the cast is not valid). + Applies a modification to the class map. + The class map. - + - Casts the BsonValue to a Guid (throws an InvalidCastException if the cast is not valid). + A convention that finds the id member by name. - + - Casts the BsonValue to an Int32 (throws an InvalidCastException if the cast is not valid). + Initializes a new instance of the class. + The names. - + - Casts the BsonValue to a DateTime in the local timezone (throws an InvalidCastException if the cast is not valid). + Initializes a new instance of the class. + The names. - + - Casts the BsonValue to a Int64 (throws an InvalidCastException if the cast is not valid). + Initializes a new instance of the class. + The names. + The member types. - + - Casts the BsonValue to a Nullable{Boolean} (throws an InvalidCastException if the cast is not valid). + Initializes a new instance of the class. + The names. + The binding flags. - + - Casts the BsonValue to a Nullable{DateTime} (throws an InvalidCastException if the cast is not valid). + Initializes a new instance of the class. + The names. + The member types. + The binding flags. + - + - Casts the BsonValue to a Nullable{Decimal} (throws an InvalidCastException if the cast is not valid). + Applies a modification to the class map. + The class map. - + - Casts the BsonValue to a Nullable{Decimal128} (throws an InvalidCastException if the cast is not valid). + Maps a fully immutable type. This will include anonymous types. - + + + + - Casts the BsonValue to a Nullable{Double} (throws an InvalidCastException if the cast is not valid). + A convention that sets a class's IdMember to null. - + - Casts the BsonValue to a Nullable{Guid} (throws an InvalidCastException if the cast is not valid). + Applies a post processing modification to the class map. + The class map. - + - Casts the BsonValue to a Nullable{Int32} (throws an InvalidCastException if the cast is not valid). + Represents the object discriminator convention. - + - Casts the BsonValue to a Nullable{Int64} (throws an InvalidCastException if the cast is not valid). + Initializes a new instance of the ObjectDiscriminatorConvention class. + The element name. - + - Casts the BsonValue to a Nullable{ObjectId} (throws an InvalidCastException if the cast is not valid). + Gets an instance of the ObjectDiscriminatorConvention. - + - Casts the BsonValue to an ObjectId (throws an InvalidCastException if the cast is not valid). + Gets the discriminator element name. - + - Casts the BsonValue to a Regex (throws an InvalidCastException if the cast is not valid). + Gets the actual type of an object by reading the discriminator from a BsonReader. + The reader. + The nominal type. + The actual type. - + - Casts the BsonValue to a String (throws an InvalidCastException if the cast is not valid). + Gets the discriminator value for an actual type. + The nominal type. + The actual type. + The discriminator value. - + - Casts the BsonValue to a DateTime in UTC (throws an InvalidCastException if the cast is not valid). + A convention that finds readable and writeable members and adds them to the class map. - + - Gets the BsonType of this BsonValue. + Initializes a new instance of the class. - + - Tests whether this BsonValue is a Boolean. + Initializes a new instance of the class. + The member types. - + - Tests whether this BsonValue is a BsonArray. + Initializes a new instance of the class. + The binding flags. - + - Tests whether this BsonValue is a BsonBinaryData. + Initializes a new instance of the class. + The member types. + The binding flags. - + - Tests whether this BsonValue is a BsonDateTime. + Applies a modification to the class map. + The class map. - + - Tests whether this BsonValue is a BsonDocument. + A convention that resets a class map (resetting any changes that earlier conventions may have applied). - + - Tests whether this BsonValue is a BsonJavaScript. + Applies a modification to the class map. + The class map. - + - Tests whether this BsonValue is a BsonJavaScriptWithScope. + A convention that resets class members (resetting any changes that earlier conventions may have applied). - + - Tests whether this BsonValue is a BsonMaxKey. + Applies a modification to the member map. + The member map. - + - Tests whether this BsonValue is a BsonMinKey. + Represents a discriminator convention where the discriminator is provided by the class map of the actual type. - + - Tests whether this BsonValue is a BsonNull. + Initializes a new instance of the ScalarDiscriminatorConvention class. + The element name. - + - Tests whether this BsonValue is a BsonRegularExpression. + Gets the discriminator value for an actual type. + The nominal type. + The actual type. + The discriminator value. - + - Tests whether this BsonValue is a BsonSymbol . + A convention that allows you to set the Enum serialization representation - + - Tests whether this BsonValue is a BsonTimestamp. + Initializes a new instance of the class. + The serialization representation. 0 is used to detect representation + from the enum itself. - + - Tests whether this BsonValue is a BsonUndefined. + Gets the representation. - + - Tests whether this BsonValue is a DateTime. + Applies a modification to the member map. + The member map. - + - Tests whether this BsonValue is a Decimal128. + Represents the standard discriminator conventions (see ScalarDiscriminatorConvention and HierarchicalDiscriminatorConvention). - + - Tests whether this BsonValue is a Double. + Initializes a new instance of the StandardDiscriminatorConvention class. + The element name. - + - Tests whether this BsonValue is a Guid. + Gets an instance of the ScalarDiscriminatorConvention. - + - Tests whether this BsonValue is an Int32. + Gets an instance of the HierarchicalDiscriminatorConvention. - + - Tests whether this BsonValue is an Int64. + Gets the discriminator element name. - + - Tests whether this BsonValue is a numeric value. + Gets the actual type of an object by reading the discriminator from a BsonReader. + The reader. + The nominal type. + The actual type. - + - Tests whether this BsonValue is an ObjectId . + Gets the discriminator value for an actual type. + The nominal type. + The actual type. + The discriminator value. - + - Tests whether this BsonValue is a String. + A convention that sets the id generator for a string member with a BSON representation of ObjectId. - + - Tests whether this BsonValue is a valid DateTime. + Applies a post processing modification to the class map. + The class map. - + - Gets the raw value of this BsonValue (or null if this BsonValue doesn't have a single scalar value). + Represents a discriminator convention. - + - Casts a BsonValue to a bool. + Gets the discriminator element name. - The BsonValue. - A bool. - + - Casts a BsonValue to a bool?. + Gets the actual type of an object by reading the discriminator from a BsonReader. - The BsonValue. - A bool?. + The reader. + The nominal type. + The actual type. - + - Converts a bool to a BsonValue. + Gets the discriminator value for an actual type. - A bool. - A BsonValue. + The nominal type. + The actual type. + The discriminator value. - + - Converts a bool? to a BsonValue. + A helper class used to create and compile delegates for creator maps. - A bool?. - A BsonValue. - + - Converts a byte[] to a BsonValue. + Creates and compiles a delegate that calls a constructor. - A byte[]. - A BsonValue. + The constructor. + A delegate that calls the constructor. - + - Converts a DateTime to a BsonValue. + Creates and compiles a delegate from a lambda expression. - A DateTime. - A BsonValue. + The type of the class. + The lambda expression. + The arguments for the delegate's parameters. + A delegate. - + - Converts a DateTime? to a BsonValue. + Creates and compiles a delegate that calls a factory method. - A DateTime?. - A BsonValue. + the method. + A delegate that calls the factory method. - + - Converts a decimal to a BsonValue. + Visits a MemberExpression. - A decimal. - A BsonValue. + The MemberExpression. + The MemberExpression (possibly modified). - + - Converts a decimal? to a BsonValue. + Visits a ParameterExpression. - A decimal?. - A BsonValue. + The ParameterExpression. + The ParameterExpression (possibly modified). - + - Converts a to a BsonValue. + An abstract base class for an Expression visitor. - A Decimal128. - A BsonValue. - + - Converts a nullable to a BsonValue. + Initializes a new instance of the ExpressionVisitor class. - A Decimal128?. - A BsonValue. - + - Converts a double to a BsonValue. + Visits an Expression. - A double. - A BsonValue. + The Expression. + The Expression (posibly modified). - + - Converts a double? to a BsonValue. + Visits an Expression list. - A double?. - A BsonValue. + The Expression list. + The Expression list (possibly modified). - + - Converts an Enum to a BsonValue. + Visits a BinaryExpression. - An Enum. - A BsonValue. + The BinaryExpression. + The BinaryExpression (possibly modified). - + - Converts a Guid to a BsonValue. + Visits a ConditionalExpression. - A Guid. - A BsonValue. + The ConditionalExpression. + The ConditionalExpression (possibly modified). - + - Converts a Guid? to a BsonValue. + Visits a ConstantExpression. - A Guid?. - A BsonValue. + The ConstantExpression. + The ConstantExpression (possibly modified). - + - Converts an int to a BsonValue. + Visits an ElementInit. - An int. - A BsonValue. + The ElementInit. + The ElementInit (possibly modified). - + - Converts an int? to a BsonValue. + Visits an ElementInit list. - An int?. - A BsonValue. + The ElementInit list. + The ElementInit list (possibly modified). - + - Converts a long to a BsonValue. + Visits an InvocationExpression. - A long. - A BsonValue. + The InvocationExpression. + The InvocationExpression (possibly modified). - + - Converts a long? to a BsonValue. + Visits a LambdaExpression. - A long?. - A BsonValue. + The LambdaExpression. + The LambdaExpression (possibly modified). - + - Converts an ObjectId to a BsonValue. + Visits a ListInitExpression. - An ObjectId. - A BsonValue. + The ListInitExpression. + The ListInitExpression (possibly modified). - + - Converts an ObjectId? to a BsonValue. + Visits a MemberExpression. - An ObjectId?. - A BsonValue. + The MemberExpression. + The MemberExpression (possibly modified). - + - Converts a Regex to a BsonValue. + Visits a MemberAssignment. - A Regex. - A BsonValue. + The MemberAssignment. + The MemberAssignment (possibly modified). - + - Converts a string to a BsonValue. + Visits a MemberBinding. - A string. - A BsonValue. + The MemberBinding. + The MemberBinding (possibly modified). - + - Casts a BsonValue to a byte[]. + Visits a MemberBinding list. - The BsonValue. - A byte[]. + The MemberBinding list. + The MemberBinding list (possibly modified). - + - Casts a BsonValue to a DateTime. + Visits a MemberInitExpression. - The BsonValue. - A DateTime. + The MemberInitExpression. + The MemberInitExpression (possibly modified). - + - Casts a BsonValue to a DateTime?. + Visits a MemberListBinding. - The BsonValue. - A DateTime?. + The MemberListBinding. + The MemberListBinding (possibly modified). - + - Casts a BsonValue to a decimal. + Visits a MemberMemberBinding. - The BsonValue. - A decimal. + The MemberMemberBinding. + The MemberMemberBinding (possibly modified). - + - Casts a BsonValue to a decimal?. + Visits a MethodCallExpression. - The BsonValue. - A decimal?. + The MethodCallExpression. + The MethodCallExpression (possibly modified). - + - Casts a BsonValue to a . + Visits a NewExpression. - The BsonValue. - A . + The NewExpression. + The NewExpression (possibly modified). - + - Casts a BsonValue to a nullable ?. + Visits a NewArrayExpression. - The BsonValue. - A nullable . + The NewArrayExpression. + The NewArrayExpression (possibly modified). - + - Casts a BsonValue to a double. + Visits a ParameterExpression. - The BsonValue. - A double. + The ParameterExpression. + The ParameterExpression (possibly modified). - + - Casts a BsonValue to a double?. + Visits a TypeBinaryExpression. - The BsonValue. - A double?. + The TypeBinaryExpression. + The TypeBinaryExpression (possibly modified). - + - Casts a BsonValue to a Guid. + Visits a UnaryExpression. - The BsonValue. - A Guid. + The UnaryExpression. + The UnaryExpression (possibly modified). - + - Casts a BsonValue to a Guid?. + Default, global implementation of an . - The BsonValue. - A Guid?. - + - Casts a BsonValue to an int. + Initializes a new instance of the class. - The BsonValue. - An int. - + - Casts a BsonValue to an int?. + Gets the serializer for the specified . - The BsonValue. - An int?. + The type. + + The serializer. + - + - Casts a BsonValue to a long. + Gets the serializer for the specified . - The BsonValue. - A long. + + + The serializer. + - + - Casts a BsonValue to a long?. + Registers the serializer. - The BsonValue. - A long?. + The type. + The serializer. - + - Casts a BsonValue to an ObjectId. + Registers the serialization provider. This behaves like a stack, so the + last provider registered is the first provider consulted. - The BsonValue. - An ObjectId. + The serialization provider. - + - Casts a BsonValue to an ObjectId?. + Represents a dictionary serializer that can be used in LINQ queries. - The BsonValue. - An ObjectId?. - + - Casts a BsonValue to a Regex. + Gets the dictionary representation. - The BsonValue. - A Regex. + + The dictionary representation. + - + - Casts a BsonValue to a string. + Gets the key serializer. - The BsonValue. - A string. + + The key serializer. + - + - Compares two BsonValues. + Gets the value serializer. - The first BsonValue. - The other BsonValue. - True if the first BsonValue is less than the other one. + + The value serializer. + - + - Compares two BsonValues. + An interface implemented by a polymorphic serializer. - The first BsonValue. - The other BsonValue. - True if the first BsonValue is less than or equal to the other one. - + - Compares two BsonValues. + Gets a value indicating whether this serializer's discriminator is compatible with the object serializer. - The first BsonValue. - The other BsonValue. - True if the two BsonValues are not equal according to ==. + + true if this serializer's discriminator is compatible with the object serializer; otherwise, false. + - + - Compares two BsonValues. + A serializer registry. - The first BsonValue. - The other BsonValue. - True if the two BsonValues are equal according to ==. - + - Compares two BsonValues. + Gets the serializer for the specified . - The first BsonValue. - The other BsonValue. - True if the first BsonValue is greater than the other one. + The type. + The serializer. - + - Compares two BsonValues. + Gets the serializer for the specified . - The first BsonValue. - The other BsonValue. - True if the first BsonValue is greater than or equal to the other one. + + The serializer. - + - Gets or sets a value by position (only applies to BsonDocument and BsonArray). + Represents a serializer that has a child serializer that configuration attributes can be forwarded to. - The position. - The value. - + - Gets or sets a value by name (only applies to BsonDocument). + Gets the child serializer. - The name. - The value. + + The child serializer. + - + - Creates a new instance of the BsonValue class. + Returns a serializer that has been reconfigured with the specified child serializer. - A value to be mapped to a BsonValue. - A BsonValue. + The child serializer. + The reconfigured serializer. - + - Creates a shallow clone of the BsonValue (see also DeepClone). + A GUID generator that generates GUIDs in ascending order. To enable + an index to make use of the ascending nature make sure to use + GuidRepresentation.Standard + as the storage representation. + Internally the GUID is of the form + 8 bytes: Ticks from DateTime.UtcNow.Ticks + 3 bytes: hash of machine name + 2 bytes: low order bytes of process Id + 3 bytes: increment - A shallow clone of the BsonValue. - + - Compares this BsonValue to another BsonValue. + Gets an instance of AscendingGuidGenerator. - The other BsonValue. - A 32-bit signed integer that indicates whether this BsonValue is less than, equal to, or greather than the other BsonValue. - + - Compares the type of this BsonValue to the type of another BsonValue. + Generates an ascending Guid for a document. Consecutive invocations + should generate Guids that are ascending from a MongoDB perspective - The other BsonValue. - A 32-bit signed integer that indicates whether the type of this BsonValue is less than, equal to, or greather than the type of the other BsonValue. + The container of the document (will be a + MongoCollection when called from the driver). + The document it was generated for. + A Guid. - + - Creates a deep clone of the BsonValue (see also Clone). + Generates a Guid for a document. Note - this is purely used for + unit testing - A deep clone of the BsonValue. + The time portion of the Guid + A 5 byte array with the first 3 bytes + representing a machine id and the next 2 representing a process + id + The increment portion of the Guid. Used + to distinguish between 2 Guids that have the timestamp. Note + only the least significant 3 bytes are used. + A Guid. - + - Compares this BsonValue to another BsonValue. + Tests whether an id is empty. - The other BsonValue. - True if the two BsonValue values are equal. + The id to test. + True if the Id is empty. False otherwise - + - Compares this BsonValue to another object. + Gets the current process id. This method exists because of how + CAS operates on the call stack, checking for permissions before + executing the method. Hence, if we inlined this call, the calling + method would not execute before throwing an exception requiring the + try/catch at an even higher level that we don't necessarily control. - The other object. - True if the other object is a BsonValue and equal to this one. - + - Gets the hash code. + Represents an Id generator for Guids stored in BsonBinaryData values. - The hash code. - + - Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + Initializes a new instance of the BsonBinaryDataGuidGenerator class. - A Boolean. + The GuidRepresentation to use when generating new Id values. - + - Converts this BsonValue to a Decimal. + Gets an instance of BsonBinaryDataGuidGenerator for CSharpLegacy GuidRepresentation. - A Decimal. - + - Converts this BsonValue to a Decimal128. + Gets an instance of BsonBinaryDataGuidGenerator for JavaLegacy GuidRepresentation. - A Decimal128. - + - Converts this BsonValue to a Double. + Gets an instance of BsonBinaryDataGuidGenerator for PythonLegacy GuidRepresentation. - A Double. - + - Converts this BsonValue to an Int32. + Gets an instance of BsonBinaryDataGuidGenerator for Standard GuidRepresentation. - An Int32. - + - Converts this BsonValue to an Int64. + Gets an instance of BsonBinaryDataGuidGenerator for Unspecifed GuidRepresentation. - An Int64. - + - Converts this BsonValue to a DateTime in local time. + Gets the instance of BsonBinaryDataGuidGenerator for a GuidRepresentation. - A DateTime. + The GuidRepresentation. + The instance of BsonBinaryDataGuidGenerator for a GuidRepresentation. - + - Converts this BsonValue to a DateTime? in local time. + Generates an Id for a document. - A DateTime?. + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. - + - Converts this BsonValue to a DateTime? in UTC. + Tests whether an Id is empty. - A DateTime?. + The Id. + True if the Id is empty. - + - Converts this BsonValue to a DateTime in UTC. + Represents an Id generator for BsonObjectIds. - A DateTime. - + - Implementation of the IConvertible GetTypeCode method. + Initializes a new instance of the BsonObjectIdGenerator class. - The TypeCode. - + - Implementation of the IConvertible ToBoolean method. + Gets an instance of ObjectIdGenerator. - The format provider. - A bool. - + - Implementation of the IConvertible ToByte method. + Generates an Id for a document. - The format provider. - A byte. + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. - + - Implementation of the IConvertible ToChar method. + Tests whether an Id is empty. - The format provider. - A char. + The Id. + True if the Id is empty. - + - Implementation of the IConvertible ToDateTime method. + Represents an Id generator for Guids using the COMB algorithm. - The format provider. - A DateTime. - + - Implementation of the IConvertible ToDecimal method. + Initializes a new instance of the CombGuidGenerator class. - The format provider. - A decimal. - + - Implementation of the IConvertible ToDouble method. + Gets an instance of CombGuidGenerator. - The format provider. - A double. - + - Implementation of the IConvertible ToInt16 method. + Generates an Id for a document. - The format provider. - A short. + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. - + - Implementation of the IConvertible ToInt32 method. + Tests whether an Id is empty. - The format provider. - An int. + The Id. + True if the Id is empty. - + - Implementation of the IConvertible ToInt64 method. + Create a new CombGuid from a given Guid and timestamp. - The format provider. - A long. + The base Guid. + The timestamp. + A new CombGuid created by combining the base Guid with the timestamp. - + - Implementation of the IConvertible ToSByte method. + Represents an Id generator for Guids. - The format provider. - An sbyte. - + - Implementation of the IConvertible ToSingle method. + Initializes a new instance of the GuidGenerator class. - The format provider. - A float. - + - Implementation of the IConvertible ToString method. + Gets an instance of GuidGenerator. - The format provider. - A string. - + - Implementation of the IConvertible ToUInt16 method. + Generates an Id for a document. - The format provider. - A ushort. + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. - + - Implementation of the IConvertible ToUInt32 method. + Tests whether an Id is empty. - The format provider. - A uint. + The Id. + True if the Id is empty. - + - Implementation of the IConvertible ToUInt64 method. + Represents an Id generator that only checks that the Id is not null. - The format provider. - A ulong. - + - Implementation of operator ==. + Initializes a new instance of the NullIdChecker class. - The other BsonValue. - True if the two BsonValues are equal according to ==. - + - Represents a Decimal128 value. + Gets an instance of NullIdChecker. - + - Gets the maximum value. + Generates an Id for a document. + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. - + - Gets the minimum value. + Tests whether an Id is empty. + The Id. + True if the Id is empty. - + - Represents negative infinity. + Represents an Id generator for ObjectIds. - + - Represents one. + Initializes a new instance of the ObjectIdGenerator class. - + - Represents positive infinity. + Gets an instance of ObjectIdGenerator. - + - Represents a value that is not a number. + Generates an Id for a document. + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. - + - Represents a value that is not a number and raises errors when used in calculations. + Tests whether an Id is empty. + The Id. + True if the Id is empty. - + - Represents zero. + Represents an Id generator for ObjectIds represented internally as strings. - + - Implements the operator ==. + Initializes a new instance of the StringObjectIdGenerator class. - The LHS. - The RHS. - - The result of the operator. - - + - Implements the operator !=. + Gets an instance of StringObjectIdGenerator. - The LHS. - The RHS. - - The result of the operator. - - + - Returns a value indicating whether a specified Decimal128 is greater than another specified Decimal128. + Generates an Id for a document. - The first value. - The second value. - - true if x > y; otherwise, false. - + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. - + - Returns a value indicating whether a specified Decimal128 is greater than or equal to another another specified Decimal128. + Tests whether an Id is empty. - The first value. - The second value. - - true if x >= y; otherwise, false. - + The Id. + True if the Id is empty. - + - Returns a value indicating whether a specified Decimal128 is less than another specified Decimal128. + Represents an Id generator that only checks that the Id is not all zeros. - The first value. - The second value. - - true if x < y; otherwise, false. - + The type of the Id. - + - Returns a value indicating whether a specified Decimal128 is less than or equal to another another specified Decimal128. + Initializes a new instance of the ZeroIdChecker class. - The first value. - The second value. - - true if x <= y; otherwise, false. - - + - Performs an explicit conversion from to . + Generates an Id for a document. - The value to convert. - - The result of the conversion. - + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. - + - Performs an explicit conversion from to . + Tests whether an Id is empty. - The value to convert. - - The result of the conversion. - + The Id. + True if the Id is empty. - + - Performs an explicit conversion from to . + Represents a serializer that has a DictionaryRepresentation property. - The value to convert. - - The result of the conversion. - - + - Performs an implicit conversion from to . + Gets the dictionary representation. - The value. - - The result of the conversion. - + + The dictionary representation. + - + - Performs an implicit conversion from to . + Returns a serializer that has been reconfigured with the specified dictionary representation. - The value. - - The result of the conversion. - + The dictionary representation. + The reconfigured serializer. - + - Performs an explicit conversion from to . + Represents a serializer that has a DictionaryRepresentation property. - The value. - - The result of the conversion. - + The type of the serializer. - + - Performs an explicit conversion from to . + Returns a serializer that has been reconfigured with the specified dictionary representation. - The value. - - The result of the conversion. - + The dictionary representation. + The reconfigured serializer. - + - Performs an implicit conversion from to . + Represents a serializer that has a Representation property. - The value. - - The result of the conversion. - - + - Performs an implicit conversion from to . + Gets the representation. - The value. - - The result of the conversion. - + + The representation. + - + - Performs an implicit conversion from to . + Returns a serializer that has been reconfigured with the specified representation. - The value. - - The result of the conversion. - + The representation. + The reconfigured serializer. - + - Performs an implicit conversion from to . + Represents a serializer that has a Representation property. - The value. - - The result of the conversion. - + The type of the serializer. - + - Performs an implicit conversion from to . + Returns a serializer that has been reconfigured with the specified representation. - The value. - - The result of the conversion. - + The representation. + The reconfigured serializer. - + - Performs an implicit conversion from to . + Represents a serializer that has a representation converter. - The value. - - The result of the conversion. - - + - Performs an implicit conversion from to . + Gets the converter. - The value. - - The result of the conversion. - + + The converter. + - + - Performs an explicit conversion from to . + Returns a serializer that has been reconfigured with the specified item serializer. - The value to convert. - - The result of the conversion. - + The converter. + The reconfigured serializer. - + - Performs an explicit conversion from to . + Represents a serializer that has a representation converter. - The value to convert. - - The result of the conversion. - + The type of the serializer. - + - Performs an explicit conversion from to . + Returns a serializer that has been reconfigured with the specified item serializer. - The value to convert. - - The result of the conversion. - + The converter. + The reconfigured serializer. - + - Performs an explicit conversion from to . + Represents the representation to use for dictionaries. - The value to convert. - - The result of the conversion. - - + - Performs an explicit conversion from to . + Represent the dictionary as a Document. - The value to convert. - - The result of the conversion. - - + - Performs an explicit conversion from to . + Represent the dictionary as an array of arrays. - The value to convert. - - The result of the conversion. - - + - Performs an explicit conversion from to . + Represent the dictionary as an array of documents. - The value to convert. - - The result of the conversion. - - + - Performs an explicit conversion from to . + Represents the external representation of a field or property. - The value to convert. - - The result of the conversion. - - + - Performs an explicit conversion from to . + Initializes a new instance of the RepresentationConverter class. - The value to convert. - - The result of the conversion. - + Whether to allow overflow. + Whether to allow truncation. - + - Compares two specified Decimal128 values and returns an integer that indicates whether the first value - is greater than, less than, or equal to the second value. + Gets whether to allow overflow. - The first value. - The second value. - Less than zero if x < y, zero if x == y, and greater than zero if x > y. - + - Determines whether the specified Decimal128 instances are considered equal. + Gets whether to allow truncation. - The first Decimal128 object to compare. - The second Decimal128 object to compare. - True if the objects are considered equal; otherwise false. If both x and y are null, the method returns true. - + - Creates a new Decimal128 value from its components. + Converts a Decimal128 to a Decimal. - if set to true [is negative]. - The exponent. - The signficand high bits. - The significand low bits. - A Decimal128 value. + A Decimal128. + A Decimal. - + - Creates a new Decimal128 value from the IEEE encoding bits. + Converts a Double to a Decimal. - The high bits. - The low bits. - A Decimal128 value. + A Double. + A Decimal. - + - Gets the exponent of a Decimal128 value. + Converts an Int32 to a Decimal. - The Decimal128 value. - The exponent. + An Int32. + A Decimal. - + - Gets the high bits of the significand of a Decimal128 value. + Converts an Int64 to a Decimal. - The Decimal128 value. - The high bits of the significand. + An Int64. + A Decimal. - + - Gets the high bits of the significand of a Decimal128 value. + Converts a decimal to a Decimal128. - The Decimal128 value. - The high bits of the significand. + A decimal. + A Decimal128. - + - Returns a value indicating whether the specified number evaluates to negative or positive infinity. + Converts a Double to a Decimal128. - A 128-bit decimal. - true if evaluates to negative or positive infinity; otherwise, false. + A Double. + A Decimal128. - + - Returns a value indicating whether the specified number is not a number. + Converts an Int32 to a Decimal128. - A 128-bit decimal. - true if is not a number; otherwise, false. + An Int32. + A Decimal128. - + - Returns a value indicating whether the specified number is negative. + Converts an Int64 to a Decimal128. - A 128-bit decimal. - true if is negative; otherwise, false. + An Int64. + A Decimal128. - + - Returns a value indicating whether the specified number evaluates to negative infinity. + Converts a UInt64 to a Decimal128. - A 128-bit decimal. - true if evaluates to negative infinity; otherwise, false. + A UInt64. + A Decimal128. - + - Returns a value indicating whether the specified number evaluates to positive infinity. + Converts a Decimal to a Double. - A 128-bit decimal. - true if evaluates to positive infinity; otherwise, false. + A Decimal. + A Double. - + - Returns a value indicating whether the specified number is a quiet not a number. + Converts a Decimal128 to a Double. - A 128-bit decimal. - true if is a quiet not a number; otherwise, false. + A Decimal. + A Double. - + - Returns a value indicating whether the specified number is a signaled not a number. + Converts a Double to a Double. - A 128-bit decimal. - true if is a signaled not a number; otherwise, false. + A Double. + A Double. - + - Returns a value indicating whether the specified number is zero. + Converts a Single to a Double. - A 128-bit decimal. - - true if the specified number is zero; otherwise, false. - + A Single. + A Double. - + - Negates the specified x. + Converts an Int32 to a Double. - The x. - The result of multiplying the value by negative one. + An Int32. + A Double. - + - Converts the string representation of a number to its equivalent. + Converts an Int64 to a Double. - The string representation of the number to convert. - - The equivalent to the number contained in . - + An Int64. + A Double. - + - Converts the value of the specified to the equivalent 8-bit unsigned integer. + Converts an Int16 to a Double. - The number to convert. - A 8-bit unsigned integer equivalent to . + An Int16. + A Double. - + - Converts the value of the specified to the equivalent . + Converts a UInt32 to a Double. - The number to convert. - A equivalent to . + A UInt32. + A Double. - + - Converts the value of the specified to the equivalent . + Converts a UInt64 to a Double. - The number to convert. - A equivalent to . + A UInt64. + A Double. - + - Converts the value of the specified to the equivalent 16-bit signed integer. + Converts a UInt16 to a Double. - The number to convert. - A 16-bit signed integer equivalent to . + A UInt16. + A Double. - + - Converts the value of the specified to the equivalent 32-bit signed integer. + Converts a Decimal128 to an Int16. - The number to convert. - A 32-bit signed integer equivalent to . + A Decimal128. + An Int16. - + - Converts the value of the specified to the equivalent 64-bit signed integer. + Converts a Double to an Int16. - The number to convert. - A 64-bit signed integer equivalent to . + A Double. + An Int16. - + - Converts the value of the specified to the equivalent 8-bit signed integer. + Converts an Int32 to an Int16. - The number to convert. - A 8-bit signed integer equivalent to . + An Int32. + An Int16. - + - Converts the value of the specified to the equivalent . + Converts an Int64 to an Int16. - The number to convert. - A equivalent to . + An Int64. + An Int16. - + - Converts the value of the specified to the equivalent 16-bit unsigned integer. + Converts a Decimal to an Int32. - The number to convert. - A 16-bit unsigned integer equivalent to . + A Decimal. + An Int32. - + - Converts the value of the specified to the equivalent 32-bit unsigned integer. + Converts a Decimal128 to an Int32. - The number to convert. - A 32-bit unsigned integer equivalent to . + A Decimal128. + An Int32. - + - Converts the value of the specified to the equivalent 64-bit unsigned integer. + Converts a Double to an Int32. - The number to convert. - A 64-bit unsigned integer equivalent to . + A Double. + An Int32. - + - Converts the string representation of a number to its equivalent. A return value indicates whether the conversion succeeded or failed. + Converts a Single to an Int32. - The string representation of the number to convert. - When this method returns, contains the number that is equivalent to the numeric value contained in , if the conversion succeeded, or is zero if the conversion failed. The conversion fails if the parameter is null, is not a number in a valid format, or represents a number less than the min value or greater than the max value. This parameter is passed uninitialized. - - true if was converted successfully; otherwise, false. - + A Single. + An Int32. - + - Initializes a new instance of the struct. + Converts an Int32 to an Int32. - The value. + An Int32. + An Int32. - + - Initializes a new instance of the struct. + Converts an Int64 to an Int32. - The value. + An Int64. + An Int32. - + - Initializes a new instance of the struct. + Converts an Int16 to an Int32. - The value. + An Int16. + An Int32. - + - Initializes a new instance of the struct. + Converts a UInt32 to an Int32. - The value. + A UInt32. + An Int32. - + - Initializes a new instance of the struct. + Converts a UInt64 to an Int32. - The value. + A UInt64. + An Int32. - + - Initializes a new instance of the struct. + Converts a UInt16 to an Int32. - The value. + A UInt16. + An Int32. - + - Initializes a new instance of the struct. + Converts a Decimal to an Int64. - The value. - - - - - - - - - - - - + A Decimal. + An Int64. - + - Gets the high order 64 bits of the binary representation of this instance. + Converts a Decimal128 to an Int64. - The high order 64 bits of the binary representation of this instance. + A Decimal128. + An Int64. - + - Gets the low order 64 bits of the binary representation of this instance. + Converts a Double to an Int64. - The low order 64 bits of the binary representation of this instance. - - - + A Double. + An Int64. - + - A static class containing methods to convert to and from Guids and byte arrays in various byte orders. + Converts a Single to an Int64. + A Single. + An Int64. - + - Converts a byte array to a Guid. + Converts an Int32 to an Int64. - The byte array. - The representation of the Guid in the byte array. - A Guid. + An Int32. + An Int64. - + - Converts a Guid to a byte array. + Converts an Int64 to an Int64. - The Guid. - The representation of the Guid in the byte array. - A byte array. + An Int64. + An Int64. - + - Represents the representation to use when converting a Guid to a BSON binary value. + Converts an Int16 to an Int64. + An Int16. + An Int64. - + - The representation for Guids is unspecified, so conversion between Guids and Bson binary data is not possible. + Converts a UInt32 to an Int64. + A UInt32. + An Int64. - + - Use the new standard representation for Guids (binary subtype 4 with bytes in network byte order). + Converts a UInt64 to an Int64. + A UInt64. + An Int64. - + - Use the representation used by older versions of the C# driver (including most community provided C# drivers). + Converts a UInt16 to an Int64. + A UInt16. + An Int64. - + - Use the representation used by older versions of the Java driver. + Converts a Decimal128 to a Single. + A Decimal128. + A Single. - + - Use the representation used by older versions of the Python driver. + Converts a Double to a Single. + A Double. + A Single. - + - An interface implemented by objects that convert themselves to a BsonDocument. + Converts an Int32 to a Single. + An Int32. + A Single. - + - Converts this object to a BsonDocument. + Converts an Int64 to a Single. - A BsonDocument. + An Int64. + A Single. - + - An interface for custom mappers that map an object to a BsonValue. + Converts a Decimal128 to a UInt16. + A Decimal128. + A UInt16. - + - Tries to map an object to a BsonValue. + Converts a Double to a UInt16. - An object. - The BsonValue. - True if the mapping was successfull. + A Double. + A UInt16. - + - Represents a BSON array that is deserialized lazily. + Converts an Int32 to a UInt16. + An Int32. + A UInt16. - + - Initializes a new instance of the class. + Converts an Int64 to a UInt16. - The slice. - slice - LazyBsonArray cannot be used with an IByteBuffer that needs disposing. + An Int64. + A UInt16. - + - Gets the slice. + Converts a Decimal128 to a UInt32. - - The slice. - + A Decimal128. + A UInt32. - + - Creates a shallow clone of the array (see also DeepClone). + Converts a Double to a UInt32. - A shallow clone of the array. + A Double. + A UInt32. - + - Creates a deep clone of the array (see also Clone). + Converts an Int32 to a UInt32. - A deep clone of the array. + An Int32. + A UInt32. - + - Releases unmanaged and - optionally - managed resources. + Converts an Int64 to a UInt32. - true to release both managed and unmanaged resources; false to release only unmanaged resources. + An Int64. + A UInt32. - + - Materializes the BsonArray. + Converts a Decimal128 to a UInt64. - - The materialized values. - + A Decimal128. + A UInt64. - + - Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + Converts a Double to a UInt64. + A Double. + A UInt64. - + - Represents a BSON document that is deserialized lazily. + Converts an Int32 to a UInt64. + An Int32. + A UInt64. - + - Initializes a new instance of the class. + Converts an Int64 to a UInt64. - The slice. - slice - LazyBsonDocument cannot be used with an IByteBuffer that needs disposing. + An Int64. + A UInt64. - + - Initializes a new instance of the class. + Represents the units a TimeSpan is serialized in. - The bytes. - + - Gets the slice. + Use ticks as the units. - - The slice. - - + - Creates a shallow clone of the document (see also DeepClone). + Use days as the units. - - A shallow clone of the document. - - + - Creates a deep clone of the document (see also Clone). + Use hours as the units. - - A deep clone of the document. - - + - Releases unmanaged and - optionally - managed resources. + Use minutes as the units. - true to release both managed and unmanaged resources; false to release only unmanaged resources. - + - Materializes the BsonDocument. + Use seconds as the units. - The materialized elements. - + - Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + Use milliseconds as the units. - + - Represents a BSON array that is not materialized until you start using it. + Use microseconds as the units. - + - Initializes a new instance of the class. + Use nanoseconds as the units. - + - Gets or sets the total number of elements the internal data structure can hold without resizing. + Provides a serializer for interfaces. - + + + + - Gets the count of array elements. + Provides serializers for primitive types. - + + + + - Gets a value indicating whether this instance is disposed. + Base class for serialization providers. - - true if this instance is disposed; otherwise, false. - - + + + + + + + - Gets a value indicating whether this instance is materialized. + Creates the serializer from a serializer type definition and type arguments. - - true if this instance is materialized; otherwise, false. - + The serializer type definition. + The type arguments. + A serializer. - + - Gets the array elements as raw values (see BsonValue.RawValue). + Creates the serializer from a serializer type definition and type arguments. + The serializer type definition. + The type arguments. + The serializer registry. + + A serializer. + - + - Gets the array elements. + Creates the serializer. + The serializer type. + A serializer. - + - Gets or sets a value by position. + Creates the serializer. - The position. - The value. + The serializer type. + The serializer registry. + + A serializer. + - + - Adds an element to the array. + Represents a serializer for an abstract class. - The value to add to the array. - The array (so method calls can be chained). + The type of the class. - + - Adds multiple elements to the array. + Represents a serializer for BitArrays. - A list of values to add to the array. - The array (so method calls can be chained). - + - Adds multiple elements to the array. + Initializes a new instance of the class. - A list of values to add to the array. - The array (so method calls can be chained). - + - Adds multiple elements to the array. + Initializes a new instance of the class. - A list of values to add to the array. - The array (so method calls can be chained). + The representation. - + - Adds multiple elements to the array. + Gets the representation. - A list of values to add to the array. - The array (so method calls can be chained). + + The representation. + - + - Adds multiple elements to the array. + Deserializes a value. - A list of values to add to the array. - The array (so method calls can be chained). + The deserialization context. + The deserialization args. + A deserialized value. - + - Adds multiple elements to the array. + Serializes a value. - A list of values to add to the array. - The array (so method calls can be chained). + The serialization context. + The serialization args. + The value. - + - Adds multiple elements to the array. + Returns a serializer that has been reconfigured with the specified representation. - A list of values to add to the array. - The array (so method calls can be chained). + The representation. + The reconfigured serializer. - + - Adds multiple elements to the array. + Represents a serializer for Booleans. - A list of values to add to the array. - The array (so method calls can be chained). - + - Adds multiple elements to the array. + Initializes a new instance of the class. - A list of values to add to the array. - The array (so method calls can be chained). - + - Clears the array. + Initializes a new instance of the class. + The representation. - + - Creates a shallow clone of the array (see also DeepClone). + Gets the representation. - - A shallow clone of the array. - + + The representation. + - + - Compares the array to another array. + Deserializes a value. - The other array. - A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other. + The deserialization context. + The deserialization args. + A deserialized value. - + - Compares the array to another BsonValue. + Serializes a value. - The other BsonValue. - A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other BsonValue. + The serialization context. + The serialization args. + The object. - + - Tests whether the array contains a value. + Returns a serializer that has been reconfigured with the specified representation. - The value to test for. - True if the array contains the value. + The representation. + The reconfigured serializer. - + - Copies elements from this array to another array. + Represents a serializer for BsonArrays. - The other array. - The zero based index of the other array at which to start copying. - + - Copies elements from this array to another array as raw values (see BsonValue.RawValue). + Initializes a new instance of the BsonArraySerializer class. - The other array. - The zero based index of the other array at which to start copying. - + - Creates a deep clone of the array (see also Clone). + Gets an instance of the BsonArraySerializer class. - - A deep clone of the array. - - + - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Determines whether the specified , is equal to this instance. + Tries to get the serialization info for the individual items of the array. - The to compare with this instance. + The serialization information. - true if the specified is equal to this instance; otherwise, false. + true if the serialization info exists; otherwise false. - + - Gets an enumerator that can enumerate the elements of the array. + Serializes a value. - An enumerator. + The serialization context. + The serialization args. + The object. - + - Gets the hash code. + Represents a serializer for BsonBinaryDatas. - The hash code. - + - Gets the index of a value in the array. + Initializes a new instance of the BsonBinaryDataSerializer class. - The value to search for. - The zero based index of the value (or -1 if not found). - + - Gets the index of a value in the array. + Gets an instance of the BsonBinaryDataSerializer class. - The value to search for. - The zero based index at which to start the search. - The zero based index of the value (or -1 if not found). - + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + + - Gets the index of a value in the array. + Serializes a value. - The value to search for. - The zero based index at which to start the search. - The number of elements to search. - The zero based index of the value (or -1 if not found). + The serialization context. + The serialization args. + The object. - + - Inserts a new value into the array. + Represents a serializer for BsonDecimal128s. - The zero based index at which to insert the new value. - The new value. - + - Removes the first occurrence of a value from the array. + Initializes a new instance of the BsonBooleanSerializer class. - The value to remove. - True if the value was removed. - + - Removes an element from the array. + Gets an instance of the BsonBooleanSerializer class. - The zero based index of the element to remove. - + - Converts the BsonArray to an array of BsonValues. + Deserializes a value. - An array of BsonValues. + The deserialization context. + The deserialization args. + A deserialized value. - + - Converts the BsonArray to a list of BsonValues. + Serializes a value. - A list of BsonValues. + The serialization context. + The serialization args. + The object. - + - Returns a string representation of the array. + Represents a serializer for BsonBooleans. - A string representation of the array. - + - Releases unmanaged and - optionally - managed resources. + Initializes a new instance of the BsonBooleanSerializer class. - true to release both managed and unmanaged resources; false to release only unmanaged resources. - + - Materializes the BsonArray. + Gets an instance of the BsonBooleanSerializer class. - The materialized elements. - + - Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Throws if disposed. + Serializes a value. - + The serialization context. + The serialization args. + The object. - + - Represents a BSON document that is not materialized until you start using it. + Represents a serializer for Decimal128s. - + - Initializes a new instance of the class. + Initializes a new instance of the class. - + - Gets the number of elements. + Initializes a new instance of the class. + The representation. - + - Gets the elements. + Initializes a new instance of the class. + The representation. + The converter. - + - Gets a value indicating whether this instance is disposed. + Gets the converter. - true if this instance is disposed; otherwise, false. + The converter. - + - Gets a value indicating whether this instance is materialized. + Gets the representation. - true if this instance is materialized; otherwise, false. + The representation. - + - Gets the element names. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Gets the raw values (see BsonValue.RawValue). + Serializes a value. + The serialization context. + The serialization args. + The object. - + - Gets the values. + Returns a serializer that has been reconfigured with the specified item serializer. + The converter. + The reconfigured serializer. - + - Gets or sets a value by position. + Returns a serializer that has been reconfigured with the specified representation. - The position. - The value. + The representation. + The reconfigured serializer. - + - Gets the value of an element or a default value if the element is not found. + Represents a serializer for a BsonDocument with some parts raw. - The name of the element. - The default value to return if the element is not found. - Teh value of the element or a default value if the element is not found. - + - Gets or sets a value by name. + Initializes a new instance of the class. The name. - The value. + The raw serializer. - - - Adds an element to the document. - - The element to add. - - The document (so method calls can be chained). - + + - + - Adds elements to the document from a dictionary of key/value pairs. + Wraps a serializer and projects using a function. - The dictionary. - The document (so method calls can be chained). + The type of from. + The type of to. - + - Adds elements to the document from a dictionary of key/value pairs. + Initializes a new instance of the class. - The dictionary. - Which keys of the hash table to add. - The document (so method calls can be chained). + From serializer. + The projector. - + - Adds elements to the document from a dictionary of key/value pairs. + Deserializes a value. - The dictionary. - The document (so method calls can be chained). + The deserialization context. + The deserialization args. + A deserialized value. - + - Adds elements to the document from a dictionary of key/value pairs. + Represents a helper for serializers. - The dictionary. - Which keys of the hash table to add. - The document (so method calls can be chained). - + - Adds elements to the document from a dictionary of key/value pairs. + Initializes a new instance of the class. - The dictionary. - The document (so method calls can be chained). + The members. - + - Adds elements to the document from a dictionary of key/value pairs. + Deserializes the members. - The dictionary. - Which keys of the hash table to add. - The document (so method calls can be chained). + The deserialization context. + The member handler. + The found member flags. - + - Adds a list of elements to the document. + Represents information about a member. - The list of elements. - The document (so method calls can be chained). - + - Adds a list of elements to the document. + Initializes a new instance of the class. - The list of elements. - The document (so method calls can be chained). + The name of the element. + The flag. + Whether the member is optional. - + - Creates and adds an element to the document. + Gets the flag. - The name of the element. - The value of the element. - - The document (so method calls can be chained). - + + The flag. + - + - Creates and adds an element to the document, but only if the condition is true. + Gets the name of the element. - The name of the element. - The value of the element. - Whether to add the element to the document. - The document (so method calls can be chained). + + The name of the element. + - + - Creates and adds an element to the document, but only if the condition is true. - If the condition is false the value factory is not called at all. + Gets a value indicating whether this member is optional. - The name of the element. - A delegate called to compute the value of the element if condition is true. - Whether to add the element to the document. - The document (so method calls can be chained). + Whether this member is optional. - + - Adds elements to the document from a dictionary of key/value pairs. + Represents a serializer that serializes values as a discriminator/value pair. - The dictionary. - - The document (so method calls can be chained). - + The type of the value. - + - Adds elements to the document from a dictionary of key/value pairs. + Initializes a new instance of the class. - The dictionary. - - The document (so method calls can be chained). - + The discriminator convention. + The wrapped serializer. - + - Adds a list of elements to the document. + Deserializes a value. - The list of elements. - - The document (so method calls can be chained). - + The deserialization context. + The deserialization args. + A deserialized value. - + - Adds elements to the document from a dictionary of key/value pairs. + Determines whether the reader is positioned at a discriminated wrapper. - The dictionary. - - The document (so method calls can be chained). - + The context. + True if the reader is positioned at a discriminated wrapper. - + - Clears the document (removes all elements). + Serializes a value. + The serialization context. + The serialization args. + The value. - + - Creates a shallow clone of the document (see also DeepClone). + Represents an abstract base class for serializers. - - A shallow clone of the document. - + The type of the value. - + - Compares this document to another document. + Gets the type of the values. - The other document. - - A 32-bit signed integer that indicates whether this document is less than, equal to, or greather than the other. - + + The type of the values. + - + - Compares the BsonDocument to another BsonValue. + Deserializes a value. - The other BsonValue. - A 32-bit signed integer that indicates whether this BsonDocument is less than, equal to, or greather than the other BsonValue. + The deserialization context. + The deserialization args. + A deserialized value. - + - Tests whether the document contains an element with the specified name. + Serializes a value. - The name of the element to look for. - - True if the document contains an element with the specified name. - + The serialization context. + The serialization args. + The value. - + - Tests whether the document contains an element with the specified value. + Creates an exception to throw when a type cannot be deserialized. - The value of the element to look for. - - True if the document contains an element with the specified value. - + An exception. - + - Creates a deep clone of the document (see also Clone). + Creates an exception to throw when a type cannot be deserialized. - - A deep clone of the document. - + An exception. - + - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + Creates an exception to throw when a type cannot be deserialized from a BsonType. + The BSON type. + An exception. - + - Determines whether the specified , is equal to this instance. + Ensures that the BsonType equals the expected type. - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - + The reader. + The expected type. - + - Gets an element of this document. + Represents an abstract base class for sealed class serializers. - The zero based index of the element. - - The element. - + The type of the value. - + - Gets an element of this document. + Deserializes a value. - The name of the element. - - A BsonElement. - + The deserialization context. + The deserialization args. + A deserialized value. - + - Gets an enumerator that can be used to enumerate the elements of this document. + Serializes a value. - - An enumerator. - + The serialization context. + The serialization args. + The value. - + - Returns a hash code for this instance. + Deserializes a class. - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - + The deserialization context. + The deserialization args. + A deserialized value. - + - Gets the value of an element. + Serializes a value of type {TValue}. - The zero based index of the element. - - The value of the element. - + The serialization context. + The serialization args. + The value. - + - Gets the value of an element. + Represents an abstract base class for struct serializers. - The name of the element. - - The value of the element. - + The type of the value. - + - Gets the value of an element or a default value if the element is not found. + Represents a serializer for a BsonValue that can round trip C# null. - The name of the element. - The default value returned if the element is not found. - - The value of the element or the default value if the element is not found. - + The type of the BsonValue. - + - Inserts a new element at a specified position. + Initializes a new instance of the class. - The position of the new element. - The element. + The wrapped serializer. - + - Merges another document into this one. Existing elements are not overwritten. + Deserializes a value. - The other document. - - The document (so method calls can be chained). - + The deserialization context. + The deserialization args. + A deserialized value. - + - Merges another document into this one, specifying whether existing elements are overwritten. + Serializes a value. - The other document. - Whether to overwrite existing elements. - - The document (so method calls can be chained). - + The serialization context. + The serialization args. + The object. - + - Removes an element from this document (if duplicate element names are allowed - then all elements with this name will be removed). + Represents a serializer for a BsonValue that can round trip C# null and implements IBsonArraySerializer and IBsonDocumentSerializer. - The name of the element to remove. + The type of the bson value. - + - Removes an element from this document. + Initializes a new instance of the class. - The zero based index of the element to remove. + The wrapped serializer. - + - Removes an element from this document. + Tries to get the serialization info for the individual items of the array. - The element to remove. + The serialization information. + + The serialization info for the items. + - + - Sets the value of an element. + Tries to get the serialization info for a member. - The zero based index of the element whose value is to be set. - The new value. + Name of the member. + The serialization information. - The document (so method calls can be chained). + true if the serialization info exists; otherwise false. - + + + Represents a serializer for a BsonValue that can round trip C# null and implements IBsonArraySerializer. + + The type of the bson value. + + + + Initializes a new instance of the class. + + The wrapped serializer. + + - Sets the value of an element (an element will be added if no element with this name is found). + Tries to get the serialization info for the individual items of the array. - The name of the element whose value is to be set. - The new value. + The serialization information. - The document (so method calls can be chained). + true if the serialization info exists; otherwise false. - + - Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). + Represents a serializer for a BsonValue that can round trip C# null and implements IBsonDocumentSerializer. - The new element. - - The document. - + The type of the bson value. - + - Sets an element of the document (replacing the existing element at that position). + Initializes a new instance of the class. - The zero based index of the element to replace. - The new element. - - The document. - + The wrapped serializer. - + - Tries to get an element of this document. + Tries to get the serialization info for a member. - The name of the element. - The element. + Name of the member. + The serialization information. - True if an element with that name was found. + true if the serialization info exists; otherwise false. - + - Tries to get the value of an element of this document. + Represents a serializer for BsonDateTimes. - The name of the element. - The value of the element. - - True if an element with that name was found. - - + - Releases unmanaged and - optionally - managed resources. + Initializes a new instance of the BsonDateTimeSerializer class. - true to release both managed and unmanaged resources; false to release only unmanaged resources. - + - Materializes the BsonDocument. + Gets an instance of the BsonDateTimeSerializer class. - The materialized elements. - + - Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Throws if disposed. + Serializes a value. - + The serialization context. + The serialization args. + The object. - + - Represents an ObjectId (see also BsonObjectId). + Represents a serializer for BsonDocuments. - + - Initializes a new instance of the ObjectId class. + Initializes a new instance of the BsonDocumentSerializer class. - The bytes. - + - Initializes a new instance of the ObjectId class. + Gets an instance of the BsonDocumentSerializer class. - The bytes. - The index into the byte array where the ObjectId starts. - + - Initializes a new instance of the ObjectId class. + Deserializes a value. - The timestamp (expressed as a DateTime). - The machine hash. - The PID. - The increment. + The deserialization context. + The deserialization args. + A deserialized value. - + - Initializes a new instance of the ObjectId class. + Gets the document Id. - The timestamp. - The machine hash. - The PID. - The increment. + The document. + The Id. + The nominal type of the Id. + The IdGenerator for the Id type. + True if the document has an Id. - + - Initializes a new instance of the ObjectId class. + Tries to get the serialization info for a member. - The value. + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + - + - Gets an instance of ObjectId where the value is empty. + Serializes a value. + The serialization context. + The serialization args. + The object. - + - Gets the timestamp. + Sets the document Id. + The document. + The Id. - + - Gets the machine. + Represents a serializer for BsonDocumentWrappers. - + - Gets the PID. + Initializes a new instance of the BsonDocumentWrapperSerializer class. - + - Gets the increment. + Gets an instance of the BsonDocumentWrapperSerializer class. - + - Gets the creation time (derived from the timestamp). + Deserializes a class. + The deserialization context. + The deserialization args. + A deserialized value. - + - Compares two ObjectIds. + Deserializes a class. - The first ObjectId. - The other ObjectId - True if the first ObjectId is less than the second ObjectId. + The deserialization context. + The deserialization args. + An object. - + - Compares two ObjectIds. + Serializes a value. - The first ObjectId. - The other ObjectId - True if the first ObjectId is less than or equal to the second ObjectId. + The serialization context. + The serialization args. + The object. - + - Compares two ObjectIds. + Represents a serializer for BsonDoubles. - The first ObjectId. - The other ObjectId. - True if the two ObjectIds are equal. - + - Compares two ObjectIds. + Initializes a new instance of the BsonDoubleSerializer class. - The first ObjectId. - The other ObjectId. - True if the two ObjectIds are not equal. - + - Compares two ObjectIds. + Gets an instance of the BsonDoubleSerializer class. - The first ObjectId. - The other ObjectId - True if the first ObjectId is greather than or equal to the second ObjectId. - + - Compares two ObjectIds. + Deserializes a value. - The first ObjectId. - The other ObjectId - True if the first ObjectId is greather than the second ObjectId. + The deserialization context. + The deserialization args. + A deserialized value. - + - Generates a new ObjectId with a unique value. + Serializes a value. - An ObjectId. + The serialization context. + The serialization args. + The object. - + - Generates a new ObjectId with a unique value (with the timestamp component based on a given DateTime). + Represents a serializer for BsonInt32s. - The timestamp component (expressed as a DateTime). - An ObjectId. - + - Generates a new ObjectId with a unique value (with the given timestamp). + Initializes a new instance of the BsonInt32Serializer class. - The timestamp component. - An ObjectId. - + - Packs the components of an ObjectId into a byte array. + Gets an instance of the BsonInt32Serializer class. - The timestamp. - The machine hash. - The PID. - The increment. - A byte array. - + - Parses a string and creates a new ObjectId. + Deserializes a value. - The string value. - A ObjectId. + The deserialization context. + The deserialization args. + A deserialized value. - + - Tries to parse a string and create a new ObjectId. + Serializes a value. - The string value. - The new ObjectId. - True if the string was parsed successfully. + The serialization context. + The serialization args. + The object. - + - Unpacks a byte array into the components of an ObjectId. + Represents a serializer for BsonInt64s. - A byte array. - The timestamp. - The machine hash. - The PID. - The increment. - + - Gets the current process id. This method exists because of how CAS operates on the call stack, checking - for permissions before executing the method. Hence, if we inlined this call, the calling method would not execute - before throwing an exception requiring the try/catch at an even higher level that we don't necessarily control. + Initializes a new instance of the BsonInt64Serializer class. - + - Compares this ObjectId to another ObjectId. + Gets an instance of the BsonInt64Serializer class. - The other ObjectId. - A 32-bit signed integer that indicates whether this ObjectId is less than, equal to, or greather than the other. - + - Compares this ObjectId to another ObjectId. + Deserializes a value. - The other ObjectId. - True if the two ObjectIds are equal. + The deserialization context. + The deserialization args. + A deserialized value. - + - Compares this ObjectId to another object. + Serializes a value. - The other object. - True if the other object is an ObjectId and equal to this one. + The serialization context. + The serialization args. + The object. - + - Gets the hash code. + Represents a serializer for BsonJavaScripts. - The hash code. - + - Converts the ObjectId to a byte array. + Initializes a new instance of the BsonJavaScriptSerializer class. - A byte array. - + - Converts the ObjectId to a byte array. + Gets an instance of the BsonJavaScriptSerializer class. - The destination. - The offset. - + - Returns a string representation of the value. + Deserializes a value. - A string representation of the value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Represents an immutable BSON array that is represented using only the raw bytes. + Serializes a value. + The serialization context. + The serialization args. + The object. - + - Initializes a new instance of the class. + Represents a serializer for BsonJavaScriptWithScopes. - The slice. - slice - RawBsonArray cannot be used with an IByteBuffer that needs disposing. - + - Gets or sets the total number of elements the internal data structure can hold without resizing. + Initializes a new instance of the BsonJavaScriptWithScopeSerializer class. - + - Gets the count of array elements. + Gets an instance of the BsonJavaScriptWithScopeSerializer class. - + - Gets whether the array is read-only. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Gets the array elements as raw values (see BsonValue.RawValue). + Serializes a value. + The serialization context. + The serialization args. + The object. - + - Gets the slice. + Represents a serializer for BsonMaxKeys. - - The slice. - - + - Gets the array elements. + Initializes a new instance of the BsonMaxKeySerializer class. - + - Gets or sets a value by position. + Gets an instance of the BsonMaxKeySerializer class. - The position. - The value. - + - Adds an element to the array. + Deserializes a value. - The value to add to the array. - The array (so method calls can be chained). + The deserialization context. + The deserialization args. + A deserialized value. - + - Adds multiple elements to the array. + Serializes a value. - A list of values to add to the array. - The array (so method calls can be chained). + The serialization context. + The serialization args. + The object. - + - Adds multiple elements to the array. + Represents a serializer for BsonMinKeys. - A list of values to add to the array. - The array (so method calls can be chained). - + - Adds multiple elements to the array. + Initializes a new instance of the BsonMinKeySerializer class. - A list of values to add to the array. - The array (so method calls can be chained). - + - Adds multiple elements to the array. + Gets an instance of the BsonMinKeySerializer class. - A list of values to add to the array. - The array (so method calls can be chained). - + - Adds multiple elements to the array. + Deserializes a value. - A list of values to add to the array. - The array (so method calls can be chained). + The deserialization context. + The deserialization args. + A deserialized value. - + - Adds multiple elements to the array. + Serializes a value. - A list of values to add to the array. - The array (so method calls can be chained). + The serialization context. + The serialization args. + The object. - + - Adds multiple elements to the array. + Represents a serializer for BsonNulls. - A list of values to add to the array. - The array (so method calls can be chained). - + - Adds multiple elements to the array. + Initializes a new instance of the BsonNullSerializer class. - A list of values to add to the array. - The array (so method calls can be chained). - + - Adds multiple elements to the array. + Gets an instance of the BsonNullSerializer class. - A list of values to add to the array. - The array (so method calls can be chained). - + - Creates a shallow clone of the array (see also DeepClone). + Deserializes a value. - A shallow clone of the array. + The deserialization context. + The deserialization args. + A deserialized value. - + - Clears the array. + Serializes a value. + The serialization context. + The serialization args. + The object. - + - Tests whether the array contains a value. + Represents a serializer for BsonObjectIds. - The value to test for. - True if the array contains the value. - + - Copies elements from this array to another array. + Initializes a new instance of the BsonObjectIdSerializer class. - The other array. - The zero based index of the other array at which to start copying. - + - Copies elements from this array to another array as raw values (see BsonValue.RawValue). + Gets an instance of the BsonObjectIdSerializer class. - The other array. - The zero based index of the other array at which to start copying. - + - Creates a deep clone of the array (see also Clone). + Deserializes a value. - A deep clone of the array. + The deserialization context. + The deserialization args. + A deserialized value. - + - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + Serializes a value. + The serialization context. + The serialization args. + The object. - + - Gets an enumerator that can enumerate the elements of the array. + Represents a serializer for BsonRegularExpressions. - An enumerator. - + - Gets the index of a value in the array. + Initializes a new instance of the BsonRegularExpressionSerializer class. - The value to search for. - The zero based index of the value (or -1 if not found). - + - Gets the index of a value in the array. + Gets an instance of the BsonRegularExpressionSerializer class. - The value to search for. - The zero based index at which to start the search. - The zero based index of the value (or -1 if not found). - + - Gets the index of a value in the array. + Deserializes a value. - The value to search for. - The zero based index at which to start the search. - The number of elements to search. - The zero based index of the value (or -1 if not found). + The deserialization context. + The deserialization args. + A deserialized value. - + - Inserts a new value into the array. + Serializes a value. - The zero based index at which to insert the new value. - The new value. + The serialization context. + The serialization args. + The object. - + - Materializes the RawBsonArray into a regular BsonArray. + Represents a serializer for BsonStrings. - The binary reader settings. - A BsonArray. - + - Removes the first occurrence of a value from the array. + Initializes a new instance of the BsonStringSerializer class. - The value to remove. - True if the value was removed. - + - Removes an element from the array. + Gets an instance of the BsonStringSerializer class. - The zero based index of the element to remove. - + - Converts the BsonArray to an array of BsonValues. + Deserializes a value. - An array of BsonValues. + The deserialization context. + The deserialization args. + A deserialized value. - + - Converts the BsonArray to a list of BsonValues. + Serializes a value. - A list of BsonValues. + The serialization context. + The serialization args. + The object. - + - Returns a string representation of the array. + Represents a serializer for BsonSymbols. - A string representation of the array. - + - Releases unmanaged and - optionally - managed resources. + Initializes a new instance of the BsonSymbolSerializer class. - true to release both managed and unmanaged resources; false to release only unmanaged resources. - + - Throws if disposed. + Gets an instance of the BsonSymbolSerializer class. - - + - Represents an immutable BSON document that is represented using only the raw bytes. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Initializes a new instance of the class. + Serializes a value. - The slice. - slice - RawBsonDocument cannot be used with an IByteBuffer that needs disposing. + The serialization context. + The serialization args. + The object. - + - Initializes a new instance of the class. + Represents a serializer for BsonTimestamps. - The bytes. - + - Gets the number of elements. + Initializes a new instance of the BsonTimestampSerializer class. - + - Gets the elements. + Gets an instance of the BsonTimestampSerializer class. - + - Gets the element names. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Gets the raw values (see BsonValue.RawValue). + Serializes a value. + The serialization context. + The serialization args. + The object. - + - Gets the slice. + Represents a serializer for BsonUndefineds. - - The slice. - - + - Gets the values. + Initializes a new instance of the BsonUndefinedSerializer class. - + - Gets or sets a value by position. + Gets an instance of the BsonUndefinedSerializer class. - The position. - The value. - + - Gets the value of an element or a default value if the element is not found. + Deserializes a value. - The name of the element. - The default value to return if the element is not found. - Teh value of the element or a default value if the element is not found. + The deserialization context. + The deserialization args. + A deserialized value. - + - Gets or sets a value by name. + Serializes a value. - The name. - The value. + The serialization context. + The serialization args. + The object. - + - Adds an element to the document. + Represents a serializer for BsonValues. - The element to add. - - The document (so method calls can be chained). - - + - Adds elements to the document from a dictionary of key/value pairs. + Initializes a new instance of the BsonValueSerializer class. - The dictionary. - The document (so method calls can be chained). - + - Adds elements to the document from a dictionary of key/value pairs. + Gets an instance of the BsonValueSerializer class. - The dictionary. - Which keys of the hash table to add. - The document (so method calls can be chained). - + - Adds elements to the document from a dictionary of key/value pairs. + Deserializes a value. - The dictionary. - The document (so method calls can be chained). + The deserialization context. + The deserialization args. + A deserialized value. - + - Adds elements to the document from a dictionary of key/value pairs. + Tries to get the serialization info for a member. - The dictionary. - Which keys of the hash table to add. - The document (so method calls can be chained). + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + - + - Adds elements to the document from a dictionary of key/value pairs. + Tries to get the serialization info for the individual items of the array. - The dictionary. - The document (so method calls can be chained). + The serialization information. + + true if the serialization info exists; otherwise false. + - + - Adds elements to the document from a dictionary of key/value pairs. + Serializes a value. - The dictionary. - Which keys of the hash table to add. - The document (so method calls can be chained). + The serialization context. + The serialization args. + The object. - + - Adds a list of elements to the document. + Represents a base class for BsonValue serializers. - The list of elements. - The document (so method calls can be chained). + The type of the BsonValue. - + - Adds a list of elements to the document. + Initializes a new instance of the class. - The list of elements. - The document (so method calls can be chained). + The Bson type. - + - Creates and adds an element to the document. + Deserializes a value. - The name of the element. - The value of the element. - - The document (so method calls can be chained). - + The deserialization context. + The deserialization args. + A deserialized value. - + - Creates and adds an element to the document, but only if the condition is true. + Serializes a value. - The name of the element. - The value of the element. - Whether to add the element to the document. - The document (so method calls can be chained). + The serialization context. + The serialization args. + The object. - + - Adds elements to the document from a dictionary of key/value pairs. + Deserializes a value. - The dictionary. - - The document (so method calls can be chained). - + The deserialization context. + The deserialization args. + A deserialized value. - + - Adds elements to the document from a dictionary of key/value pairs. + Serializes a value. - The dictionary. - - The document (so method calls can be chained). - + The serialization context. + The serialization args. + The object. - + - Adds a list of elements to the document. + Represents a serializer for ByteArrays. - The list of elements. - - The document (so method calls can be chained). - - + - Adds elements to the document from a dictionary of key/value pairs. + Initializes a new instance of the class. - The dictionary. - - The document (so method calls can be chained). - - + - Clears the document (removes all elements). + Initializes a new instance of the class. + The representation. - + - Creates a shallow clone of the document (see also DeepClone). + Gets the representation. - - A shallow clone of the document. - + + The representation. + - + - Tests whether the document contains an element with the specified name. + Deserializes a value. - The name of the element to look for. - - True if the document contains an element with the specified name. - + The deserialization context. + The deserialization args. + A deserialized value. - + - Tests whether the document contains an element with the specified value. + Serializes a value. - The value of the element to look for. - - True if the document contains an element with the specified value. - + The serialization context. + The serialization args. + The object. - + - Creates a deep clone of the document (see also Clone). + Returns a serializer that has been reconfigured with the specified representation. - - A deep clone of the document. - + The representation. + The reconfigured serializer. - + - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + Represents a serializer for Bytes. - + - Gets an element of this document. + Initializes a new instance of the class. - The zero based index of the element. - - The element. - - + - Gets an element of this document. + Initializes a new instance of the class. - The name of the element. - - A BsonElement. - + The representation. - + - Gets an enumerator that can be used to enumerate the elements of this document. + Gets the representation. - - An enumerator. - + + The representation. + - + - Gets the value of an element. + Deserializes a value. - The zero based index of the element. - - The value of the element. - + The deserialization context. + The deserialization args. + A deserialized value. - + - Gets the value of an element. + Serializes a value. - The name of the element. - - The value of the element. - + The serialization context. + The serialization args. + The object. - + - Gets the value of an element or a default value if the element is not found. + Returns a serializer that has been reconfigured with the specified representation. - The name of the element. - The default value returned if the element is not found. - - The value of the element or the default value if the element is not found. - + The representation. + The reconfigured serializer. - + - Inserts a new element at a specified position. + Represents a serializer for Chars. - The position of the new element. - The element. - + - Materializes the RawBsonDocument into a regular BsonDocument. + Initializes a new instance of the class. - The binary reader settings. - A BsonDocument. - + - Merges another document into this one. Existing elements are not overwritten. + Initializes a new instance of the class. - The other document. - - The document (so method calls can be chained). - + The representation. - + - Merges another document into this one, specifying whether existing elements are overwritten. + Gets the representation. - The other document. - Whether to overwrite existing elements. - - The document (so method calls can be chained). - + + The representation. + - + - Removes an element from this document (if duplicate element names are allowed - then all elements with this name will be removed). + Deserializes a value. - The name of the element to remove. + The deserialization context. + The deserialization args. + A deserialized value. - + - Removes an element from this document. + Serializes a value. - The zero based index of the element to remove. + The serialization context. + The serialization args. + The object. - + - Removes an element from this document. + Returns a serializer that has been reconfigured with the specified representation. - The element to remove. + The representation. + The reconfigured serializer. - + - Sets the value of an element. + Represents a serializer for CultureInfos. - The zero based index of the element whose value is to be set. - The new value. - - The document (so method calls can be chained). - - + - Sets the value of an element (an element will be added if no element with this name is found). + Initializes a new instance of the CultureInfoSerializer class. - The name of the element whose value is to be set. - The new value. - - The document (so method calls can be chained). - - + - Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). + Deserializes a value. - The new element. - - The document. - + The deserialization context. + The deserialization args. + A deserialized value. - + - Sets an element of the document (replacing the existing element at that position). + Serializes a value. - The zero based index of the element to replace. - The new element. - - The document. - + The serialization context. + The serialization args. + The object. - + - Tries to get an element of this document. + Represents a serializer for DateTimeOffsets. - The name of the element. - The element. - - True if an element with that name was found. - - + - Tries to get the value of an element of this document. + Initializes a new instance of the class. - The name of the element. - The value of the element. - - True if an element with that name was found. - - + - Releases unmanaged and - optionally - managed resources. + Initializes a new instance of the class. - true to release both managed and unmanaged resources; false to release only unmanaged resources. + The representation. - + - Throws if disposed. + Gets the representation. - RawBsonDocument + + The representation. + - + - Provides serializers based on an attribute. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - - - - + - Specifies that this constructor should be used for creator-based deserialization. + Serializes a value. + The serialization context. + The serialization args. + The object. - + - Initializes a new instance of the BsonConstructorAttribute class. + Returns a serializer that has been reconfigured with the specified representation. + The representation. + The reconfigured serializer. - + - Initializes a new instance of the BsonConstructorAttribute class. + Represents a serializer for DateTimes. - The names of the members that the creator argument values come from. - + - Gets the names of the members that the creator arguments values come from. + Initializes a new instance of the class. - + - Applies a modification to the creator map. + Initializes a new instance of the class. - The creator map. + if set to true [date only]. - + - Specifies serialization options for a DateTime field or property. + Initializes a new instance of the class. + if set to true [date only]. + The representation. - + - Initializes a new instance of the BsonDateTimeOptionsAttribute class. + Initializes a new instance of the class. + The representation. - + - Gets or sets whether the DateTime consists of a Date only. + Initializes a new instance of the class. + The kind. - + - Gets or sets the DateTimeKind (Local, Unspecified or Utc). + Initializes a new instance of the class. + The kind. + The representation. - + - Gets or sets the external representation. + Gets an instance of DateTimeSerializer with DateOnly=true. - + - Reconfigures the specified serializer by applying this attribute to it. + Gets an instance of DateTimeSerializer with Kind=Local. - The serializer. - A reconfigured serializer. - + - Specifies the default value for a field or property. + Gets an instance of DateTimeSerializer with Kind=Utc. - + - Initializes a new instance of the BsonDefaultValueAttribute class. + Gets whether this DateTime consists of a Date only. - The default value. - + - Gets the default value. + Gets the DateTimeKind (Local, Unspecified or Utc). - + - Gets or sets whether to serialize the default value. + Gets the external representation. + + The representation. + - + - Applies a modification to the member map. + Deserializes a value. - The member map. + The deserialization context. + The deserialization args. + A deserialized value. - + - Specifies serialization options for a Dictionary field or property. + Serializes a value. + The serialization context. + The serialization args. + The object. - + - Initializes a new instance of the BsonDictionaryOptionsAttribute class. + Returns a serializer that has been reconfigured with the specified dateOnly value. + if set to true the values will be required to be Date's only (zero time component). + + The reconfigured serializer. + - + - Initializes a new instance of the BsonDictionaryOptionsAttribute class. + Returns a serializer that has been reconfigured with the specified dateOnly value and representation. - The representation to use for the Dictionary. + if set to true the values will be required to be Date's only (zero time component). + The representation. + + The reconfigured serializer. + - + - Gets or sets the external representation. + Returns a serializer that has been reconfigured with the specified DateTimeKind value. + The DateTimeKind. + + The reconfigured serializer. + - + - Reconfigures the specified serializer by applying this attribute to it. + Returns a serializer that has been reconfigured with the specified DateTimeKind value and representation. - The serializer. - A reconfigured serializer. + The DateTimeKind. + The representation. + + The reconfigured serializer. + - + - Specifies the discriminator and related options for a class. + Returns a serializer that has been reconfigured with the specified representation. + The representation. + The reconfigured serializer. - + - Initializes a new instance of the BsonDiscriminatorAttribute class. + Represents a serializer for Decimals. - + - Initializes a new instance of the BsonDiscriminatorAttribute class. + Initializes a new instance of the class. - The discriminator. - + - Gets the discriminator. + Initializes a new instance of the class. + The representation. - + - Gets or sets whether the discriminator is required. + Initializes a new instance of the class. + The representation. + The converter. - + - Gets or sets whether this is a root class. + Gets the converter. + + The converter. + - + - Applies a modification to the class map. + Gets the representation. - The class map. + + The representation. + - + - Specifies the element name and related options for a field or property. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Initializes a new instance of the BsonElementAttribute class. + Serializes a value. + The serialization context. + The serialization args. + The object. - + - Initializes a new instance of the BsonElementAttribute class. + Returns a serializer that has been reconfigured with the specified item serializer. - The name of the element. + The converter. + The reconfigured serializer. - + - Gets the element name. + Returns a serializer that has been reconfigured with the specified representation. + The representation. + The reconfigured serializer. - + - Gets the element serialization order. + Represents a serializer for a class that implements IDictionary. + The type of the dictionary. - + - Applies a modification to the member map. + Initializes a new instance of the class. - The member map. - + - Indicates that this property or field will be used to hold any extra elements found during deserialization. + Initializes a new instance of the class. + The dictionary representation. - + - Applies a modification to the member map. + Initializes a new instance of the class. - The member map. + The dictionary representation. + The key serializer. + The value serializer. - + - Specifies that this factory method should be used for creator-based deserialization. + Returns a serializer that has been reconfigured with the specified dictionary representation. + The dictionary representation. + The reconfigured serializer. - + - Initializes a new instance of the BsonFactoryMethodAttribute class. + Returns a serializer that has been reconfigured with the specified dictionary representation and key value serializers. + The dictionary representation. + The key serializer. + The value serializer. + The reconfigured serializer. - + - Initializes a new instance of the BsonFactoryMethodAttribute class. + Returns a serializer that has been reconfigured with the specified key serializer. - The names of the members that the creator argument values come from. + The key serializer. + The reconfigured serializer. - + - Gets the names of the members that the creator arguments values come from. + Returns a serializer that has been reconfigured with the specified value serializer. + The value serializer. + The reconfigured serializer. - + - Applies a modification to the creator map. + Creates the instance. - The creator map. + The instance. - + - Specifies that this is the Id field or property. + Represents a serializer for a class that implements . + The type of the dictionary. + The type of the key. + The type of the value. - + - Initializes a new instance of the BsonIdAttribute class. + Initializes a new instance of the class. - + - Gets or sets the Id generator for the Id. + Initializes a new instance of the class. + The dictionary representation. - + - Gets or sets the Id element serialization order. + Initializes a new instance of the class. + The dictionary representation. + The key serializer. + The value serializer. - + - Applies a modification to the member map. + Returns a serializer that has been reconfigured with the specified dictionary representation. - The member map. + The dictionary representation. + The reconfigured serializer. - + - Indicates that this field or property should be ignored when this class is serialized. + Returns a serializer that has been reconfigured with the specified dictionary representation and key value serializers. + The dictionary representation. + The key serializer. + The value serializer. + The reconfigured serializer. - + - Specifies whether extra elements should be ignored when this class is deserialized. + Returns a serializer that has been reconfigured with the specified key serializer. + The key serializer. + The reconfigured serializer. - + - Initializes a new instance of the BsonIgnoreExtraElementsAttribute class. + Returns a serializer that has been reconfigured with the specified value serializer. + The value serializer. + The reconfigured serializer. - + - Initializes a new instance of the BsonIgnoreExtraElementsAttribute class. + Creates the instance. - Whether extra elements should be ignored when this class is deserialized. + The instance. - + - Gets whether extra elements should be ignored when this class is deserialized. + Represents a serializer for dictionaries. + The type of the dictionary. - + - Gets whether extra elements should also be ignored when any class derived from this one is deserialized. + Initializes a new instance of the class. - + - Applies a modification to the class map. + Initializes a new instance of the class. - The class map. + The dictionary representation. - + - Indicates whether a field or property equal to the default value should be ignored when serializing this class. + Initializes a new instance of the class. + The dictionary representation. + The key serializer. + The value serializer. - + - Initializes a new instance of the BsonIgnoreIfDefaultAttribute class. + Gets the dictionary representation. + + The dictionary representation. + - + - Initializes a new instance of the BsonIgnoreIfDefaultAttribute class. + Gets the key serializer. - Whether a field or property equal to the default value should be ignored when serializing this class. + + The key serializer. + - + - Gets whether a field or property equal to the default value should be ignored when serializing this class. + Gets the value serializer. + + The value serializer. + - + + + + - Applies a modification to the member map. + Deserializes a value. - The member map. + The deserialization context. + The deserialization args. + A deserialized value. - + - Indicates whether a field or property equal to null should be ignored when serializing this class. + Serializes a value. + The serialization context. + The serialization args. + The object. - + - Initializes a new instance of the BsonIgnoreIfNullAttribute class. + Creates the instance. + The instance. - + - Initializes a new instance of the BsonIgnoreIfNullAttribute class. + Represents a serializer for dictionaries. - Whether a field or property equal to null should be ignored when serializing this class. + The type of the dictionary. + The type of the keys. + The type of the values. - + - Gets whether a field or property equal to null should be ignored when serializing this class. + Initializes a new instance of the class. - + - Applies a modification to the member map. + Initializes a new instance of the class. - The member map. + The dictionary representation. - + - Specifies the known types for this class (the derived classes). + Initializes a new instance of the class. + The dictionary representation. + The key serializer. + The value serializer. - + - Initializes a new instance of the BsonKnownTypesAttribute class. + Initializes a new instance of the class. - One or more known types. + The dictionary representation. + The serializer registry. - + - Initializes a new instance of the BsonKnownTypesAttribute class. + Gets the dictionary representation. - A known types. + + The dictionary representation. + - + - Gets a list of the known types. + Gets the key serializer. + + The key serializer. + - + - Applies a modification to the class map. + Gets the value serializer. - The class map. + + The value serializer. + - + + + + + + + - Specifies that the class's IdMember should be null. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Applies the post processing attribute to the class map. + Serializes a value. - The class map. + The serialization context. + The serialization args. + The object. - + - Specifies the external representation and related options for this field or property. + Creates the instance. + The instance. - + - Initializes a new instance of the BsonRepresentationAttribute class. + Represents a serializer for Interfaces. - The external representation. + The type of the interface. - + - Gets the external representation. + Initializes a new instance of the class. - + - Gets or sets whether to allow overflow. + Initializes a new instance of the class. + The discriminator convention. + interfaceType + interfaceType - + - Gets or sets whether to allow truncation. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. + - + - Reconfigures the specified serializer by applying this attribute to it. + Serializes a value. - The serializer. - A reconfigured serializer. + The serialization context. + The serialization args. + The document. - + - Indicates that a field or property is required. + Represents a serializer for Doubles. - + - Applies a modification to the member map. + Initializes a new instance of the class. - The member map. - + - Abstract base class for serialization options attributes. + Initializes a new instance of the class. + The representation. - + - Initializes a new instance of the BsonSerializationOptionsAttribute class. + Initializes a new instance of the class. + The representation. + The converter. - + - Applies a modification to the member map. + Gets the converter. - The member map. + + The converter. + - + - Reconfigures the specified serializer by applying this attribute to it. + Gets the representation. - The serializer. - A reconfigured serializer. - + + The representation. + - + - Specifies the type of the serializer to use for a class. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Initializes a new instance of the BsonSerializerAttribute class. + Serializes a value. + The serialization context. + The serialization args. + The object. - + - Initializes a new instance of the BsonSerializerAttribute class. + Returns a serializer that has been reconfigured with the specified item serializer. - The type of the serializer to use for a class. + The converter. + The reconfigured serializer. - + - Gets or sets the type of the serializer to use for a class. + Returns a serializer that has been reconfigured with the specified representation. + The representation. + The reconfigured serializer. - + - Applies a modification to the member map. + Base serializer for dynamic types. - The member map. + The dynamic type. - + - Creates a serializer for a type based on the serializer type specified by the attribute. + Initializes a new instance of the class. - The type that a serializer should be created for. - A serializer for the type. - + - Specifies the external representation and related options for this field or property. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Initializes a new instance of the BsonTimeSpanOptionsAttribute class. + Serializes a value. - The external representation. + The serialization context. + The serialization args. + The object. - + - Initializes a new instance of the BsonTimeSpanOptionsAttribute class. + Configures the deserialization context. - The external representation. - The TimeSpanUnits. + The builder. - + - Gets the external representation. + Configures the serialization context. + The builder. - + - Gets or sets the TimeSpanUnits. + Creates the document. + A - + - Reconfigures the specified serializer by applying this attribute to it. + Sets the value for the member. - The serializer. - A reconfigured serializer. + The document. + Name of the member. + The value. - + - Indicates the usage restrictions for the attribute. + Tries to get the value for a member. Returns true if the member should be serialized. + The document. + Name of the member. + The value. + true if the member should be serialized; otherwise false. - + - Initializes a new instance of the class. + Represents a serializer for a class that implements IEnumerable. + The type of the value. - + - Gets or sets a value indicating whether the attribute this attribute applies to is allowed to be applied - to more than one member. + Initializes a new instance of the class. - + - Represents an attribute used to modify a class map. + Initializes a new instance of the class. + The item serializer. - + - Applies the attribute to the class map. + Initializes a new instance of the class. - The class map. + - + - Represents an attribute used to modify a creator map. + Returns a serializer that has been reconfigured with the specified item serializer. + The item serializer. + The reconfigured serializer. - + - Applies the attribute to the creator map. + Creates the accumulator. - The creator map. + The accumulator. - + - Represents an attribute used to modify a member map. + Represents a serializer for a class that implementes . + The type of the value. + The type of the item. - + - Applies the attribute to the member map. + Initializes a new instance of the class. - The member map. - + - Represents an attribute used to post process a class map. + Initializes a new instance of the class. + The item serializer. - + - Applies the post processing attribute to the class map. + Initializes a new instance of the class. - The class map. + The serializer registry. - + - Represents a mapping between a class and a BSON document. + Returns a serializer that has been reconfigured with the specified item serializer. + The item serializer. + The reconfigured serializer. - + - Initializes a new instance of the BsonClassMap class. + Creates the accumulator. - The class type. + The accumulator. - + - Initializes a new instance of the class. + Finalizes the result. - Type of the class. - The base class map. + The accumulator. + The final result. - + - Gets all the member maps (including maps for inherited members). + Represents a serializer for enumerable values. + The type of the value. - + - Gets the base class map. + Initializes a new instance of the class. - + - Gets the class type. + Initializes a new instance of the class. + The item serializer. - + - Gets the constructor maps. + Initializes a new instance of the class. + The serializer registry. - + - Gets the conventions used for auto mapping. + Adds the item. + The accumulator. + The item. - + - Gets the declared member maps (only for members declared in this class). + Enumerates the items in serialization order. + The value. + The items. - + - Gets the discriminator. + Finalizes the result. + The accumulator. + The result. - + - Gets whether a discriminator is required when serializing this class. + Represents a serializer for enumerable values. + The type of the value. + The type of the items. - + - Gets the member map of the member used to hold extra elements. + Initializes a new instance of the class. - + - Gets whether this class map has any creator maps. + Initializes a new instance of the class. + The item serializer. - + - Gets whether this class has a root class ancestor. + Initializes a new instance of the class. + The serializer registry. - + - Gets the Id member map (null if none). + Adds the item. + The accumulator. + The item. - + - Gets whether extra elements should be ignored when deserializing. + Enumerates the items in serialization order. + The value. + The items. - + - Gets whether the IgnoreExtraElements value should be inherited by derived classes. + Finalizes the result. + The accumulator. + The result. - + - Gets whether this class is anonymous. + Represents a base serializer for enumerable values. + The type of the value. - + - Gets whether the class map is frozen. + Initializes a new instance of the class. - + - Gets whether this class is a root class. + Initializes a new instance of the class. + The item serializer. - + - Gets the known types of this class. + Initializes a new instance of the class. + The serializer registry. - + - Gets the element name to member index trie. + Gets the item serializer. + + The item serializer. + - + - Gets the member index of the member used to hold extra elements. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Gets the type of a member. + Tries to get the serialization info for the individual items of the array. - The member info. - The type of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + - + - Gets all registered class maps. + Serializes a value. - All registered class maps. + The serialization context. + The serialization args. + The object. - + - Checks whether a class map is registered for a type. + Adds the item. - The type to check. - True if there is a class map registered for the type. + The accumulator. + The item. - + - Looks up a class map (will AutoMap the class if no class map is registered). + Creates the accumulator. - The class type. - The class map. + The accumulator. - + - Creates and registers a class map. + Enumerates the items in serialization order. - The class. - The class map. + The value. + The items. - + - Creates and registers a class map. + Finalizes the result. - The class. - The class map initializer. - The class map. + The accumulator. + The final result. - + - Registers a class map. + Represents a serializer for enumerable values. - The class map. + The type of the value. + The type of the items. - + - Automaps the class. + Initializes a new instance of the class. - + - Creates an instance of the class. + Initializes a new instance of the class. - An object. + The item serializer. - + - Freezes the class map. + Initializes a new instance of the class. - The frozen class map. + The serializer registry. - + - Gets a member map (only considers members declared in this class). + Gets the item serializer. - The member name. - The member map (or null if the member was not found). + + The item serializer. + - + - Gets the member map for a BSON element. + Deserializes a value. - The name of the element. - The member map. + The deserialization context. + The deserialization args. + A deserialized value. - + - Creates a creator map for a constructor and adds it to the class map. + Tries to get the serialization info for the individual items of the array. - The constructor info. - The creator map (so method calls can be chained). + The serialization information. + + The serialization info for the items. + - + - Creates a creator map for a constructor and adds it to the class map. + Serializes a value. - The constructor info. - The argument names. - The creator map (so method calls can be chained). + The serialization context. + The serialization args. + The object. - + - Creates a creator map and adds it to the class. + Adds the item. - The delegate. - The factory method map (so method calls can be chained). + The accumulator. + The item. - + - Creates a creator map and adds it to the class. + Creates the accumulator. - The delegate. - The argument names. - The factory method map (so method calls can be chained). + The accumulator. - + - Creates a member map for the extra elements field and adds it to the class map. + Enumerates the items in serialization order. - The name of the extra elements field. - The member map (so method calls can be chained). + The value. + The items. - + - Creates a member map for the extra elements member and adds it to the class map. + Finalizes the result. - The member info for the extra elements member. - The member map (so method calls can be chained). + The accumulator. + The result. - + - Creates a member map for the extra elements property and adds it to the class map. + Serializer for . - The name of the property. - The member map (so method calls can be chained). + + The use of will serialize any without type information. + To get the best experience out of using an , any member wanting to be used + as an array should use . + - + - Creates a creator map for a factory method and adds it to the class. + Initializes a new instance of the class. - The method info. - The creator map (so method calls can be chained). - + - Creates a creator map for a factory method and adds it to the class. + Configures the deserialization context. - The method info. - The argument names. - The creator map (so method calls can be chained). + The builder. - + - Creates a member map for a field and adds it to the class map. + Configures the serialization context. - The name of the field. - The member map (so method calls can be chained). + The builder. - + - Creates a member map for the Id field and adds it to the class map. + Creates the document. - The name of the Id field. - The member map (so method calls can be chained). + + A . + - + - Creates a member map for the Id member and adds it to the class map. + Sets the value for the member. - The member info for the Id member. - The member map (so method calls can be chained). + The document. + Name of the member. + The value. - + - Creates a member map for the Id property and adds it to the class map. + Tries to get the value for a member. Returns true if the member should be serialized. - The name of the Id property. - The member map (so method calls can be chained). + The value. + Name of the member. + The member value. + true if the member should be serialized; otherwise false. - + - Creates a member map for a member and adds it to the class map. + Represents a serializer for Guids. - The member info. - The member map (so method calls can be chained). - + - Creates a member map for a property and adds it to the class map. + Initializes a new instance of the class. - The name of the property. - The member map (so method calls can be chained). - + - Resets the class map back to its initial state. + Initializes a new instance of the class. + The representation. - + - Sets the creator for the object. + Gets the representation. - The creator. - The class map (so method calls can be chained). + + The representation. + - + - Sets the discriminator. + Deserializes a value. - The discriminator. + The deserialization context. + The deserialization args. + A deserialized value. - + - Sets whether a discriminator is required when serializing this class. + Serializes a value. - Whether a discriminator is required. + The serialization context. + The serialization args. + The object. - + - Sets the member map of the member used to hold extra elements. + Returns a serializer that has been reconfigured with the specified representation. - The extra elements member map. + The representation. + The reconfigured serializer. - + - Adds a known type to the class map. + Represents a serializer for Interfaces. - The known type. + The type of the interface. + The type of the implementation. - + - Sets the Id member. + Initializes a new instance of the class. - The Id member (null if none). - + - Sets whether extra elements should be ignored when deserializing. + Initializes a new instance of the class. - Whether extra elements should be ignored when deserializing. + The implementation serializer. - + - Sets whether the IgnoreExtraElements value should be inherited by derived classes. + Initializes a new instance of the class. - Whether the IgnoreExtraElements value should be inherited by derived classes. + The serializer registry. - + - Sets whether this class is a root class. + Gets the dictionary representation. - Whether this class is a root class. + + The dictionary representation. + + - + - Removes a creator map for a constructor from the class map. + Gets the key serializer. - The constructor info. + + The key serializer. + + - + - Removes a creator map for a factory method from the class map. + Gets the implementation serializer. - The method info. + + The implementation serializer. + - + - Removes the member map for a field from the class map. + Gets the value serializer. - The name of the field. + + The value serializer. + + - + - Removes a member map from the class map. + Deserializes a value. - The member info. + The deserialization context. + The deserialization args. + A deserialized value. + - + - Removes the member map for a property from the class map. + Tries to get the serialization info for the individual items of the array. - The name of the property. + The serialization information. + + true if the serialization info exists; otherwise false. + - + - Gets the discriminator convention for the class. + Tries to get the serialization info for a member. - The discriminator convention for the class. + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + - + - Represents a mapping between a class and a BSON document. + Serializes a value. - The class. + The serialization context. + The serialization args. + The document. - + - Initializes a new instance of the BsonClassMap class. + Returns a serializer that has been reconfigured with the specified implementation serializer. + The implementation serializer. + + The reconfigured serializer. + - + - Initializes a new instance of the BsonClassMap class. + Represents a serializer for Int16s. - The class map initializer. - + - Creates an instance. + Initializes a new instance of the class. - An instance. - + - Gets a member map. + Initializes a new instance of the class. - The member type. - A lambda expression specifying the member. - The member map. + The representation. - + - Creates a creator map and adds it to the class map. + Initializes a new instance of the class. - Lambda expression specifying the creator code and parameters to use. - The member map. + The representation. + The converter. - + - Creates a member map for the extra elements field and adds it to the class map. + Gets the converter. - The member type. - A lambda expression specifying the extra elements field. - The member map. + + The converter. + - + - Creates a member map for the extra elements member and adds it to the class map. + Gets the representation. - The member type. - A lambda expression specifying the extra elements member. - The member map. + + The representation. + - + - Creates a member map for the extra elements property and adds it to the class map. + Deserializes a value. - The member type. - A lambda expression specifying the extra elements property. - The member map. + The deserialization context. + The deserialization args. + A deserialized value. - + - Creates a member map for a field and adds it to the class map. + Serializes a value. - The member type. - A lambda expression specifying the field. - The member map. + The serialization context. + The serialization args. + The object. - + - Creates a member map for the Id field and adds it to the class map. + Returns a serializer that has been reconfigured with the specified item serializer. - The member type. - A lambda expression specifying the Id field. - The member map. + The converter. + The reconfigured serializer. - + - Creates a member map for the Id member and adds it to the class map. + Returns a serializer that has been reconfigured with the specified representation. - The member type. - A lambda expression specifying the Id member. - The member map. + The representation. + The reconfigured serializer. - + - Creates a member map for the Id property and adds it to the class map. + Represents a serializer for Int32. - The member type. - A lambda expression specifying the Id property. - The member map. - + - Creates a member map and adds it to the class map. + Initializes a new instance of the class. - The member type. - A lambda expression specifying the member. - The member map. - + - Creates a member map for the Id property and adds it to the class map. + Initializes a new instance of the class. - The member type. - A lambda expression specifying the Id property. - The member map. + The representation. - + - Removes the member map for a field from the class map. + Initializes a new instance of the class. - The member type. - A lambda expression specifying the field. + The representation. + The converter. - + - Removes a member map from the class map. + Gets the converter. - The member type. - A lambda expression specifying the member. + + The converter. + - + - Removes a member map for a property from the class map. + Gets the representation. - The member type. - A lambda expression specifying the property. + + The representation. + - + - Represents the class map serialization provider. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - - - - + - Represents a mapping to a delegate and its arguments. + Serializes a value. + The serialization context. + The serialization args. + The object. - + - Initializes a new instance of the BsonCreatorMap class. + Returns a serializer that has been reconfigured with the specified item serializer. - The class map. - The member info (null if none). - The delegate. + The converter. + The reconfigured serializer. - + - Gets the arguments. + Returns a serializer that has been reconfigured with the specified representation. + The representation. + The reconfigured serializer. - + - Gets the class map that this creator map belongs to. + Represents a serializer for Int64s. - + - Gets the delegeate + Initializes a new instance of the class. - + - Gets the element names. + Initializes a new instance of the class. + The representation. - + - Gets the member info (null if none). + Initializes a new instance of the class. + The representation. + The converter. - + - Freezes the creator map. + Gets the converter. + + The converter. + - + - Gets whether there is a default value for a missing element. + Gets the representation. - The element name. - True if there is a default value for element name; otherwise, false. + + The representation. + - + - Sets the arguments for the creator map. + Deserializes a value. - The arguments. - The creator map. + The deserialization context. + The deserialization args. + A deserialized value. - + - Sets the arguments for the creator map. + Serializes a value. - The argument names. - The creator map. + The serialization context. + The serialization args. + The object. - + - Represents args common to all serializers. + Returns a serializer that has been reconfigured with the specified item serializer. + The converter. + The reconfigured serializer. - + - Gets or sets the nominal type. + Returns a serializer that has been reconfigured with the specified representation. - - The nominal type. - + The representation. + The reconfigured serializer. - + - Represents all the contextual information needed by a serializer to deserialize a value. + Represents a serializer for IPAddresses. - + - Gets a value indicating whether to allow duplicate element names. + Initializes a new instance of the class. - - true if duplicate element names shoud be allowed; otherwise, false. - - + - Gets the dynamic array serializer. + Deserializes a value. - - The dynamic array serializer. - + The deserialization context. + The deserialization args. + A deserialized value. - + - Gets the dynamic document serializer. + Serializes a value. - - The dynamic document serializer. - + The serialization context. + The serialization args. + The object. - + - Gets the reader. + Represents a serializer for IPEndPoints. - - The reader. - - + - Creates a root context. + Initializes a new instance of the IPEndPointSerializer class. - The reader. - The configurator. - - A root context. - - + - Creates a new context with some values changed. + Deserializes a value. - The configurator. - - A new context. - + The deserialization context. + The deserialization args. + A deserialized value. - + - Represents a builder for a BsonDeserializationContext. + Serializes a value. + The serialization context. + The serialization args. + The object. - + - Gets or sets a value indicating whether to allow duplicate element names. + Represents a serializer for KeyValuePairs. - - true if duplicate element names should be allowed; otherwise, false. - + The type of the keys. + The type of the values. - + - Gets or sets the dynamic array serializer. + Initializes a new instance of the class. - - The dynamic array serializer. - - + - Gets or sets the dynamic document serializer. + Initializes a new instance of the class. - - The dynamic document serializer. - + The representation. - + - Gets the reader. + Initializes a new instance of the class. - - The reader. - + The representation. + The key serializer. + The value serializer. - + - Builds the BsonDeserializationContext instance. + Initializes a new instance of the class. - A BsonDeserializationContext. + The representation. + The serializer registry. - + - A class backed by a BsonDocument. + Gets the key serializer. + + The key serializer. + - + - Initializes a new instance of the class. + Gets the representation. - The serializer. + + The representation. + - + - Initializes a new instance of the class. + Gets the value serializer. - The backing document. - The serializer. + + The value serializer. + - + - Gets the backing document. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Gets the value from the backing document. + Serializes a value. - The type of the value. - The member name. - The value. + The serialization context. + The serialization args. + The object. - + + + + - Gets the value from the backing document. + Represents a serializer for LazyBsonArrays. - The type of the value. - The member name. - The default value. - The value. - + - Sets the value in the backing document. + Initializes a new instance of the class. - The member name. - The value. - + - Represents the mapping between a field or property and a BSON element. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Initializes a new instance of the BsonMemberMap class. + Serializes a value. - The class map this member map belongs to. - The member info. + The serialization context. + The serialization args. + The object. - + - Gets the class map that this member map belongs to. + Represents a serializer for LazyBsonDocuments. - + - Gets the name of the member. + Initializes a new instance of the class. - + - Gets the type of the member. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Gets whether the member type is a BsonValue. + Serializes a value. + The serialization context. + The serialization args. + The object. - + - Gets the name of the element. + Represents a serializer for nullable values. + The underlying type. - + - Gets the serialization order. + Initializes a new instance of the class. - + - Gets the member info. + Initializes a new instance of the class. + The serializer. - + - Gets the getter function. + Initializes a new instance of the class. + The serializer registry. - + - Gets the setter function. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Gets the Id generator. + Serializes a value. + The serialization context. + The serialization args. + The object. - + - Gets whether a default value was specified. + Returns a serializer that has been reconfigured with the specified serializer. + The serializer. + + The reconfigured serializer. + - + - Gets whether an element is required for this member when deserialized. + Represents a serializer for ObjectIds. - + - Gets the method that will be called to determine whether the member should be serialized. + Initializes a new instance of the class. - + - Gets whether default values should be ignored when serialized. + Initializes a new instance of the class. + The representation. - + - Gets whether null values should be ignored when serialized. + Gets the representation. + + The representation. + - + - Gets the default value. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Gets whether the member is readonly. + Serializes a value. - - Readonly indicates that the member is written to the database, but not read from the database. - + The serialization context. + The serialization args. + The object. - + - Applies the default value to the member of an object. + Returns a serializer that has been reconfigured with the specified representation. - The object. + The representation. + The reconfigured serializer. - + - Freezes this instance. + Represents a serializer for objects. - + - Gets the serializer. + Initializes a new instance of the class. - The serializer. - + - Resets the member map back to its initial state. + Initializes a new instance of the class. - The member map. + The discriminator convention. + discriminatorConvention - + - Sets the default value creator. + Gets the standard instance. - The default value creator (note: the supplied delegate must be thread safe). - The member map. + + The standard instance. + - + - Sets the default value. + Deserializes a value. - The default value. - The member map. + The deserialization context. + The deserialization args. + A deserialized value. - + - Sets the name of the element. + Serializes a value. - The name of the element. - The member map. + The serialization context. + The serialization args. + The object. - + - Sets the Id generator. + Represents an abstract base class for class serializers. - The Id generator. - The member map. + The type of the value. - + - Sets whether default values should be ignored when serialized. + Deserializes a value. - Whether default values should be ignored when serialized. - The member map. + The deserialization context. + The deserialization args. + A deserialized value. - + - Sets whether null values should be ignored when serialized. + Serializes a value. - Wether null values should be ignored when serialized. - The member map. + The serialization context. + The serialization args. + The value. - + - Sets whether an element is required for this member when deserialized + Deserializes a class. - Whether an element is required for this member when deserialized - The member map. + The deserialization context. + The deserialization args. + A deserialized value. - + - Sets the serialization order. + Gets the actual type. - The serialization order. - The member map. + The context. + The actual type. - + - Sets the serializer. + Serializes a value of type {TValue}. - The serializer. - - The member map. - - serializer - serializer + The serialization context. + The serialization args. + The value. - + - Sets the method that will be called to determine whether the member should be serialized. + Represents a serializer for enums. - The method. - The member map. + The type of the enum. - + - Determines whether a value should be serialized + Initializes a new instance of the class. - The object. - The value. - True if the value should be serialized. - + - Provides serializers for BsonValue and its derivations. + Initializes a new instance of the class. + The representation. - - + + + Gets the representation. + + + The representation. + - + - Represents args common to all serializers. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Initializes a new instance of the struct. + Serializes a value. - The nominal type. - Whether to serialize as the nominal type. - Whether to serialize the id first. + The serialization context. + The serialization args. + The object. - + - Gets or sets the nominal type. + Returns a serializer that has been reconfigured with the specified representation. - - The nominal type. - + The representation. + The reconfigured serializer. - + - Gets or sets a value indicating whether to serialize the value as if it were an instance of the nominal type. + Represents a serializer for one-dimensional arrays. + The type of the elements. - + - Gets or sets a value indicating whether to serialize the id first. + Initializes a new instance of the class. - + - Represents all the contextual information needed by a serializer to serialize a value. + Initializes a new instance of the class. + The item serializer. - + - Gets a function that, when executed, will indicate whether the type - is a dynamic type. + Initializes a new instance of the class. + The serializer registry. - + - Gets the writer. + Returns a serializer that has been reconfigured with the specified item serializer. - - The writer. - + The item serializer. + The reconfigured serializer. - + - Creates a root context. + Adds the item. - The writer. - The serialization context configurator. - - A root context. - + The accumulator. + The item. - + - Creates a new context with some values changed. + Creates the accumulator. - The serialization context configurator. - - A new context. - + The accumulator. - + - Represents a builder for a BsonSerializationContext. + Enumerates the items in serialization order. + The value. + The items. - + - Gets or sets the function used to determine if a type is a dynamic type. + Finalizes the result. + The accumulator. + The result. - + - Gets the writer. + Represents a serializer for Queues. - - The writer. - - + - Builds the BsonSerializationContext instance. + Initializes a new instance of the class. - A BsonSerializationContext. - + - Represents the information needed to serialize a member. + Initializes a new instance of the class. + The item serializer. - + - Initializes a new instance of the BsonSerializationInfo class. + Initializes a new instance of the class. - The element name. - The serializer. - The nominal type. + - + - Gets or sets the dotted element name. + Returns a serializer that has been reconfigured with the specified item serializer. + The item serializer. + The reconfigured serializer. - + - Gets or sets the serializer. + Adds the item. + The accumulator. + The item. - + - Gets or sets the nominal type. + Creates the accumulator. + The accumulator. - + - Deserializes the value. + Enumerates the items. The value. - A deserialized value. + The items. - + - Merges the new BsonSerializationInfo by taking its properties and concatenating its ElementName. + Finalizes the result. - The new info. - A new BsonSerializationInfo. + The instance. + The result. - + - Serializes the value. + Represents a serializer for Queues. - The value. - The serialized value. + The type of the elements. - + - Serializes the values. + Initializes a new instance of the class. - The values. - The serialized values. - + - Creates a new BsonSerializationInfo object using the elementName provided and copying all other attributes. + Initializes a new instance of the class. - Name of the element. - A new BsonSerializationInfo. + The item serializer. - + - Base class for serialization providers. + Initializes a new instance of the class. + The serializer registry. - - + + + Returns a serializer that has been reconfigured with the specified item serializer. + + The item serializer. + The reconfigured serializer. - - + + + Adds the item. + + The accumulator. + The item. - + - Creates the serializer from a serializer type definition and type arguments. + Creates the accumulator. - The serializer type definition. - The type arguments. - A serializer. + The accumulator. - + - Creates the serializer from a serializer type definition and type arguments. + Enumerates the items in serialization order. - The serializer type definition. - The type arguments. - The serializer registry. - - A serializer. - + The value. + The items. - + - Creates the serializer. + Finalizes the result. - The serializer type. - A serializer. + The accumulator. + The result. - + - Creates the serializer. + Represents a serializer for RawBsonArrays. - The serializer type. - The serializer registry. - - A serializer. - - + - A static class that represents the BSON serialization functionality. + Initializes a new instance of the class. - + - Gets the serializer registry. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Gets or sets whether to use the NullIdChecker on reference Id types that don't have an IdGenerator registered. + Serializes a value. + The serialization context. + The serialization args. + The object. - + - Gets or sets whether to use the ZeroIdChecker on value Id types that don't have an IdGenerator registered. + Represents a serializer for RawBsonDocuments. - + - Deserializes an object from a BsonDocument. + Initializes a new instance of the class. - The nominal type of the object. - The BsonDocument. - The configurator. - A deserialized value. - + - Deserializes a value. + Gets the instance. - The nominal type of the object. - The BsonReader. - The configurator. - A deserialized value. + + The instance. + - + - Deserializes an object from a BSON byte array. + Deserializes a value. - The nominal type of the object. - The BSON byte array. - The configurator. + The deserialization context. + The deserialization args. A deserialized value. - + - Deserializes an object from a BSON Stream. + Serializes a value. - The nominal type of the object. - The BSON Stream. - The configurator. - A deserialized value. + The serialization context. + The serialization args. + The object. - + - Deserializes an object from a JSON string. + Represents a serializer for readonly collection. - The nominal type of the object. - The JSON string. - The configurator. - A deserialized value. + The type of the item. - + - Deserializes an object from a JSON TextReader. + Initializes a new instance of the class. - The nominal type of the object. - The JSON TextReader. - The configurator. - A deserialized value. - + - Deserializes an object from a BsonDocument. + Initializes a new instance of the class. - The BsonDocument. - The nominal type of the object. - The configurator. - A deserialized value. + The item serializer. - + - Deserializes a value. + Initializes a new instance of the class. - The BsonReader. - The nominal type of the object. - The configurator. - A deserialized value. + The serializer registry. - + - Deserializes an object from a BSON byte array. + Returns a serializer that has been reconfigured with the specified item serializer. - The BSON byte array. - The nominal type of the object. - The configurator. - A deserialized value. + The item serializer. + The reconfigured serializer. - + - Deserializes an object from a BSON Stream. + Creates the accumulator. - The BSON Stream. - The nominal type of the object. - The configurator. - A deserialized value. + The accumulator. - + - Deserializes an object from a JSON string. + Finalizes the result. - The JSON string. - The nominal type of the object. - The configurator. - A deserialized value. + The accumulator. + The final result. - + - Deserializes an object from a JSON TextReader. + Represents a serializer for a subclass of ReadOnlyCollection. - The JSON TextReader. - The nominal type of the object. - The configurator. - A deserialized value. + The type of the value. + The type of the item. - + - Returns whether the given type has any discriminators registered for any of its subclasses. + Initializes a new instance of the class. - A Type. - True if the type is discriminated. - + - Looks up the actual type of an object to be deserialized. + Initializes a new instance of the class. - The nominal type of the object. - The discriminator. - The actual type of the object. + - + - Looks up the discriminator convention for a type. + Initializes a new instance of the class. - The type. - A discriminator convention. + The serializer registry. - + - Looks up an IdGenerator. + Creates the accumulator. - The Id type. - An IdGenerator for the Id type. + The accumulator. - + - Looks up a serializer for a Type. + Finalizes the result. - The type. - A serializer for type T. + The accumulator. + The final result. - + - Looks up a serializer for a Type. + Represents a serializer for SBytes. - The Type. - A serializer for the Type. - + - Registers the discriminator for a type. + Initializes a new instance of the class. - The type. - The discriminator. - + - Registers the discriminator convention for a type. + Initializes a new instance of the class. - Type type. - The discriminator convention. + The representation. - + - Registers a generic serializer definition for a generic type. + Gets the representation. - The generic type. - The generic serializer definition. + + The representation. + - + - Registers an IdGenerator for an Id Type. + Deserializes a value. - The Id Type. - The IdGenerator for the Id Type. + The deserialization context. + The deserialization args. + A deserialized value. - + - Registers a serialization provider. + Serializes a value. - The serialization provider. + The serialization context. + The serialization args. + The object. - + - Registers a serializer for a type. + Returns a serializer that has been reconfigured with the specified representation. - The type. - The serializer. + The representation. + The reconfigured serializer. - + - Registers a serializer for a type. + Represents a serializer for a class that will be serialized as if it were one of its base classes. - The type. - The serializer. + The actual type. + The nominal type. - + - Serializes a value. + Initializes a new instance of the class. - The nominal type of the object. - The BsonWriter. - The object. - The serialization context configurator. - The serialization args. - + - Serializes a value. + Initializes a new instance of the class. - The BsonWriter. - The nominal type of the object. - The object. - The serialization context configurator. - The serialization args. + The base class serializer. - + - Default, global implementation of an . + Initializes a new instance of the class. + The serializer registry. - + - Initializes a new instance of the class. + Serializes a value. + The serialization context. + The serialization args. + The value. - + - Gets the serializer for the specified . + Represents a serializer for Singles. - The type. - - The serializer. - - + - Gets the serializer for the specified . + Initializes a new instance of the class. - - - The serializer. - - + - Registers the serializer. + Initializes a new instance of the class. - The type. - The serializer. + The representation. - + - Registers the serialization provider. This behaves like a stack, so the - last provider registered is the first provider consulted. + Initializes a new instance of the class. - The serialization provider. + The representation. + The converter. - + - Provides serializers for collections. + Gets the converter. + + The converter. + - - - - + - Convention pack for applying attributes. + Gets the representation. + + The representation. + - + - Initializes a new instance of the class. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Gets the instance. + Serializes a value. + The serialization context. + The serialization args. + The object. - + - Gets the conventions. + Returns a serializer that has been reconfigured with the specified item serializer. + The converter. + The reconfigured serializer. - + - A convention that sets the element name the same as the member name with the first character lower cased. + Returns a serializer that has been reconfigured with the specified representation. + The representation. + The reconfigured serializer. - + - Applies a modification to the member map. + Represents a serializer for Stacks. - The member map. - + - Base class for a convention. + Initializes a new instance of the class. - + - Initializes a new instance of the ConventionBase class. + Initializes a new instance of the class. + The item serializer. - + - Initializes a new instance of the ConventionBase class. + Initializes a new instance of the class. - The name of the convention. + The serializer registry. - + - Gets the name of the convention. + Returns a serializer that has been reconfigured with the specified item serializer. + The item serializer. + The reconfigured serializer. - + - A mutable pack of conventions. + Adds the item. + The accumulator. + The item. - + - Initializes a new instance of the class. + Creates the accumulator. + The accumulator. - + - Gets the conventions. + Enumerates the items in serialization order. + The value. + The items. - + - Adds the specified convention. + Finalizes the result. - The convention. - + The accumulator. + The result. - + - Adds a class map convention created using the specified action upon a class map. + Represents a serializer for Stacks. - The name of the convention. - The action the convention should take upon the class map. + The type of the elements. - + - Adds a member map convention created using the specified action upon a member map. + Initializes a new instance of the class. - The name of the convention. - The action the convention should take upon the member map. - + - Adds a post processing convention created using the specified action upon a class map. + Initializes a new instance of the class. - The name of the convention. - The action the convention should take upon the class map. + The item serializer. - + - Adds a range of conventions. + Initializes a new instance of the class. - The conventions. - + The serializer registry. - + - Appends the conventions in another pack to the end of this pack. + Returns a serializer that has been reconfigured with the specified item serializer. - The other pack. + The item serializer. + The reconfigured serializer. - + - Gets an enumerator for the conventions. + Adds the item. - An enumerator. + The accumulator. + The item. - + - Inserts the convention after another convention specified by the name. + Creates the accumulator. - The name. - The convention. + The accumulator. - + - Inserts the convention before another convention specified by the name. + Enumerates the items in serialization order. - The name. - The convention. + The value. + The items. - + - Removes the named convention. + Finalizes the result. - The name of the convention. + The accumulator. + The result. - + - Represents a registry of conventions. + Represents a serializer for Strings. - + - Looks up the effective set of conventions that apply to a type. + Initializes a new instance of the class. - The type. - The conventions for that type. - + - Registers the conventions. + Initializes a new instance of the class. - The name. - The conventions. - The filter. + The representation. - + - Removes the conventions specified by the given name. + Gets the representation. - The name. - Removing a convention allows the removal of the special __defaults__ conventions - and the __attributes__ conventions for those who want to completely customize the - experience. + + The representation. + - + - Runs the conventions against a BsonClassMap and its BsonMemberMaps. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Initializes a new instance of the class. + Serializes a value. - The conventions. + The serialization context. + The serialization args. + The object. - + - Applies a modification to the class map. + Returns a serializer that has been reconfigured with the specified representation. - The class map. + The representation. + The reconfigured serializer. - + - Convention pack of defaults. + Represents a serializer for three-dimensional arrays. + The type of the elements. - + - Initializes a new instance of the class. + Initializes a new instance of the class. - + - Gets the instance. + Initializes a new instance of the class. + The item serializer. - + - Gets the conventions. + Initializes a new instance of the class. + The serializer registry. - + - A class map convention that wraps a delegate. + Gets the item serializer. + + The item serializer. + - + - Initializes a new instance of the class. + Deserializes a value. - The name. - The delegate. + The deserialization context. + The deserialization args. + A deserialized value. - + - Applies a modification to the class map. + Serializes a value. - The class map. + The serialization context. + The serialization args. + The object. - + - A member map convention that wraps a delegate. + Returns a serializer that has been reconfigured with the specified item serializer. + The item serializer. + The reconfigured serializer. - + - Initializes a new instance of the class. + Represents a serializer for Timespans. - The name. - The delegate. - + - Applies a modification to the member map. + Initializes a new instance of the class. - The member map. - + - A post processing convention that wraps a delegate. + Initializes a new instance of the class. + The representation. - + - Initializes a new instance of the class. + Initializes a new instance of the class. - The name. - The delegate. + The representation. + The units. - + - Applies a post processing modification to the class map. + Gets the representation. - The class map. + + The representation. + - + - A convention that allows you to set the Enum serialization representation + Gets the units. + + The units. + - + - Initializes a new instance of the class. + Deserializes a value. - The serialization representation. 0 is used to detect representation - from the enum itself. + The deserialization context. + The deserialization args. + A deserialized value. - + - Gets the representation. + Serializes a value. + The serialization context. + The serialization args. + The object. - + - Applies a modification to the member map. + Returns a serializer that has been reconfigured with the specified representation. - The member map. + The representation. + The reconfigured serializer. - + - Represents a discriminator convention where the discriminator is an array of all the discriminators provided by the class maps of the root class down to the actual type. + Returns a serializer that has been reconfigured with the specified representation and units. + The representation. + The units. + + The reconfigured serializer. + - + - Initializes a new instance of the HierarchicalDiscriminatorConvention class. + Represents a serializer for a . - The element name. + The type of item 1. - + - Gets the discriminator value for an actual type. + Initializes a new instance of the class. - The nominal type. - The actual type. - The discriminator value. - + - Represents a convention that applies to a BsonClassMap. + Initializes a new instance of the class. + The Item1 serializer. - + - Applies a modification to the class map. + Initializes a new instance of the class. - The class map. + The serializer registry. - + - Represents a convention. + Gets the Item1 serializer. - + - Gets the name of the convention. + Deserializes the value. + The context. + The deserialization args. + A deserialized value. - + - Represents a grouping of conventions. + Serializes the value. + The serialization context. + The serialization args. + The value. - + - Gets the conventions. + Represents a serializer for a . + The type of item 1. + The type of item 2. - + - Represents a convention that applies to a BsonCreatorMap. + Initializes a new instance of the class. - + - Applies a modification to the creator map. + Initializes a new instance of the class. - The creator map. + The Item1 serializer. + The Item2 serializer. - + - Represents a discriminator convention. + Initializes a new instance of the class. + The serializer registry. - + - Gets the discriminator element name. + Gets the Item1 serializer. - + - Gets the actual type of an object by reading the discriminator from a BsonReader. + Gets the Item2 serializer. - The reader. - The nominal type. - The actual type. - + - Gets the discriminator value for an actual type. + Deserializes the value. - The nominal type. - The actual type. - The discriminator value. + The context. + The deserialization args. + A deserialized value. - + - A convention that sets whether to ignore extra elements encountered during deserialization. + Serializes the value. + The serialization context. + The serialization args. + The value. - + - Initializes a new instance of the class. + Represents a serializer for a . - Whether to ignore extra elements encountered during deserialization. + The type of item 1. + The type of item 2. + The type of item 3. - + - Applies a modification to the class map. + Initializes a new instance of the class. - The class map. - + - A convention that sets whether to ignore default values during serialization. + Initializes a new instance of the class. + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. - + - Initializes a new instance of the class. + Initializes a new instance of the class. - Whether to ignore default values during serialization. + The serializer registry. - + - Applies a modification to the member map. + Gets the Item1 serializer. - The member map. - + - A convention that sets whether to ignore nulls during serialization. + Gets the Item2 serializer. - + - Initializes a new instance of the class. + Gets the Item3 serializer. - Whether to ignore nulls during serialization. - + - Applies a modification to the member map. + Deserializes the value. - The member map. + The context. + The deserialization args. + A deserialized value. - + - Represents a convention that applies to a BsonMemberMap. + Serializes the value. + The serialization context. + The serialization args. + The value. - + - Applies a modification to the member map. + Represents a serializer for a . - The member map. + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. - + - Maps a fully immutable type. This will include anonymous types. + Initializes a new instance of the class. - - - - + - Represents a post processing convention that applies to a BsonClassMap. + Initializes a new instance of the class. + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. - + - Applies a post processing modification to the class map. + Initializes a new instance of the class. - The class map. + The serializer registry. - + - A convention that looks up an id generator for the id member. + Gets the Item1 serializer. - + - Applies a post processing modification to the class map. + Gets the Item2 serializer. - The class map. - + - A convention that sets the default value for members of a given type. + Gets the Item3 serializer. - + - Initializes a new instance of the class. + Gets the Item4 serializer. - The type of the member. - The default value for members of this type. - + - Applies a modification to the member map. + Deserializes the value. - The member map. + The context. + The deserialization args. + A deserialized value. - + - A convention that sets the element name the same as the member name. + Serializes the value. + The serialization context. + The serialization args. + The value. - + - Applies a modification to the member map. + Represents a serializer for a . - The member map. + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. - + - A convention that finds the extra elements member by name (and that is also of type or ). + Initializes a new instance of the class. - + - Initializes a new instance of the NamedExtraElementsMemberConvention class. + Initializes a new instance of the class. - The name of the extra elements member. + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. - + - Initializes a new instance of the class. + Initializes a new instance of the class. - The names. + The serializer registry. - + - Initializes a new instance of the class. + Gets the Item1 serializer. - The names. - The member types. - + - Initializes a new instance of the class. + Gets the Item2 serializer. - The names. - The binding flags. - + - Initializes a new instance of the class. + Gets the Item3 serializer. - The names. - The member types. - The binding flags. - - + - Applies a modification to the class map. + Gets the Item4 serializer. - The class map. - + - A convention that finds the id member by name. + Gets the Item5 serializer. - + - Initializes a new instance of the class. + Deserializes the value. - The names. + The context. + The deserialization args. + A deserialized value. - + - Initializes a new instance of the class. + Serializes the value. - The names. + The serialization context. + The serialization args. + The value. - + - Initializes a new instance of the class. + Represents a serializer for a . - The names. - The member types. + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. - + - Initializes a new instance of the class. + Initializes a new instance of the class. - The names. - The binding flags. - + - Initializes a new instance of the class. + Initializes a new instance of the class. - The names. - The member types. - The binding flags. - + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. - + - Applies a modification to the class map. + Initializes a new instance of the class. - The class map. + The serializer registry. - + - A convention that uses the names of the creator parameters to find the matching members. + Gets the Item1 serializer. - + - Applies a modification to the creator map. + Gets the Item2 serializer. - The creator map. - + - A convention that sets a class's IdMember to null. + Gets the Item3 serializer. - + - Applies a post processing modification to the class map. + Gets the Item4 serializer. - The class map. - + - Represents the object discriminator convention. + Gets the Item5 serializer. - + - Initializes a new instance of the ObjectDiscriminatorConvention class. + Gets the Item6 serializer. - The element name. - + - Gets an instance of the ObjectDiscriminatorConvention. + Deserializes the value. + The context. + The deserialization args. + A deserialized value. - + - Gets the discriminator element name. + Serializes the value. + The serialization context. + The serialization args. + The value. - + - Gets the actual type of an object by reading the discriminator from a BsonReader. + Represents a serializer for a . - The reader. - The nominal type. - The actual type. + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + The type of item 7. - + - Gets the discriminator value for an actual type. + Initializes a new instance of the class. - The nominal type. - The actual type. - The discriminator value. - + - A convention that finds readable and writeable members and adds them to the class map. + Initializes a new instance of the class. + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + The Item7 serializer. - + - Initializes a new instance of the class. + Initializes a new instance of the class. + The serializer registry. - + - Initializes a new instance of the class. + Gets the Item1 serializer. - The member types. - + - Initializes a new instance of the class. + Gets the Item2 serializer. - The binding flags. - + - Initializes a new instance of the class. + Gets the Item3 serializer. - The member types. - The binding flags. - + - Applies a modification to the class map. + Gets the Item4 serializer. - The class map. - + - A convention that resets a class map (resetting any changes that earlier conventions may have applied). + Gets the Item5 serializer. - + - Applies a modification to the class map. + Gets the Item6 serializer. - The class map. - + - A convention that resets class members (resetting any changes that earlier conventions may have applied). + Gets the Item7 serializer. - + - Applies a modification to the member map. + Deserializes the value. - The member map. + The context. + The deserialization args. + A deserialized value. - + - Represents a discriminator convention where the discriminator is provided by the class map of the actual type. + Serializes the value. + The serialization context. + The serialization args. + The value. - + - Initializes a new instance of the ScalarDiscriminatorConvention class. + Represents a serializer for a . - The element name. + The type of item 1. + The type of item 2. + The type of item 3. + The type of item 4. + The type of item 5. + The type of item 6. + The type of item 7. + The type of the rest item. - + - Gets the discriminator value for an actual type. + Initializes a new instance of the class. - The nominal type. - The actual type. - The discriminator value. - + - Represents the standard discriminator conventions (see ScalarDiscriminatorConvention and HierarchicalDiscriminatorConvention). + Initializes a new instance of the class. + The Item1 serializer. + The Item2 serializer. + The Item3 serializer. + The Item4 serializer. + The Item5 serializer. + The Item6 serializer. + The Item7 serializer. + The Rest serializer. - + - Initializes a new instance of the StandardDiscriminatorConvention class. + Initializes a new instance of the class. - The element name. + The serializer registry. - + - Gets an instance of the ScalarDiscriminatorConvention. + Gets the Item1 serializer. - + - Gets an instance of the HierarchicalDiscriminatorConvention. + Gets the Item2 serializer. - + - Gets the discriminator element name. + Gets the Item3 serializer. - + - Gets the actual type of an object by reading the discriminator from a BsonReader. + Gets the Item4 serializer. - The reader. - The nominal type. - The actual type. - + - Gets the discriminator value for an actual type. + Gets the Item5 serializer. - The nominal type. - The actual type. - The discriminator value. - + - A convention that sets the id generator for a string member with a BSON representation of ObjectId. + Gets the Item6 serializer. - + - Applies a post processing modification to the class map. + Gets the Item7 serializer. - The class map. - + - A helper class used to create and compile delegates for creator maps. + Gets the Rest serializer. - + - Creates and compiles a delegate that calls a constructor. + Deserializes the value. - The constructor. - A delegate that calls the constructor. + The context. + The deserialization args. + A deserialized value. - + - Creates and compiles a delegate from a lambda expression. + Serializes the value. - The type of the class. - The lambda expression. - The arguments for the delegate's parameters. - A delegate. + The serialization context. + The serialization args. + The value. - + - Creates and compiles a delegate that calls a factory method. + Represents a serializer for two-dimensional arrays. - the method. - A delegate that calls the factory method. + The type of the elements. - + - Visits a MemberExpression. + Initializes a new instance of the class. - The MemberExpression. - The MemberExpression (possibly modified). - + - Visits a ParameterExpression. + Initializes a new instance of the class. - The ParameterExpression. - The ParameterExpression (possibly modified). + The item serializer. - + - Provides a serializer for interfaces. + Initializes a new instance of the class. + The serializer registry. - - - - + - An abstract base class for an Expression visitor. + Gets the item serializer. + + The item serializer. + - + - Initializes a new instance of the ExpressionVisitor class. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Visits an Expression. + Serializes a value. - The Expression. - The Expression (posibly modified). + The serialization context. + The serialization args. + The object. - + - Visits an Expression list. + Returns a serializer that has been reconfigured with the specified item serializer. - The Expression list. - The Expression list (possibly modified). + The item serializer. + The reconfigured serializer. - + - Visits a BinaryExpression. + Represents a serializer for UInt16s. - The BinaryExpression. - The BinaryExpression (possibly modified). - + - Visits a ConditionalExpression. + Initializes a new instance of the class. - The ConditionalExpression. - The ConditionalExpression (possibly modified). - + - Visits a ConstantExpression. + Initializes a new instance of the class. - The ConstantExpression. - The ConstantExpression (possibly modified). + The representation. - + - Visits an ElementInit. + Initializes a new instance of the class. - The ElementInit. - The ElementInit (possibly modified). + The representation. + The converter. - + - Visits an ElementInit list. + Gets the converter. - The ElementInit list. - The ElementInit list (possibly modified). + + The converter. + - + - Visits an InvocationExpression. + Gets the representation. - The InvocationExpression. - The InvocationExpression (possibly modified). + + The representation. + - + - Visits a LambdaExpression. + Deserializes a value. - The LambdaExpression. - The LambdaExpression (possibly modified). + The deserialization context. + The deserialization args. + A deserialized value. - + - Visits a ListInitExpression. + Serializes a value. - The ListInitExpression. - The ListInitExpression (possibly modified). + The serialization context. + The serialization args. + The object. - + - Visits a MemberExpression. + Returns a serializer that has been reconfigured with the specified item serializer. - The MemberExpression. - The MemberExpression (possibly modified). + The converter. + The reconfigured serializer. - + - Visits a MemberAssignment. + Returns a serializer that has been reconfigured with the specified representation. - The MemberAssignment. - The MemberAssignment (possibly modified). + The representation. + The reconfigured serializer. - + - Visits a MemberBinding. + Represents a serializer for UInt32s. - The MemberBinding. - The MemberBinding (possibly modified). - + - Visits a MemberBinding list. + Initializes a new instance of the class. - The MemberBinding list. - The MemberBinding list (possibly modified). - + - Visits a MemberInitExpression. + Initializes a new instance of the class. - The MemberInitExpression. - The MemberInitExpression (possibly modified). + The representation. - + - Visits a MemberListBinding. + Initializes a new instance of the class. - The MemberListBinding. - The MemberListBinding (possibly modified). + The representation. + The converter. - + - Visits a MemberMemberBinding. + Gets the converter. - The MemberMemberBinding. - The MemberMemberBinding (possibly modified). + + The converter. + - + - Visits a MethodCallExpression. + Gets the representation. - The MethodCallExpression. - The MethodCallExpression (possibly modified). + + The representation. + - + - Visits a NewExpression. + Deserializes a value. - The NewExpression. - The NewExpression (possibly modified). + The deserialization context. + The deserialization args. + A deserialized value. - + - Visits a NewArrayExpression. + Serializes a value. - The NewArrayExpression. - The NewArrayExpression (possibly modified). + The serialization context. + The serialization args. + The object. - + - Visits a ParameterExpression. + Returns a serializer that has been reconfigured with the specified item serializer. - The ParameterExpression. - The ParameterExpression (possibly modified). + The converter. + The reconfigured serializer. - + - Visits a TypeBinaryExpression. + Returns a serializer that has been reconfigured with the specified representation. - The TypeBinaryExpression. - The TypeBinaryExpression (possibly modified). + The representation. + The reconfigured serializer. - + - Visits a UnaryExpression. + Represents a serializer for UInt64s. - The UnaryExpression. - The UnaryExpression (possibly modified). - + - Contract for serializers to implement if they serialize an array of items. + Initializes a new instance of the class. - - - Tries to get the serialization info for the individual items of the array. - - The serialization information. - - true if the serialization info exists; otherwise false. - - - + - Represents a dictionary serializer that can be used in LINQ queries. + Initializes a new instance of the class. + The representation. - + - Gets the dictionary representation. + Initializes a new instance of the class. - - The dictionary representation. - + The representation. + The converter. - + - Gets the key serializer. + Gets the converter. - The key serializer. + The converter. - + - Gets the value serializer. + Gets the representation. - The value serializer. + The representation. - + - Contract for composite serializers that contain a number of named serializers. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Tries to get the serialization info for a member. + Serializes a value. - Name of the member. - The serialization information. - true if the serialization info exists; otherwise false. + The serialization context. + The serialization args. + The object. - + - Contract for serializers that can get and set Id values. + Returns a serializer that has been reconfigured with the specified item serializer. + The converter. + The reconfigured serializer. - + - Gets the document Id. + Returns a serializer that has been reconfigured with the specified representation. - The document. - The Id. - The nominal type of the Id. - The IdGenerator for the Id type. - True if the document has an Id. + The representation. + The reconfigured serializer. - + - Sets the document Id. + Represents a serializer for interfaces and base classes that delegates to the actual type interface without writing a discriminator. - The document. - The Id. + Type type of the value. - + - An interface implemented by a polymorphic serializer. + Initializes a new instance of the class. - + - Gets a value indicating whether this serializer's discriminator is compatible with the object serializer. + Gets the instance. - true if this serializer's discriminator is compatible with the object serializer; otherwise, false. + The instance. - + - An interface implemented by serialization providers. + Serializes a value. + The serialization context. + The serialization args. + The document. - + - Gets a serializer for a type. + Represents a serializer for Uris. - The type. - A serializer. - + - An interface implemented by serialization providers that are aware of registries. + Initializes a new instance of the UriSerializer class. - - This interface was added to preserve backward compatability (changing IBsonSerializationProvider would have been a backward breaking change). - - + - Gets a serializer for a type. + Deserializes a value. - The type. - The serializer registry. - - A serializer. - + The deserialization context. + The deserialization args. + A deserialized value. - + - An interface implemented by a serializer. + Serializes a value. + The serialization context. + The serialization args. + The object. - + - Gets the type of the value. + Represents a serializer for Versions. - - The type of the value. - - + - Deserializes a value. + Initializes a new instance of the class. - The deserialization context. - The deserialization args. - A deserialized value. - + - Serializes a value. + Initializes a new instance of the class. - The serialization context. - The serialization args. - The value. + The representation. - + - An interface implemented by a serializer for values of type TValue. + Gets the representation. - The type that this serializer knows how to serialize. + + The representation. + - + Deserializes a value. @@ -15668,13 +15460,20 @@ The deserialization args. A deserialized value. - + Serializes a value. The serialization context. The serialization args. - The value. + The object. + + + + Returns a serializer that has been reconfigured with the specified representation. + + The representation. + The reconfigured serializer. @@ -15732,1090 +15531,1272 @@ The value. The serialized value. - + - A serializer registry. + Represents a serializer for TClass (a subclass of BsonDocumentBackedClass). + The subclass of BsonDocumentBackedClass. - + - Gets the serializer for the specified . + Initializes a new instance of the class. - The type. - The serializer. - + - Gets the serializer for the specified . + Deserializes a value. - - The serializer. + The deserialization context. + The deserialization args. + A deserialized value. - + - Represents a serializer that has a child serializer that configuration attributes can be forwarded to. + Tries to get the serialization info for a member. + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + - + - Gets the child serializer. + Serializes a value. - - The child serializer. - + The serialization context. + The serialization args. + The object. - + - Returns a serializer that has been reconfigured with the specified child serializer. + Registers a member. - The child serializer. - The reconfigured serializer. + The member name. + The element name. + The serializer. - + - A GUID generator that generates GUIDs in ascending order. To enable - an index to make use of the ascending nature make sure to use - GuidRepresentation.Standard - as the storage representation. - Internally the GUID is of the form - 8 bytes: Ticks from DateTime.UtcNow.Ticks - 3 bytes: hash of machine name - 2 bytes: low order bytes of process Id - 3 bytes: increment + Creates the instance. + The backing document. + An instance of TClass. - + - Gets an instance of AscendingGuidGenerator. + Contract for serializers to implement if they serialize an array of items. - + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + - Generates an ascending Guid for a document. Consecutive invocations - should generate Guids that are ascending from a MongoDB perspective + Contract for serializers that can get and set Id values. - The container of the document (will be a - MongoCollection when called from the driver). - The document it was generated for. - A Guid. - + - Generates a Guid for a document. Note - this is purely used for - unit testing + Gets the document Id. - The time portion of the Guid - A 5 byte array with the first 3 bytes - representing a machine id and the next 2 representing a process - id - The increment portion of the Guid. Used - to distinguish between 2 Guids that have the timestamp. Note - only the least significant 3 bytes are used. - A Guid. + The document. + The Id. + The nominal type of the Id. + The IdGenerator for the Id type. + True if the document has an Id. - + + + Sets the document Id. + + The document. + The Id. + + + + Contract for composite serializers that contain a number of named serializers. + + + + + Tries to get the serialization info for a member. + + Name of the member. + The serialization information. + true if the serialization info exists; otherwise false. + + + + Represents the information needed to serialize a member. + + + + + Initializes a new instance of the BsonSerializationInfo class. + + The element name. + The serializer. + The nominal type. + + + + Gets or sets the dotted element name. + + + + + Gets or sets the serializer. + + + + + Gets or sets the nominal type. + + + + + Deserializes the value. + + The value. + A deserialized value. + + + + Merges the new BsonSerializationInfo by taking its properties and concatenating its ElementName. + + The new info. + A new BsonSerializationInfo. + + + + Serializes the value. + + The value. + The serialized value. + + + + Serializes the values. + + The values. + The serialized values. + + + + Creates a new BsonSerializationInfo object using the elementName provided and copying all other attributes. + + Name of the element. + A new BsonSerializationInfo. + + + + Represents a mapping between a class and a BSON document. + + + + + Initializes a new instance of the BsonClassMap class. + + The class type. + + + + Initializes a new instance of the class. + + Type of the class. + The base class map. + + + + Gets all the member maps (including maps for inherited members). + + + + + Gets the base class map. + + + + + Gets the class type. + + + + + Gets the constructor maps. + + + + + Gets the conventions used for auto mapping. + + + + + Gets the declared member maps (only for members declared in this class). + + + - Tests whether an id is empty. + Gets the discriminator. - The id to test. - True if the Id is empty. False otherwise - + - Gets the current process id. This method exists because of how - CAS operates on the call stack, checking for permissions before - executing the method. Hence, if we inlined this call, the calling - method would not execute before throwing an exception requiring the - try/catch at an even higher level that we don't necessarily control. + Gets whether a discriminator is required when serializing this class. - + - Represents an Id generator for Guids stored in BsonBinaryData values. + Gets the member map of the member used to hold extra elements. - + - Initializes a new instance of the BsonBinaryDataGuidGenerator class. + Gets whether this class map has any creator maps. - The GuidRepresentation to use when generating new Id values. - + - Gets an instance of BsonBinaryDataGuidGenerator for CSharpLegacy GuidRepresentation. + Gets whether this class has a root class ancestor. - + - Gets an instance of BsonBinaryDataGuidGenerator for JavaLegacy GuidRepresentation. + Gets the Id member map (null if none). - + - Gets an instance of BsonBinaryDataGuidGenerator for PythonLegacy GuidRepresentation. + Gets whether extra elements should be ignored when deserializing. - + - Gets an instance of BsonBinaryDataGuidGenerator for Standard GuidRepresentation. + Gets whether the IgnoreExtraElements value should be inherited by derived classes. - + - Gets an instance of BsonBinaryDataGuidGenerator for Unspecifed GuidRepresentation. + Gets whether this class is anonymous. - + - Gets the instance of BsonBinaryDataGuidGenerator for a GuidRepresentation. + Gets whether the class map is frozen. - The GuidRepresentation. - The instance of BsonBinaryDataGuidGenerator for a GuidRepresentation. - + - Generates an Id for a document. + Gets whether this class is a root class. - The container of the document (will be a MongoCollection when called from the C# driver). - The document. - An Id. - + - Tests whether an Id is empty. + Gets the known types of this class. - The Id. - True if the Id is empty. - + - Represents an Id generator for BsonObjectIds. + Gets the element name to member index trie. - + - Initializes a new instance of the BsonObjectIdGenerator class. + Gets the member index of the member used to hold extra elements. - + - Gets an instance of ObjectIdGenerator. + Gets the type of a member. + The member info. + The type of the member. - + - Generates an Id for a document. + Gets all registered class maps. - The container of the document (will be a MongoCollection when called from the C# driver). - The document. - An Id. + All registered class maps. - + - Tests whether an Id is empty. + Checks whether a class map is registered for a type. - The Id. - True if the Id is empty. + The type to check. + True if there is a class map registered for the type. - + - Represents an Id generator for Guids using the COMB algorithm. + Looks up a class map (will AutoMap the class if no class map is registered). + The class type. + The class map. - + - Initializes a new instance of the CombGuidGenerator class. + Creates and registers a class map. + The class. + The class map. - + - Gets an instance of CombGuidGenerator. + Creates and registers a class map. + The class. + The class map initializer. + The class map. - + - Generates an Id for a document. + Registers a class map. - The container of the document (will be a MongoCollection when called from the C# driver). - The document. - An Id. + The class map. - + - Tests whether an Id is empty. + Automaps the class. - The Id. - True if the Id is empty. - + - Create a new CombGuid from a given Guid and timestamp. + Creates an instance of the class. - The base Guid. - The timestamp. - A new CombGuid created by combining the base Guid with the timestamp. + An object. - + - Represents an Id generator for Guids. + Freezes the class map. + The frozen class map. - + - Initializes a new instance of the GuidGenerator class. + Gets a member map (only considers members declared in this class). + The member name. + The member map (or null if the member was not found). - + - Gets an instance of GuidGenerator. + Gets the member map for a BSON element. + The name of the element. + The member map. - + - Generates an Id for a document. + Creates a creator map for a constructor and adds it to the class map. - The container of the document (will be a MongoCollection when called from the C# driver). - The document. - An Id. + The constructor info. + The creator map (so method calls can be chained). - + - Tests whether an Id is empty. + Creates a creator map for a constructor and adds it to the class map. - The Id. - True if the Id is empty. + The constructor info. + The argument names. + The creator map (so method calls can be chained). - + - Represents an Id generator that only checks that the Id is not null. + Creates a creator map and adds it to the class. + The delegate. + The factory method map (so method calls can be chained). - + - Initializes a new instance of the NullIdChecker class. + Creates a creator map and adds it to the class. + The delegate. + The argument names. + The factory method map (so method calls can be chained). - + - Gets an instance of NullIdChecker. + Creates a member map for the extra elements field and adds it to the class map. + The name of the extra elements field. + The member map (so method calls can be chained). - + - Generates an Id for a document. + Creates a member map for the extra elements member and adds it to the class map. - The container of the document (will be a MongoCollection when called from the C# driver). - The document. - An Id. + The member info for the extra elements member. + The member map (so method calls can be chained). - + - Tests whether an Id is empty. + Creates a member map for the extra elements property and adds it to the class map. - The Id. - True if the Id is empty. + The name of the property. + The member map (so method calls can be chained). - + - Represents an Id generator for ObjectIds. + Creates a creator map for a factory method and adds it to the class. + The method info. + The creator map (so method calls can be chained). - + - Initializes a new instance of the ObjectIdGenerator class. + Creates a creator map for a factory method and adds it to the class. + The method info. + The argument names. + The creator map (so method calls can be chained). - + - Gets an instance of ObjectIdGenerator. + Creates a member map for a field and adds it to the class map. + The name of the field. + The member map (so method calls can be chained). - + - Generates an Id for a document. + Creates a member map for the Id field and adds it to the class map. - The container of the document (will be a MongoCollection when called from the C# driver). - The document. - An Id. + The name of the Id field. + The member map (so method calls can be chained). - + - Tests whether an Id is empty. + Creates a member map for the Id member and adds it to the class map. - The Id. - True if the Id is empty. + The member info for the Id member. + The member map (so method calls can be chained). - + - Represents an Id generator for ObjectIds represented internally as strings. + Creates a member map for the Id property and adds it to the class map. + The name of the Id property. + The member map (so method calls can be chained). - + - Initializes a new instance of the StringObjectIdGenerator class. + Creates a member map for a member and adds it to the class map. + The member info. + The member map (so method calls can be chained). - + - Gets an instance of StringObjectIdGenerator. + Creates a member map for a property and adds it to the class map. + The name of the property. + The member map (so method calls can be chained). - + - Generates an Id for a document. + Resets the class map back to its initial state. - The container of the document (will be a MongoCollection when called from the C# driver). - The document. - An Id. - + - Tests whether an Id is empty. + Sets the creator for the object. - The Id. - True if the Id is empty. + The creator. + The class map (so method calls can be chained). - + - Represents an Id generator that only checks that the Id is not all zeros. + Sets the discriminator. - The type of the Id. + The discriminator. - + - Initializes a new instance of the ZeroIdChecker class. + Sets whether a discriminator is required when serializing this class. + Whether a discriminator is required. - + - Generates an Id for a document. + Sets the member map of the member used to hold extra elements. - The container of the document (will be a MongoCollection when called from the C# driver). - The document. - An Id. + The extra elements member map. - + - Tests whether an Id is empty. + Adds a known type to the class map. - The Id. - True if the Id is empty. + The known type. - + - Represents a serializer that has a DictionaryRepresentation property. + Sets the Id member. + The Id member (null if none). - + - Gets the dictionary representation. + Sets whether extra elements should be ignored when deserializing. - - The dictionary representation. - + Whether extra elements should be ignored when deserializing. - + - Returns a serializer that has been reconfigured with the specified dictionary representation. + Sets whether the IgnoreExtraElements value should be inherited by derived classes. - The dictionary representation. - The reconfigured serializer. + Whether the IgnoreExtraElements value should be inherited by derived classes. - + - Represents a serializer that has a DictionaryRepresentation property. + Sets whether this class is a root class. - The type of the serializer. + Whether this class is a root class. - + - Returns a serializer that has been reconfigured with the specified dictionary representation. + Removes a creator map for a constructor from the class map. - The dictionary representation. - The reconfigured serializer. + The constructor info. - + - An interface implemented by Id generators. + Removes a creator map for a factory method from the class map. + The method info. - + - Generates an Id for a document. + Removes the member map for a field from the class map. - The container of the document (will be a MongoCollection when called from the C# driver). - The document. - An Id. + The name of the field. - + - Tests whether an Id is empty. + Removes a member map from the class map. - The Id. - True if the Id is empty. + The member info. - + - Represents a serializer that has a Representation property. + Removes the member map for a property from the class map. + The name of the property. - + - Gets the representation. + Gets the discriminator convention for the class. - - The representation. - + The discriminator convention for the class. - + - Returns a serializer that has been reconfigured with the specified representation. + Represents a mapping between a class and a BSON document. - The representation. - The reconfigured serializer. + The class. - + - Represents a serializer that has a Representation property. + Initializes a new instance of the BsonClassMap class. - The type of the serializer. - + - Returns a serializer that has been reconfigured with the specified representation. + Initializes a new instance of the BsonClassMap class. - The representation. - The reconfigured serializer. + The class map initializer. - + - Represents a serializer that has a representation converter. + Creates an instance. + An instance. - + - Gets the converter. + Gets a member map. - - The converter. - + The member type. + A lambda expression specifying the member. + The member map. - + - Returns a serializer that has been reconfigured with the specified item serializer. + Creates a creator map and adds it to the class map. - The converter. - The reconfigured serializer. + Lambda expression specifying the creator code and parameters to use. + The member map. - + - Represents a serializer that has a representation converter. + Creates a member map for the extra elements field and adds it to the class map. - The type of the serializer. + The member type. + A lambda expression specifying the extra elements field. + The member map. - + - Returns a serializer that has been reconfigured with the specified item serializer. + Creates a member map for the extra elements member and adds it to the class map. - The converter. - The reconfigured serializer. + The member type. + A lambda expression specifying the extra elements member. + The member map. - + - Represents the representation to use for dictionaries. + Creates a member map for the extra elements property and adds it to the class map. + The member type. + A lambda expression specifying the extra elements property. + The member map. - + - Represent the dictionary as a Document. + Creates a member map for a field and adds it to the class map. + The member type. + A lambda expression specifying the field. + The member map. - + - Represent the dictionary as an array of arrays. + Creates a member map for the Id field and adds it to the class map. + The member type. + A lambda expression specifying the Id field. + The member map. - + - Represent the dictionary as an array of documents. + Creates a member map for the Id member and adds it to the class map. + The member type. + A lambda expression specifying the Id member. + The member map. - + - Represents the external representation of a field or property. + Creates a member map for the Id property and adds it to the class map. + The member type. + A lambda expression specifying the Id property. + The member map. - + - Initializes a new instance of the RepresentationConverter class. + Creates a member map and adds it to the class map. - Whether to allow overflow. - Whether to allow truncation. + The member type. + A lambda expression specifying the member. + The member map. - + - Gets whether to allow overflow. + Creates a member map for the Id property and adds it to the class map. + The member type. + A lambda expression specifying the Id property. + The member map. - + - Gets whether to allow truncation. + Removes the member map for a field from the class map. + The member type. + A lambda expression specifying the field. - + - Converts a Decimal128 to a Decimal. + Removes a member map from the class map. - A Decimal128. - A Decimal. + The member type. + A lambda expression specifying the member. - + - Converts a Double to a Decimal. + Removes a member map for a property from the class map. - A Double. - A Decimal. + The member type. + A lambda expression specifying the property. - + - Converts an Int32 to a Decimal. + Represents a serializer for a class map. - An Int32. - A Decimal. + The type of the class. - + - Converts an Int64 to a Decimal. + Initializes a new instance of the BsonClassMapSerializer class. - An Int64. - A Decimal. + The class map. - + - Converts a decimal to a Decimal128. + Gets a value indicating whether this serializer's discriminator is compatible with the object serializer. - A decimal. - A Decimal128. + + true if this serializer's discriminator is compatible with the object serializer; otherwise, false. + - + - Converts a Double to a Decimal128. + Deserializes a value. - A Double. - A Decimal128. + The deserialization context. + The deserialization args. + A deserialized value. - + - Converts an Int32 to a Decimal128. + Deserializes a value. - An Int32. - A Decimal128. + The deserialization context. + A deserialized value. - + - Converts an Int64 to a Decimal128. + Gets the document Id. - An Int64. - A Decimal128. + The document. + The Id. + The nominal type of the Id. + The IdGenerator for the Id type. + True if the document has an Id. - + - Converts a UInt64 to a Decimal128. + Tries to get the serialization info for a member. - A UInt64. - A Decimal128. + Name of the member. + The serialization information. + + true if the serialization info exists; otherwise false. + - + - Converts a Decimal to a Double. + Serializes a value. - A Decimal. - A Double. + The serialization context. + The serialization args. + The object. - + - Converts a Decimal128 to a Double. + Sets the document Id. - A Decimal. - A Double. + The document. + The Id. - + - Converts a Double to a Double. + Represents the mapping between a field or property and a BSON element. - A Double. - A Double. - + - Converts a Single to a Double. + Initializes a new instance of the BsonMemberMap class. - A Single. - A Double. + The class map this member map belongs to. + The member info. - + - Converts an Int32 to a Double. + Gets the class map that this member map belongs to. - An Int32. - A Double. - + - Converts an Int64 to a Double. + Gets the name of the member. - An Int64. - A Double. - + - Converts an Int16 to a Double. + Gets the type of the member. - An Int16. - A Double. - + - Converts a UInt32 to a Double. + Gets whether the member type is a BsonValue. - A UInt32. - A Double. - + - Converts a UInt64 to a Double. + Gets the name of the element. - A UInt64. - A Double. - + - Converts a UInt16 to a Double. + Gets the serialization order. - A UInt16. - A Double. - + - Converts a Decimal128 to an Int16. + Gets the member info. - A Decimal128. - An Int16. - + - Converts a Double to an Int16. + Gets the getter function. - A Double. - An Int16. - + - Converts an Int32 to an Int16. + Gets the setter function. - An Int32. - An Int16. - + - Converts an Int64 to an Int16. + Gets the Id generator. - An Int64. - An Int16. - + - Converts a Decimal to an Int32. + Gets whether a default value was specified. - A Decimal. - An Int32. - + - Converts a Decimal128 to an Int32. + Gets whether an element is required for this member when deserialized. - A Decimal128. - An Int32. - + - Converts a Double to an Int32. + Gets the method that will be called to determine whether the member should be serialized. - A Double. - An Int32. - + - Converts a Single to an Int32. + Gets whether default values should be ignored when serialized. - A Single. - An Int32. - + - Converts an Int32 to an Int32. + Gets whether null values should be ignored when serialized. - An Int32. - An Int32. - + - Converts an Int64 to an Int32. + Gets the default value. - An Int64. - An Int32. - + - Converts an Int16 to an Int32. + Gets whether the member is readonly. - An Int16. - An Int32. + + Readonly indicates that the member is written to the database, but not read from the database. + - + - Converts a UInt32 to an Int32. + Applies the default value to the member of an object. - A UInt32. - An Int32. + The object. - + - Converts a UInt64 to an Int32. + Freezes this instance. - A UInt64. - An Int32. - + - Converts a UInt16 to an Int32. + Gets the serializer. - A UInt16. - An Int32. + The serializer. - + - Converts a Decimal to an Int64. + Resets the member map back to its initial state. - A Decimal. - An Int64. + The member map. - + - Converts a Decimal128 to an Int64. + Sets the default value creator. - A Decimal128. - An Int64. + The default value creator (note: the supplied delegate must be thread safe). + The member map. - + - Converts a Double to an Int64. + Sets the default value. - A Double. - An Int64. + The default value. + The member map. - + - Converts a Single to an Int64. + Sets the name of the element. - A Single. - An Int64. + The name of the element. + The member map. - + - Converts an Int32 to an Int64. + Sets the Id generator. - An Int32. - An Int64. + The Id generator. + The member map. - + - Converts an Int64 to an Int64. + Sets whether default values should be ignored when serialized. - An Int64. - An Int64. + Whether default values should be ignored when serialized. + The member map. - + - Converts an Int16 to an Int64. + Sets whether null values should be ignored when serialized. - An Int16. - An Int64. + Wether null values should be ignored when serialized. + The member map. - + - Converts a UInt32 to an Int64. + Sets whether an element is required for this member when deserialized - A UInt32. - An Int64. + Whether an element is required for this member when deserialized + The member map. - + - Converts a UInt64 to an Int64. + Sets the serialization order. - A UInt64. - An Int64. + The serialization order. + The member map. - + - Converts a UInt16 to an Int64. + Sets the serializer. - A UInt16. - An Int64. + The serializer. + + The member map. + + serializer + serializer - + - Converts a Decimal128 to a Single. + Sets the method that will be called to determine whether the member should be serialized. - A Decimal128. - A Single. + The method. + The member map. - + - Converts a Double to a Single. + Determines whether a value should be serialized - A Double. - A Single. + The object. + The value. + True if the value should be serialized. - + - Converts an Int32 to a Single. + A static class that represents the BSON serialization functionality. - An Int32. - A Single. - + - Converts an Int64 to a Single. + Gets the serializer registry. - An Int64. - A Single. - + - Converts a Decimal128 to a UInt16. + Gets or sets whether to use the NullIdChecker on reference Id types that don't have an IdGenerator registered. - A Decimal128. - A UInt16. - + - Converts a Double to a UInt16. + Gets or sets whether to use the ZeroIdChecker on value Id types that don't have an IdGenerator registered. - A Double. - A UInt16. - + - Converts an Int32 to a UInt16. + Deserializes an object from a BsonDocument. - An Int32. - A UInt16. + The nominal type of the object. + The BsonDocument. + The configurator. + A deserialized value. - + - Converts an Int64 to a UInt16. + Deserializes a value. - An Int64. - A UInt16. + The nominal type of the object. + The BsonReader. + The configurator. + A deserialized value. - + - Converts a Decimal128 to a UInt32. + Deserializes an object from a BSON byte array. - A Decimal128. - A UInt32. + The nominal type of the object. + The BSON byte array. + The configurator. + A deserialized value. - + - Converts a Double to a UInt32. + Deserializes an object from a BSON Stream. - A Double. - A UInt32. + The nominal type of the object. + The BSON Stream. + The configurator. + A deserialized value. - + - Converts an Int32 to a UInt32. + Deserializes an object from a JSON string. - An Int32. - A UInt32. + The nominal type of the object. + The JSON string. + The configurator. + A deserialized value. - + - Converts an Int64 to a UInt32. + Deserializes an object from a JSON TextReader. - An Int64. - A UInt32. + The nominal type of the object. + The JSON TextReader. + The configurator. + A deserialized value. - + - Converts a Decimal128 to a UInt64. + Deserializes an object from a BsonDocument. - A Decimal128. - A UInt64. + The BsonDocument. + The nominal type of the object. + The configurator. + A deserialized value. - + - Converts a Double to a UInt64. + Deserializes a value. - A Double. - A UInt64. + The BsonReader. + The nominal type of the object. + The configurator. + A deserialized value. - + - Converts an Int32 to a UInt64. + Deserializes an object from a BSON byte array. - An Int32. - A UInt64. + The BSON byte array. + The nominal type of the object. + The configurator. + A deserialized value. - + - Converts an Int64 to a UInt64. + Deserializes an object from a BSON Stream. - An Int64. - A UInt64. + The BSON Stream. + The nominal type of the object. + The configurator. + A deserialized value. - + - Represents the units a TimeSpan is serialized in. + Deserializes an object from a JSON string. + The JSON string. + The nominal type of the object. + The configurator. + A deserialized value. - + - Use ticks as the units. + Deserializes an object from a JSON TextReader. + The JSON TextReader. + The nominal type of the object. + The configurator. + A deserialized value. - + - Use days as the units. + Returns whether the given type has any discriminators registered for any of its subclasses. + A Type. + True if the type is discriminated. - + - Use hours as the units. + Looks up the actual type of an object to be deserialized. + The nominal type of the object. + The discriminator. + The actual type of the object. - + - Use minutes as the units. + Looks up the discriminator convention for a type. + The type. + A discriminator convention. - + - Use seconds as the units. + Looks up an IdGenerator. + The Id type. + An IdGenerator for the Id type. - + - Use milliseconds as the units. + Looks up a serializer for a Type. + The type. + A serializer for type T. - + - Use microseconds as the units. + Looks up a serializer for a Type. + The Type. + A serializer for the Type. - + - Use nanoseconds as the units. + Registers the discriminator for a type. + The type. + The discriminator. - + - Provides serializers for primitive types. + Registers the discriminator convention for a type. + Type type. + The discriminator convention. - - + + + Registers a generic serializer definition for a generic type. + + The generic type. + The generic serializer definition. - + - Represents a serializer for an abstract class. + Registers an IdGenerator for an Id Type. - The type of the class. + The Id Type. + The IdGenerator for the Id Type. - + - Represents a serializer for one-dimensional arrays. + Registers a serialization provider. - The type of the elements. + The serialization provider. - + - Initializes a new instance of the class. + Registers a serializer for a type. + The type. + The serializer. - + - Initializes a new instance of the class. + Registers a serializer for a type. - The item serializer. + The type. + The serializer. - + - Initializes a new instance of the class. + Serializes a value. - The serializer registry. + The nominal type of the object. + The BsonWriter. + The object. + The serialization context configurator. + The serialization args. - + - Returns a serializer that has been reconfigured with the specified item serializer. + Serializes a value. - The item serializer. - The reconfigured serializer. + The BsonWriter. + The nominal type of the object. + The object. + The serialization context configurator. + The serialization args. - + - Adds the item. + An interface implemented by Id generators. - The accumulator. - The item. - + - Creates the accumulator. + Generates an Id for a document. - The accumulator. + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. - + - Enumerates the items in serialization order. + Tests whether an Id is empty. - The value. - The items. + The Id. + True if the Id is empty. - + - Finalizes the result. + An interface implemented by a serializer. - The accumulator. - The result. - + - Represents a serializer for BitArrays. + Gets the type of the value. + + The type of the value. + - + - Initializes a new instance of the class. + Deserializes a value. + The deserialization context. + The deserialization args. + A deserialized value. - + - Initializes a new instance of the class. + Serializes a value. - The representation. + The serialization context. + The serialization args. + The value. - + - Gets the representation. + An interface implemented by a serializer for values of type TValue. - - The representation. - + The type that this serializer knows how to serialize. - + Deserializes a value. @@ -16823,7 +16804,7 @@ The deserialization args. A deserialized value. - + Serializes a value. @@ -16831,5115 +16812,4878 @@ The serialization args. The value. - + - Returns a serializer that has been reconfigured with the specified representation. + An interface implemented by serialization providers. - The representation. - The reconfigured serializer. - + - Represents a serializer for Booleans. + Gets a serializer for a type. + The type. + A serializer. - + - Initializes a new instance of the class. + An interface implemented by serialization providers that are aware of registries. + + This interface was added to preserve backward compatability (changing IBsonSerializationProvider would have been a backward breaking change). + - + - Initializes a new instance of the class. + Gets a serializer for a type. - The representation. + The type. + The serializer registry. + + A serializer. + - + - Gets the representation. + Represents a serialization provider based on a mapping from value types to serializer types. - - The representation. - - + - Deserializes a value. + Initializes a new instance of the class. - The deserialization context. - The deserialization args. - A deserialized value. - + + + + - Serializes a value. + Registers the serializer mapping. - The serialization context. - The serialization args. - The object. + The type. + Type of the serializer. - + - Returns a serializer that has been reconfigured with the specified representation. + Supports using type names as discriminators. - The representation. - The reconfigured serializer. - + - Represents a serializer for BsonArrays. + Resolves a type name discriminator. + The type name. + The type if type type name can be resolved; otherwise, null. - + - Initializes a new instance of the BsonArraySerializer class. + Gets a type name to be used as a discriminator (like AssemblyQualifiedName but shortened for common DLLs). + The type. + The type name. - + - Gets an instance of the BsonArraySerializer class. + Represents a truncation exception. - + - Deserializes a value. + Initializes a new instance of the TruncationException class. - The deserialization context. - The deserialization args. - A deserialized value. - + - Tries to get the serialization info for the individual items of the array. + Initializes a new instance of the TruncationException class. - The serialization information. - - true if the serialization info exists; otherwise false. - + The error message. - + - Serializes a value. + Initializes a new instance of the TruncationException class. - The serialization context. - The serialization args. - The object. + The error message. + The inner exception. - + - Represents a serializer for BsonBinaryDatas. + Initializes a new instance of the TruncationException class (this overload used by deserialization). + The SerializationInfo. + The StreamingContext. - + - Initializes a new instance of the BsonBinaryDataSerializer class. + Represents the BSON undefined value. - + - Gets an instance of the BsonBinaryDataSerializer class. + Compares two BsonUndefined values. + The first BsonUndefined. + The other BsonUndefined. + True if the two BsonUndefined values are not equal according to ==. - + - Deserializes a value. + Compares two BsonUndefined values. - The deserialization context. - The deserialization args. - A deserialized value. + The first BsonUndefined. + The other BsonUndefined. + True if the two BsonUndefined values are equal according to ==. - + - Serializes a value. + Gets the singleton instance of BsonUndefined. - The serialization context. - The serialization args. - The object. - + - Represents a serializer for BsonBooleans. + Gets the BsonType of this BsonValue. - + - Initializes a new instance of the BsonBooleanSerializer class. + Compares this BsonUndefined to another BsonUndefined. + The other BsonUndefined. + A 32-bit signed integer that indicates whether this BsonUndefined is less than, equal to, or greather than the other. - + - Gets an instance of the BsonBooleanSerializer class. + Compares the BsonUndefined to another BsonValue. + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonUndefined is less than, equal to, or greather than the other BsonValue. - + - Deserializes a value. + Compares this BsonUndefined to another BsonUndefined. - The deserialization context. - The deserialization args. - A deserialized value. + The other BsonUndefined. + True if the two BsonUndefined values are equal. + + + + Compares this BsonUndefined to another object. + + The other object. + True if the other object is a BsonUndefined and equal to this one. - + - Serializes a value. + Gets the hash code. - The serialization context. - The serialization args. - The object. + The hash code. - + - Represents a serializer for BsonDateTimes. + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + A Boolean. - + - Initializes a new instance of the BsonDateTimeSerializer class. + Returns a string representation of the value. + A string representation of the value. - + - Gets an instance of the BsonDateTimeSerializer class. + Represents a BSON internal exception (almost surely the result of a bug). - + - Deserializes a value. + Initializes a new instance of the BsonInternalException class. - The deserialization context. - The deserialization args. - A deserialized value. - + - Serializes a value. + Initializes a new instance of the BsonInternalException class. - The serialization context. - The serialization args. - The object. + The error message. - + - Represents a serializer for BsonDecimal128s. + Initializes a new instance of the BsonInternalException class. + The error message. + The inner exception. - + - Initializes a new instance of the BsonBooleanSerializer class. + Initializes a new instance of the BsonInternalException class (this overload used by deserialization). + The SerializationInfo. + The StreamingContext. - + - Gets an instance of the BsonBooleanSerializer class. + Represents a BSON serialization exception. - + - Deserializes a value. + Initializes a new instance of the BsonSerializationException class. - The deserialization context. - The deserialization args. - A deserialized value. - + - Serializes a value. + Initializes a new instance of the BsonSerializationException class. - The serialization context. - The serialization args. - The object. + The error message. - + - Represents a serializer for BsonDocuments. + Initializes a new instance of the BsonSerializationException class. + The error message. + The inner exception. - + - Initializes a new instance of the BsonDocumentSerializer class. + Initializes a new instance of the BsonSerializationException class (this overload used by deserialization). + The SerializationInfo. + The StreamingContext. - + - Gets an instance of the BsonDocumentSerializer class. + An interface implemented by objects that convert themselves to a BsonDocument. - + - Deserializes a value. + Converts this object to a BsonDocument. - The deserialization context. - The deserialization args. - A deserialized value. + A BsonDocument. - + - Gets the document Id. + Represents a BSON array. - The document. - The Id. - The nominal type of the Id. - The IdGenerator for the Id type. - True if the document has an Id. - + - Tries to get the serialization info for a member. + Initializes a new instance of the BsonArray class. - Name of the member. - The serialization information. - - true if the serialization info exists; otherwise false. - - + - Serializes a value. + Initializes a new instance of the BsonArray class. - The serialization context. - The serialization args. - The object. + A list of values to add to the array. - + - Sets the document Id. + Initializes a new instance of the BsonArray class. - The document. - The Id. + A list of values to add to the array. - + - Represents a serializer for BsonDocumentWrappers. + Initializes a new instance of the BsonArray class. + A list of values to add to the array. - + - Initializes a new instance of the BsonDocumentWrapperSerializer class. + Initializes a new instance of the BsonArray class. + A list of values to add to the array. - + - Gets an instance of the BsonDocumentWrapperSerializer class. + Initializes a new instance of the BsonArray class. + A list of values to add to the array. - + - Deserializes a class. + Initializes a new instance of the BsonArray class. - The deserialization context. - The deserialization args. - A deserialized value. + A list of values to add to the array. - + - Deserializes a class. + Initializes a new instance of the BsonArray class. - The deserialization context. - The deserialization args. - An object. + A list of values to add to the array. - + - Serializes a value. + Initializes a new instance of the BsonArray class. - The serialization context. - The serialization args. - The object. + A list of values to add to the array. - + - Represents a serializer for BsonDoubles. + Initializes a new instance of the BsonArray class. + A list of values to add to the array. - + - Initializes a new instance of the BsonDoubleSerializer class. + Initializes a new instance of the BsonArray class. + The initial capacity of the array. - + - Gets an instance of the BsonDoubleSerializer class. + Compares two BsonArray values. + The first BsonArray. + The other BsonArray. + True if the two BsonArray values are not equal according to ==. - + - Deserializes a value. + Compares two BsonArray values. - The deserialization context. - The deserialization args. - A deserialized value. + The first BsonArray. + The other BsonArray. + True if the two BsonArray values are equal according to ==. - + - Serializes a value. + Gets the BsonType of this BsonValue. - The serialization context. - The serialization args. - The object. - + - Represents a serializer for BsonInt32s. + Gets or sets the total number of elements the internal data structure can hold without resizing. - + - Initializes a new instance of the BsonInt32Serializer class. + Gets the count of array elements. - + - Gets an instance of the BsonInt32Serializer class. + Gets whether the array is read-only. - + - Deserializes a value. + Gets the array elements as raw values (see BsonValue.RawValue). - The deserialization context. - The deserialization args. - A deserialized value. - + - Serializes a value. + Gets the array elements. - The serialization context. - The serialization args. - The object. - + - Represents a serializer for BsonInt64s. + Gets or sets a value by position. + The position. + The value. - + - Initializes a new instance of the BsonInt64Serializer class. + Creates a new BsonArray. + A value to be mapped to a BsonArray. + A BsonArray or null. - + - Gets an instance of the BsonInt64Serializer class. + Adds an element to the array. + The value to add to the array. + The array (so method calls can be chained). - + - Deserializes a value. + Adds multiple elements to the array. - The deserialization context. - The deserialization args. - A deserialized value. + A list of values to add to the array. + The array (so method calls can be chained). - + - Serializes a value. + Adds multiple elements to the array. - The serialization context. - The serialization args. - The object. + A list of values to add to the array. + The array (so method calls can be chained). - + - Represents a serializer for BsonJavaScripts. + Adds multiple elements to the array. + A list of values to add to the array. + The array (so method calls can be chained). - + - Initializes a new instance of the BsonJavaScriptSerializer class. + Adds multiple elements to the array. + A list of values to add to the array. + The array (so method calls can be chained). - + - Gets an instance of the BsonJavaScriptSerializer class. + Adds multiple elements to the array. + A list of values to add to the array. + The array (so method calls can be chained). - + - Deserializes a value. + Adds multiple elements to the array. - The deserialization context. - The deserialization args. - A deserialized value. + A list of values to add to the array. + The array (so method calls can be chained). - + - Serializes a value. + Adds multiple elements to the array. - The serialization context. - The serialization args. - The object. + A list of values to add to the array. + The array (so method calls can be chained). - + - Represents a serializer for BsonJavaScriptWithScopes. + Adds multiple elements to the array. + A list of values to add to the array. + The array (so method calls can be chained). - + - Initializes a new instance of the BsonJavaScriptWithScopeSerializer class. + Adds multiple elements to the array. + A list of values to add to the array. + The array (so method calls can be chained). - + - Gets an instance of the BsonJavaScriptWithScopeSerializer class. + Creates a shallow clone of the array (see also DeepClone). + A shallow clone of the array. - + - Deserializes a value. + Clears the array. - The deserialization context. - The deserialization args. - A deserialized value. - + - Serializes a value. + Compares the array to another array. - The serialization context. - The serialization args. - The object. + The other array. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other. - + - Represents a serializer for BsonMaxKeys. + Compares the array to another BsonValue. + The other BsonValue. + A 32-bit signed integer that indicates whether this array is less than, equal to, or greather than the other BsonValue. - + - Initializes a new instance of the BsonMaxKeySerializer class. + Tests whether the array contains a value. + The value to test for. + True if the array contains the value. - + - Gets an instance of the BsonMaxKeySerializer class. + Copies elements from this array to another array. + The other array. + The zero based index of the other array at which to start copying. - + - Deserializes a value. + Copies elements from this array to another array as raw values (see BsonValue.RawValue). - The deserialization context. - The deserialization args. - A deserialized value. + The other array. + The zero based index of the other array at which to start copying. - + - Serializes a value. + Creates a deep clone of the array (see also Clone). - The serialization context. - The serialization args. - The object. + A deep clone of the array. - + - Represents a serializer for BsonMinKeys. + Compares this array to another array. + The other array. + True if the two arrays are equal. - + - Initializes a new instance of the BsonMinKeySerializer class. + Compares this BsonArray to another object. + The other object. + True if the other object is a BsonArray and equal to this one. - + - Gets an instance of the BsonMinKeySerializer class. + Gets an enumerator that can enumerate the elements of the array. + An enumerator. - + - Deserializes a value. + Gets the hash code. - The deserialization context. - The deserialization args. - A deserialized value. + The hash code. - + - Serializes a value. + Gets the index of a value in the array. - The serialization context. - The serialization args. - The object. + The value to search for. + The zero based index of the value (or -1 if not found). - + - Represents a serializer for BsonNulls. + Gets the index of a value in the array. + The value to search for. + The zero based index at which to start the search. + The zero based index of the value (or -1 if not found). - + - Initializes a new instance of the BsonNullSerializer class. + Gets the index of a value in the array. + The value to search for. + The zero based index at which to start the search. + The number of elements to search. + The zero based index of the value (or -1 if not found). - + - Gets an instance of the BsonNullSerializer class. + Inserts a new value into the array. + The zero based index at which to insert the new value. + The new value. - + - Deserializes a value. + Removes the first occurrence of a value from the array. - The deserialization context. - The deserialization args. - A deserialized value. + The value to remove. + True if the value was removed. - + - Serializes a value. + Removes an element from the array. - The serialization context. - The serialization args. - The object. + The zero based index of the element to remove. - + - Represents a serializer for BsonObjectIds. + Converts the BsonArray to an array of BsonValues. + An array of BsonValues. - + - Initializes a new instance of the BsonObjectIdSerializer class. + Converts the BsonArray to a list of BsonValues. + A list of BsonValues. - + - Gets an instance of the BsonObjectIdSerializer class. + Returns a string representation of the array. + A string representation of the array. - + - Deserializes a value. + A static helper class containing BSON defaults. - The deserialization context. - The deserialization args. - A deserialized value. - + - Serializes a value. + Gets or sets the dynamic array serializer. - The serialization context. - The serialization args. - The object. - + - Represents a serializer for BsonRegularExpressions. + Gets or sets the dynamic document serializer. - + - Initializes a new instance of the BsonRegularExpressionSerializer class. + Gets or sets the default representation to be used in serialization of + Guids to the database. + - + - Gets an instance of the BsonRegularExpressionSerializer class. + Gets or sets the default max document size. The default is 4MiB. - + - Deserializes a value. + Gets or sets the default max serialization depth (used to detect circular references during serialization). The default is 100. - The deserialization context. - The deserialization args. - A deserialized value. - + - Serializes a value. + Represents a BSON boolean value. - The serialization context. - The serialization args. - The object. - + - Represents a serializer for BsonStrings. + Initializes a new instance of the BsonBoolean class. + The value. - + - Initializes a new instance of the BsonStringSerializer class. + Gets the instance of BsonBoolean that represents false. - + - Gets an instance of the BsonStringSerializer class. + Gets the instance of BsonBoolean that represents true. - + - Deserializes a value. + Gets the BsonType of this BsonValue. - The deserialization context. - The deserialization args. - A deserialized value. - + - Serializes a value. + Gets the BsonBoolean as a bool. - The serialization context. - The serialization args. - The object. - + - Represents a serializer for BsonSymbols. + Gets the value of this BsonBoolean. - + - Initializes a new instance of the BsonSymbolSerializer class. + Converts a bool to a BsonBoolean. + A bool. + A BsonBoolean. - + - Gets an instance of the BsonSymbolSerializer class. + Compares two BsonBoolean values. + The first BsonBoolean. + The other BsonBoolean. + True if the two BsonBoolean values are not equal according to ==. - + - Deserializes a value. + Compares two BsonBoolean values. - The deserialization context. - The deserialization args. - A deserialized value. + The first BsonBoolean. + The other BsonBoolean. + True if the two BsonBoolean values are equal according to ==. - + - Serializes a value. + Returns one of the two possible BsonBoolean values. - The serialization context. - The serialization args. - The object. + An object to be mapped to a BsonBoolean. + A BsonBoolean or null. - + - Represents a serializer for BsonTimestamps. + Compares this BsonBoolean to another BsonBoolean. + The other BsonBoolean. + A 32-bit signed integer that indicates whether this BsonBoolean is less than, equal to, or greather than the other. - + - Initializes a new instance of the BsonTimestampSerializer class. + Compares the BsonBoolean to another BsonValue. + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonBoolean is less than, equal to, or greather than the other BsonValue. - + - Gets an instance of the BsonTimestampSerializer class. + Compares this BsonBoolean to another BsonBoolean. + The other BsonBoolean. + True if the two BsonBoolean values are equal. - + - Deserializes a value. + Compares this BsonBoolean to another object. - The deserialization context. - The deserialization args. - A deserialized value. + The other object. + True if the other object is a BsonBoolean and equal to this one. - + - Serializes a value. + Gets the hash code. - The serialization context. - The serialization args. - The object. + The hash code. - + - Represents a serializer for BsonUndefineds. + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + A Boolean. - + - Initializes a new instance of the BsonUndefinedSerializer class. + Returns a string representation of the value. + A string representation of the value. - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Gets an instance of the BsonUndefinedSerializer class. + Represents a BSON DateTime value. - + - Deserializes a value. + Initializes a new instance of the BsonDateTime class. - The deserialization context. - The deserialization args. - A deserialized value. + A DateTime. - + - Serializes a value. + Initializes a new instance of the BsonDateTime class. - The serialization context. - The serialization args. - The object. + Milliseconds since Unix Epoch. - + - Represents a serializer for a BsonValue that can round trip C# null. + Gets the BsonType of this BsonValue. - The type of the BsonValue. - + - Initializes a new instance of the class. + Gets whether this BsonDateTime is a valid .NET DateTime. - The wrapped serializer. - + - Deserializes a value. + Gets the number of milliseconds since the Unix Epoch. - The deserialization context. - The deserialization args. - A deserialized value. - + - Serializes a value. + Gets the number of milliseconds since the Unix Epoch. - The serialization context. - The serialization args. - The object. - + - Represents a serializer for a BsonValue that can round trip C# null and implements IBsonArraySerializer and IBsonDocumentSerializer. + Gets the DateTime value. - The type of the bson value. - + - Initializes a new instance of the class. + Converts a DateTime to a BsonDateTime. - The wrapped serializer. + A DateTime. + A BsonDateTime. - + - Tries to get the serialization info for the individual items of the array. + Compares two BsonDateTime values. - The serialization information. - - The serialization info for the items. - + The first BsonDateTime. + The other BsonDateTime. + True if the two BsonDateTime values are not equal according to ==. - + - Tries to get the serialization info for a member. + Compares two BsonDateTime values. - Name of the member. - The serialization information. - - true if the serialization info exists; otherwise false. - + The first BsonDateTime. + The other BsonDateTime. + True if the two BsonDateTime values are equal according to ==. - + - Represents a serializer for a BsonValue that can round trip C# null and implements IBsonArraySerializer. + Creates a new BsonDateTime. - The type of the bson value. + An object to be mapped to a BsonDateTime. + A BsonDateTime or null. - + - Initializes a new instance of the class. + Compares this BsonDateTime to another BsonDateTime. - The wrapped serializer. + The other BsonDateTime. + A 32-bit signed integer that indicates whether this BsonDateTime is less than, equal to, or greather than the other. - + - Tries to get the serialization info for the individual items of the array. + Compares the BsonDateTime to another BsonValue. - The serialization information. - - true if the serialization info exists; otherwise false. - + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonDateTime is less than, equal to, or greather than the other BsonValue. - + - Represents a serializer for a BsonValue that can round trip C# null and implements IBsonDocumentSerializer. + Compares this BsonDateTime to another BsonDateTime. - The type of the bson value. + The other BsonDateTime. + True if the two BsonDateTime values are equal. - + - Initializes a new instance of the class. + Compares this BsonDateTime to another object. - The wrapped serializer. + The other object. + True if the other object is a BsonDateTime and equal to this one. - + - Tries to get the serialization info for a member. + Gets the hash code. - Name of the member. - The serialization information. - - true if the serialization info exists; otherwise false. - + The hash code. - + - Represents a serializer for BsonValues. + Converts this BsonValue to a DateTime in local time. + A DateTime. - + - Initializes a new instance of the BsonValueSerializer class. + Converts this BsonValue to a DateTime? in local time. + A DateTime?. - + - Gets an instance of the BsonValueSerializer class. + Converts this BsonValue to a DateTime? in UTC. + A DateTime?. - + - Deserializes a value. + Converts this BsonValue to a DateTime in UTC. - The deserialization context. - The deserialization args. - A deserialized value. + A DateTime. - + - Tries to get the serialization info for a member. + Returns a string representation of the value. - Name of the member. - The serialization information. - - true if the serialization info exists; otherwise false. - + A string representation of the value. - + + + + + + + - Tries to get the serialization info for the individual items of the array. + Represents a BsonDocument wrapper. - The serialization information. - - true if the serialization info exists; otherwise false. - - + - Serializes a value. + Initializes a new instance of the class. - The serialization context. - The serialization args. - The object. + The value. - + - Represents a base class for BsonValue serializers. + Initializes a new instance of the class. - The type of the BsonValue. + The value. + The serializer. - + - Initializes a new instance of the class. + Gets the serializer. - The Bson type. + + The serializer. + - + - Deserializes a value. + Gets the wrapped value. - The deserialization context. - The deserialization args. - A deserialized value. - + - Serializes a value. + Creates a new instance of the BsonDocumentWrapper class. - The serialization context. - The serialization args. - The object. + The nominal type of the wrapped object. + The wrapped object. + A BsonDocumentWrapper. - + - Deserializes a value. + Creates a new instance of the BsonDocumentWrapper class. - The deserialization context. - The deserialization args. - A deserialized value. + The nominal type of the wrapped object. + The wrapped object. + A BsonDocumentWrapper. - + - Serializes a value. + Creates a list of new instances of the BsonDocumentWrapper class. - The serialization context. - The serialization args. - The object. + The nominal type of the wrapped objects. + A list of wrapped objects. + A list of BsonDocumentWrappers. - + - Represents a serializer for ByteArrays. + Creates a list of new instances of the BsonDocumentWrapper class. + The nominal type of the wrapped object. + A list of wrapped objects. + A list of BsonDocumentWrappers. - + - Initializes a new instance of the class. + Creates a shallow clone of the document (see also DeepClone). + + A shallow clone of the document. + - + - Initializes a new instance of the class. + Materializes the BsonDocument. - The representation. + The materialized elements. - + - Gets the representation. + Informs subclasses that the Materialize process completed so they can free any resources related to the unmaterialized state. - - The representation. - - + - Deserializes a value. + Represents a BSON long value. - The deserialization context. - The deserialization args. - A deserialized value. - + - Serializes a value. + Initializes a new instance of the BsonInt64 class. - The serialization context. - The serialization args. - The object. + The value. - + - Returns a serializer that has been reconfigured with the specified representation. + Gets the BsonType of this BsonValue. - The representation. - The reconfigured serializer. - + - Represents a serializer for Bytes. + Gets the BsonInt64 as a long. - + - Initializes a new instance of the class. + Gets the value of this BsonInt64. - + - Initializes a new instance of the class. + Converts a long to a BsonInt64. - The representation. + A long. + A BsonInt64. - + - Gets the representation. + Compares two BsonInt64 values. - - The representation. - + The first BsonInt64. + The other BsonInt64. + True if the two BsonInt64 values are not equal according to ==. - + - Deserializes a value. + Compares two BsonInt64 values. - The deserialization context. - The deserialization args. - A deserialized value. + The first BsonInt64. + The other BsonInt64. + True if the two BsonInt64 values are equal according to ==. - + - Serializes a value. + Creates a new BsonInt64. - The serialization context. - The serialization args. - The object. + An object to be mapped to a BsonInt64. + A BsonInt64 or null. - + - Returns a serializer that has been reconfigured with the specified representation. + Compares this BsonInt64 to another BsonInt64. - The representation. - The reconfigured serializer. + The other BsonInt64. + A 32-bit signed integer that indicates whether this BsonInt64 is less than, equal to, or greather than the other. - + - Represents a serializer for Chars. + Compares the BsonInt64 to another BsonValue. + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonInt64 is less than, equal to, or greather than the other BsonValue. - + - Initializes a new instance of the class. + Compares this BsonInt64 to another BsonInt64. + The other BsonInt64. + True if the two BsonInt64 values are equal. - + - Initializes a new instance of the class. + Compares this BsonInt64 to another object. - The representation. + The other object. + True if the other object is a BsonInt64 and equal to this one. - + - Gets the representation. + Gets the hash code. - - The representation. - + The hash code. - + - Deserializes a value. + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). - The deserialization context. - The deserialization args. - A deserialized value. + A Boolean. - + + + + + + + - Serializes a value. + Converts this BsonValue to a Double. - The serialization context. - The serialization args. - The object. + A Double. - + - Returns a serializer that has been reconfigured with the specified representation. + Converts this BsonValue to an Int32. - The representation. - The reconfigured serializer. + An Int32. - + - Represents an abstract base class for class serializers. + Converts this BsonValue to an Int64. - The type of the value. + An Int32. - + - Deserializes a value. + Returns a string representation of the value. - The deserialization context. - The deserialization args. - A deserialized value. + A string representation of the value. - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Serializes a value. + Compares this BsonInt32 against another BsonValue. - The serialization context. - The serialization args. - The value. + The other BsonValue. + True if this BsonInt64 and the other BsonValue are equal according to ==. - + - Deserializes a class. + Represents the BSON Null value. - The deserialization context. - The deserialization args. - A deserialized value. - + - Gets the actual type. + Compares two BsonNull values. - The context. - The actual type. + The first BsonNull. + The other BsonNull. + True if the two BsonNull values are not equal according to ==. - + - Serializes a value of type {TValue}. + Compares two BsonNull values. - The serialization context. - The serialization args. - The value. + The first BsonNull. + The other BsonNull. + True if the two BsonNull values are equal according to ==. - + - Represents a serializer for CultureInfos. + Gets the singleton instance of BsonNull. - + - Initializes a new instance of the CultureInfoSerializer class. + Gets the BsonType of this BsonValue. - + - Deserializes a value. + Compares this BsonNull to another BsonNull. - The deserialization context. - The deserialization args. - A deserialized value. + The other BsonNull. + A 32-bit signed integer that indicates whether this BsonNull is less than, equal to, or greather than the other. - + - Serializes a value. + Compares the BsonNull to another BsonValue. - The serialization context. - The serialization args. - The object. + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonNull is less than, equal to, or greather than the other BsonValue. - + - Represents a serializer for DateTimeOffsets. + Compares this BsonNull to another BsonNull. + The other BsonNull. + True if the two BsonNull values are equal. - + - Initializes a new instance of the class. + Compares this BsonNull to another object. + The other object. + True if the other object is a BsonNull and equal to this one. - + - Initializes a new instance of the class. + Gets the hash code. - The representation. + The hash code. - + - Gets the representation. + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). - - The representation. - + A Boolean. - + - Deserializes a value. + Converts this BsonValue to a DateTime? in local time. - The deserialization context. - The deserialization args. - A deserialized value. + A DateTime?. - + - Serializes a value. + Converts this BsonValue to a DateTime? in UTC. - The serialization context. - The serialization args. - The object. + A DateTime?. - + - Returns a serializer that has been reconfigured with the specified representation. + Returns a string representation of the value. - The representation. - The reconfigured serializer. + A string representation of the value. - + - Represents a serializer for DateTimes. + Represents BSON binary data. - + - Initializes a new instance of the class. + Initializes a new instance of the BsonBinaryData class. + The binary data. - + - Initializes a new instance of the class. + Initializes a new instance of the BsonBinaryData class. - if set to true [date only]. + The binary data. + The binary data subtype. - + - Initializes a new instance of the class. + Initializes a new instance of the BsonBinaryData class. - if set to true [date only]. - The representation. + The binary data. + The binary data subtype. + The representation for Guids. - + - Initializes a new instance of the class. + Initializes a new instance of the BsonBinaryData class. - The representation. + A Guid. - + - Initializes a new instance of the class. + Initializes a new instance of the BsonBinaryData class. - The kind. + A Guid. + The representation for Guids. - + - Initializes a new instance of the class. + Gets the BsonType of this BsonValue. - The kind. - The representation. - + - Gets an instance of DateTimeSerializer with DateOnly=true. + Gets the binary data. - + - Gets an instance of DateTimeSerializer with Kind=Local. + Gets the representation to use when representing the Guid as BSON binary data. - + - Gets an instance of DateTimeSerializer with Kind=Utc. + Gets the BsonBinaryData as a Guid if the subtype is UuidStandard or UuidLegacy, otherwise null. - + - Gets whether this DateTime consists of a Date only. + Gets the binary data subtype. - + - Gets the DateTimeKind (Local, Unspecified or Utc). + Converts a byte array to a BsonBinaryData. + A byte array. + A BsonBinaryData. - + - Gets the external representation. + Converts a Guid to a BsonBinaryData. - - The representation. - + A Guid. + A BsonBinaryData. - + - Deserializes a value. + Compares two BsonBinaryData values. - The deserialization context. - The deserialization args. - A deserialized value. + The first BsonBinaryData. + The other BsonBinaryData. + True if the two BsonBinaryData values are not equal according to ==. - + - Serializes a value. + Compares two BsonBinaryData values. - The serialization context. - The serialization args. - The object. + The first BsonBinaryData. + The other BsonBinaryData. + True if the two BsonBinaryData values are equal according to ==. - + - Returns a serializer that has been reconfigured with the specified dateOnly value. + Creates a new BsonBinaryData. - if set to true the values will be required to be Date's only (zero time component). - - The reconfigured serializer. - + An object to be mapped to a BsonBinaryData. + A BsonBinaryData or null. - + - Returns a serializer that has been reconfigured with the specified dateOnly value and representation. + Compares this BsonBinaryData to another BsonBinaryData. - if set to true the values will be required to be Date's only (zero time component). - The representation. - - The reconfigured serializer. - + The other BsonBinaryData. + A 32-bit signed integer that indicates whether this BsonBinaryData is less than, equal to, or greather than the other. - + - Returns a serializer that has been reconfigured with the specified DateTimeKind value. + Compares the BsonBinaryData to another BsonValue. - The DateTimeKind. - - The reconfigured serializer. - + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonBinaryData is less than, equal to, or greather than the other BsonValue. - + - Returns a serializer that has been reconfigured with the specified DateTimeKind value and representation. + Compares this BsonBinaryData to another BsonBinaryData. - The DateTimeKind. - The representation. - - The reconfigured serializer. - + The other BsonBinaryData. + True if the two BsonBinaryData values are equal. - + - Returns a serializer that has been reconfigured with the specified representation. + Compares this BsonBinaryData to another object. - The representation. - The reconfigured serializer. + The other object. + True if the other object is a BsonBinaryData and equal to this one. - + - Represents a serializer for Decimal128s. + Gets the hash code. + The hash code. - + - Initializes a new instance of the class. + Converts this BsonBinaryData to a Guid. + A Guid. - + - Initializes a new instance of the class. + Converts this BsonBinaryData to a Guid. - The representation. + The representation for Guids. + A Guid. - + - Initializes a new instance of the class. + Returns a string representation of the binary data. - The representation. - The converter. + A string representation of the binary data. - + - Gets the converter. + Represents a BSON JavaScript value with a scope. - - The converter. - - + - Gets the representation. + Initializes a new instance of the BsonJavaScriptWithScope class. - - The representation. - + The JavaScript code. + A scope (a set of variables with values). - + - Deserializes a value. + Compares two BsonJavaScriptWithScope values. - The deserialization context. - The deserialization args. - A deserialized value. + The first BsonJavaScriptWithScope. + The other BsonJavaScriptWithScope. + True if the two BsonJavaScriptWithScope values are not equal according to ==. - + - Serializes a value. + Compares two BsonJavaScriptWithScope values. - The serialization context. - The serialization args. - The object. + The first BsonJavaScriptWithScope. + The other BsonJavaScriptWithScope. + True if the two BsonJavaScriptWithScope values are equal according to ==. - + - Returns a serializer that has been reconfigured with the specified item serializer. + Gets the BsonType of this BsonValue. - The converter. - The reconfigured serializer. - + - Returns a serializer that has been reconfigured with the specified representation. + Gets the scope (a set of variables with values). - The representation. - The reconfigured serializer. - + - Represents a serializer for Decimals. + Creates a new BsonJavaScriptWithScope. + An object to be mapped to a BsonJavaScriptWithScope. + A BsonJavaScriptWithScope or null. - + - Initializes a new instance of the class. + Creates a shallow clone of the BsonJavaScriptWithScope (see also DeepClone). + A shallow clone of the BsonJavaScriptWithScope. - + - Initializes a new instance of the class. + Creates a deep clone of the BsonJavaScriptWithScope (see also Clone). - The representation. + A deep clone of the BsonJavaScriptWithScope. - + - Initializes a new instance of the class. + Compares this BsonJavaScriptWithScope to another BsonJavaScriptWithScope. - The representation. - The converter. + The other BsonJavaScriptWithScope. + A 32-bit signed integer that indicates whether this BsonJavaScriptWithScope is less than, equal to, or greather than the other. - + - Gets the converter. + Compares the BsonJavaScriptWithScope to another BsonValue. - - The converter. - + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonJavaScriptWithScope is less than, equal to, or greather than the other BsonValue. - + - Gets the representation. + Compares this BsonJavaScriptWithScope to another BsonJavaScriptWithScope. - - The representation. - + The other BsonJavaScriptWithScope. + True if the two BsonJavaScriptWithScope values are equal. - + - Deserializes a value. + Compares this BsonJavaScriptWithScope to another object. - The deserialization context. - The deserialization args. - A deserialized value. + The other object. + True if the other object is a BsonJavaScriptWithScope and equal to this one. - + - Serializes a value. + Gets the hash code. - The serialization context. - The serialization args. - The object. + The hash code. - + - Returns a serializer that has been reconfigured with the specified item serializer. + Returns a string representation of the value. - The converter. - The reconfigured serializer. + A string representation of the value. - + - Returns a serializer that has been reconfigured with the specified representation. + Represents an ObjectId (see also BsonObjectId). - The representation. - The reconfigured serializer. - + - Represents a serializer for a class that implements IDictionary. + Initializes a new instance of the ObjectId class. - The type of the dictionary. + The bytes. - + - Initializes a new instance of the class. + Initializes a new instance of the ObjectId class. + The bytes. + The index into the byte array where the ObjectId starts. - + - Initializes a new instance of the class. + Initializes a new instance of the ObjectId class. - The dictionary representation. + The timestamp (expressed as a DateTime). + The machine hash. + The PID. + The increment. - + - Initializes a new instance of the class. + Initializes a new instance of the ObjectId class. - The dictionary representation. - The key serializer. - The value serializer. + The timestamp. + The machine hash. + The PID. + The increment. - + - Returns a serializer that has been reconfigured with the specified dictionary representation. + Initializes a new instance of the ObjectId class. - The dictionary representation. - The reconfigured serializer. + The value. - + - Returns a serializer that has been reconfigured with the specified dictionary representation and key value serializers. + Gets an instance of ObjectId where the value is empty. - The dictionary representation. - The key serializer. - The value serializer. - The reconfigured serializer. - + - Returns a serializer that has been reconfigured with the specified key serializer. + Gets the timestamp. - The key serializer. - The reconfigured serializer. - + - Returns a serializer that has been reconfigured with the specified value serializer. + Gets the machine. - The value serializer. - The reconfigured serializer. - + - Creates the instance. + Gets the PID. - The instance. - + - Represents a serializer for a class that implements . + Gets the increment. - The type of the dictionary. - The type of the key. - The type of the value. - + - Initializes a new instance of the class. + Gets the creation time (derived from the timestamp). - + - Initializes a new instance of the class. + Compares two ObjectIds. - The dictionary representation. + The first ObjectId. + The other ObjectId + True if the first ObjectId is less than the second ObjectId. - + - Initializes a new instance of the class. + Compares two ObjectIds. - The dictionary representation. - The key serializer. - The value serializer. + The first ObjectId. + The other ObjectId + True if the first ObjectId is less than or equal to the second ObjectId. - + - Returns a serializer that has been reconfigured with the specified dictionary representation. + Compares two ObjectIds. - The dictionary representation. - The reconfigured serializer. + The first ObjectId. + The other ObjectId. + True if the two ObjectIds are equal. - + - Returns a serializer that has been reconfigured with the specified dictionary representation and key value serializers. + Compares two ObjectIds. - The dictionary representation. - The key serializer. - The value serializer. - The reconfigured serializer. + The first ObjectId. + The other ObjectId. + True if the two ObjectIds are not equal. - + - Returns a serializer that has been reconfigured with the specified key serializer. + Compares two ObjectIds. - The key serializer. - The reconfigured serializer. + The first ObjectId. + The other ObjectId + True if the first ObjectId is greather than or equal to the second ObjectId. - + - Returns a serializer that has been reconfigured with the specified value serializer. + Compares two ObjectIds. - The value serializer. - The reconfigured serializer. - - - + The first ObjectId. + The other ObjectId + True if the first ObjectId is greather than the second ObjectId. - + - Represents a serializer for dictionaries. + Generates a new ObjectId with a unique value. - The type of the dictionary. + An ObjectId. - + - Initializes a new instance of the class. + Generates a new ObjectId with a unique value (with the timestamp component based on a given DateTime). + The timestamp component (expressed as a DateTime). + An ObjectId. - + - Initializes a new instance of the class. + Generates a new ObjectId with a unique value (with the given timestamp). - The dictionary representation. + The timestamp component. + An ObjectId. - + - Initializes a new instance of the class. + Packs the components of an ObjectId into a byte array. - The dictionary representation. - The key serializer. - The value serializer. + The timestamp. + The machine hash. + The PID. + The increment. + A byte array. - + - Gets the dictionary representation. + Parses a string and creates a new ObjectId. - - The dictionary representation. - + The string value. + A ObjectId. - + - Gets the key serializer. + Tries to parse a string and create a new ObjectId. - - The key serializer. - + The string value. + The new ObjectId. + True if the string was parsed successfully. - + - Gets the value serializer. + Unpacks a byte array into the components of an ObjectId. - - The value serializer. - - - - + A byte array. + The timestamp. + The machine hash. + The PID. + The increment. - + - Deserializes a value. + Gets the current process id. This method exists because of how CAS operates on the call stack, checking + for permissions before executing the method. Hence, if we inlined this call, the calling method would not execute + before throwing an exception requiring the try/catch at an even higher level that we don't necessarily control. - The deserialization context. - The deserialization args. - A deserialized value. - + - Serializes a value. + Compares this ObjectId to another ObjectId. - The serialization context. - The serialization args. - The object. + The other ObjectId. + A 32-bit signed integer that indicates whether this ObjectId is less than, equal to, or greather than the other. - + - Creates the instance. + Compares this ObjectId to another ObjectId. - The instance. + The other ObjectId. + True if the two ObjectIds are equal. - + - Represents a serializer for dictionaries. + Compares this ObjectId to another object. - The type of the dictionary. - The type of the keys. - The type of the values. + The other object. + True if the other object is an ObjectId and equal to this one. - + - Initializes a new instance of the class. + Gets the hash code. + The hash code. - + - Initializes a new instance of the class. + Converts the ObjectId to a byte array. - The dictionary representation. + A byte array. - + - Initializes a new instance of the class. + Converts the ObjectId to a byte array. - The dictionary representation. - The key serializer. - The value serializer. + The destination. + The offset. - + - Initializes a new instance of the class. + Returns a string representation of the value. - The dictionary representation. - The serializer registry. + A string representation of the value. - + - Gets the dictionary representation. + A static class that maps between .NET objects and BsonValues. - - The dictionary representation. - - + - Gets the key serializer. + Maps an object to an instance of the closest BsonValue class. - - The key serializer. - + An object. + A BsonValue. - + - Gets the value serializer. + Maps an object to a specific BsonValue type. - - The value serializer. - - - - + An object. + The BsonType to map to. + A BsonValue of the desired type (or BsonNull.Value if value is null and bsonType is Null). - - + + + Maps a BsonValue to a .NET value using the default BsonTypeMapperOptions. + + The BsonValue. + The mapped .NET value. - + - Deserializes a value. + Maps a BsonValue to a .NET value. - The deserialization context. - The deserialization args. - A deserialized value. + The BsonValue. + The BsonTypeMapperOptions. + The mapped .NET value. - + - Serializes a value. + Registers a custom type mapper. - The serialization context. - The serialization args. - The object. + The type. + A custom type mapper. - + - Creates an accumulator. + Tries to map an object to an instance of the closest BsonValue class. - The accumulator. + An object. + The BsonValue. + True if the mapping was successfull. - + - Creates the instance. + Compares this Mapping to another object. - The instance. + The other object. + True if the other object is a Mapping and equal to this one. - + - Finalizes an accumulator. + Gets the hash code. - The accumulator to finalize - The instance. + The hash code. - + - Represents a serializer for Interfaces. + A static class containing BSON utility methods. - The type of the interface. - + - Initializes a new instance of the class. + Gets a friendly class name suitable for use in error messages. + The type. + A friendly class name. - + - Initializes a new instance of the class. + Parses a hex string into its equivalent byte array. - The discriminator convention. - interfaceType - interfaceType + The hex string to parse. + The byte equivalent of the hex string. - + - Deserializes a value. + Converts from number of milliseconds since Unix epoch to DateTime. - The deserialization context. - The deserialization args. - A deserialized value. - + The number of milliseconds since Unix epoch. + A DateTime. - + - Serializes a value. + Converts a value to a hex character. - The serialization context. - The serialization args. - The document. + The value (assumed to be between 0 and 15). + The hex character. - + - Represents a serializer that serializes values as a discriminator/value pair. + Converts a byte array to a hex string. - The type of the value. + The byte array. + A hex string. - + - Initializes a new instance of the class. + Converts a DateTime to local time (with special handling for MinValue and MaxValue). - The discriminator convention. - The wrapped serializer. + A DateTime. + The DateTime in local time. - + - Deserializes a value. + Converts a DateTime to number of milliseconds since Unix epoch. - The deserialization context. - The deserialization args. - A deserialized value. + A DateTime. + Number of seconds since Unix epoch. - + - Determines whether the reader is positioned at a discriminated wrapper. + Converts a DateTime to UTC (with special handling for MinValue and MaxValue). - The context. - True if the reader is positioned at a discriminated wrapper. + A DateTime. + The DateTime in UTC. - + - Serializes a value. + Tries to parse a hex string to a byte array. - The serialization context. - The serialization args. - The value. + The hex string. + A byte array. + True if the hex string was successfully parsed. - + - Represents a serializer for Doubles. + Represents a BSON double value. + - + - Initializes a new instance of the class. + Initializes a new instance of the BsonDouble class. + The value. - + + + + + + + - Initializes a new instance of the class. + Gets the value of this BsonDouble. - The representation. - + - Initializes a new instance of the class. + Converts a double to a BsonDouble. - The representation. - The converter. + A double. + A BsonDouble. - + - Gets the converter. + Compares two BsonDouble values. - - The converter. - + The first BsonDouble. + The other BsonDouble. + True if the two BsonDouble values are not equal according to ==. - + - Gets the representation. + Compares two BsonDouble values. - - The representation. - + The first BsonDouble. + The other BsonDouble. + True if the two BsonDouble values are equal according to ==. - + - Deserializes a value. + Creates a new instance of the BsonDouble class. - The deserialization context. - The deserialization args. - A deserialized value. + An object to be mapped to a BsonDouble. + A BsonDouble. - + - Serializes a value. + Compares this BsonDouble to another BsonDouble. - The serialization context. - The serialization args. - The object. + The other BsonDouble. + A 32-bit signed integer that indicates whether this BsonDouble is less than, equal to, or greather than the other. - + + + + - Returns a serializer that has been reconfigured with the specified item serializer. + Compares this BsonDouble to another BsonDouble. - The converter. - The reconfigured serializer. + The other BsonDouble. + True if the two BsonDouble values are equal. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - Returns a serializer that has been reconfigured with the specified representation. + Represents a BSON int value. - The representation. - The reconfigured serializer. - + - Base serializer for dynamic types. + Creates a new instance of the BsonInt32 class. - The dynamic type. + The value. - + - Initializes a new instance of the class. + Gets an instance of BsonInt32 that represents -1. - + - Deserializes a value. + Gets an instance of BsonInt32 that represents -0. - The deserialization context. - The deserialization args. - A deserialized value. - + - Serializes a value. + Gets an instance of BsonInt32 that represents 1. - The serialization context. - The serialization args. - The object. - + - Configures the deserialization context. + Gets an instance of BsonInt32 that represents 2. - The builder. - + - Configures the serialization context. + Gets an instance of BsonInt32 that represents 3. - The builder. - + - Creates the document. + Gets the BsonType of this BsonValue. - A - + - Sets the value for the member. + Gets the BsonInt32 as an int. - The document. - Name of the member. - The value. - + - Tries to get the value for a member. Returns true if the member should be serialized. + Gets the value of this BsonInt32. - The document. - Name of the member. - The value. - true if the member should be serialized; otherwise false. - + - A serializer that serializes a document and appends elements to the end of it. + Converts an int to a BsonInt32. - The type of the document. - + An int. + A BsonInt32. - + - Initializes a new instance of the class. + Compares two BsonInt32 values. - The document serializer. - The elements to append. - The writer settings configurator. - - - - - - - - - + The first BsonInt32. + The other BsonInt32. + True if the two BsonInt32 values are not equal according to ==. - + - Represents a serializer for a class that implements IEnumerable. + Compares two BsonInt32 values. - The type of the value. + The first BsonInt32. + The other BsonInt32. + True if the two BsonInt32 values are equal according to ==. - + - Initializes a new instance of the class. + Creates a new BsonInt32. + An object to be mapped to a BsonInt32. + A BsonInt32 or null. - + - Initializes a new instance of the class. + Compares this BsonInt32 to another BsonInt32. - The item serializer. + The other BsonInt32. + A 32-bit signed integer that indicates whether this BsonInt32 is less than, equal to, or greather than the other. - + - Initializes a new instance of the class. + Compares the BsonInt32 to another BsonValue. - + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonInt32 is less than, equal to, or greather than the other BsonValue. - + - Returns a serializer that has been reconfigured with the specified item serializer. + Compares this BsonInt32 to another BsonInt32. - The item serializer. - The reconfigured serializer. + The other BsonInt32. + True if the two BsonInt32 values are equal. - + - Creates the accumulator. + Compares this BsonInt32 to another object. - The accumulator. + The other object. + True if the other object is a BsonInt32 and equal to this one. - + - Represents a serializer for a class that implementes . + Gets the hash code. - The type of the value. - The type of the item. + The hash code. - + - Initializes a new instance of the class. + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + A Boolean. - - - Initializes a new instance of the class. - - The item serializer. + + - - - Initializes a new instance of the class. - - The serializer registry. + + - + - Returns a serializer that has been reconfigured with the specified item serializer. + Converts this BsonValue to a Double. - The item serializer. - The reconfigured serializer. + A Double. - + - Creates the accumulator. + Converts this BsonValue to an Int32. - The accumulator. + An Int32. - + - Finalizes the result. + Converts this BsonValue to an Int64. - The accumulator. - The final result. + An Int32. - + - Represents a serializer for enumerable values. + Returns a string representation of the value. - The type of the value. + A string representation of the value. - - - Initializes a new instance of the class. - + + - - - Initializes a new instance of the class. - - The item serializer. + + - - - Initializes a new instance of the class. - - The serializer registry. + + - - - Adds the item. - - The accumulator. - The item. + + - - - Enumerates the items in serialization order. - - The value. - The items. + + - - - Finalizes the result. - - The accumulator. - The result. + + - - - Represents a serializer for enumerable values. - - The type of the value. - The type of the items. + + - - - Initializes a new instance of the class. - + + - - - Initializes a new instance of the class. - - The item serializer. + + - - - Initializes a new instance of the class. - - The serializer registry. + + + + + + + + + + + + + + - - - Adds the item. - - The accumulator. - The item. + + - + - Enumerates the items in serialization order. + Compares this BsonInt32 against another BsonValue. - The value. - The items. + The other BsonValue. + True if this BsonInt32 and the other BsonValue are equal according to ==. - + - Finalizes the result. + Represents a BSON string value. - The accumulator. - The result. - + - Represents a base serializer for enumerable values. + Initializes a new instance of the BsonString class. - The type of the value. + The value. - + - Initializes a new instance of the class. + Gets an instance of BsonString that represents an empty string. - + - Initializes a new instance of the class. + Gets the BsonType of this BsonValue. - The item serializer. - + - Initializes a new instance of the class. + Gets the BsonString as a string. - The serializer registry. - + - Gets the item serializer. + Gets the value of this BsonString. - - The item serializer. - - + - Deserializes a value. + Converts a string to a BsonString. - The deserialization context. - The deserialization args. - A deserialized value. + A string. + A BsonString. - + - Tries to get the serialization info for the individual items of the array. + Compares two BsonString values. - The serialization information. - - true if the serialization info exists; otherwise false. - + The first BsonString. + The other BsonString. + True if the two BsonString values are not equal according to ==. - + - Serializes a value. + Compares two BsonString values. - The serialization context. - The serialization args. - The object. + The first BsonString. + The other BsonString. + True if the two BsonString values are equal according to ==. - + - Adds the item. + Creates a new BsonString. - The accumulator. - The item. + An object to be mapped to a BsonString. + A BsonString or null. - + - Creates the accumulator. + Compares this BsonString to another BsonString. - The accumulator. + The other BsonString. + A 32-bit signed integer that indicates whether this BsonString is less than, equal to, or greather than the other. - + - Enumerates the items in serialization order. + Compares the BsonString to another BsonValue. - The value. - The items. + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonString is less than, equal to, or greather than the other BsonValue. - + - Finalizes the result. + Compares this BsonString to another BsonString. - The accumulator. - The final result. + The other BsonString. + True if the two BsonString values are equal. - + - Represents a serializer for enumerable values. + Compares this BsonString to another object. - The type of the value. - The type of the items. + The other object. + True if the other object is a BsonString and equal to this one. - + - Initializes a new instance of the class. + Gets the hash code. + The hash code. - + - Initializes a new instance of the class. + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). - The item serializer. + A Boolean. - - - Initializes a new instance of the class. - - The serializer registry. + + - - - Gets the item serializer. - - - The item serializer. - + + - + - Deserializes a value. + Converts this BsonValue to a Double. - The deserialization context. - The deserialization args. - A deserialized value. + A Double. - + - Tries to get the serialization info for the individual items of the array. + Converts this BsonValue to an Int32. - The serialization information. - - The serialization info for the items. - + An Int32. - + - Serializes a value. + Converts this BsonValue to an Int64. - The serialization context. - The serialization args. - The object. + An Int32. - + - Adds the item. + Returns a string representation of the value. - The accumulator. - The item. + A string representation of the value. - - - Creates the accumulator. - - The accumulator. + + - - - Enumerates the items in serialization order. - - The value. - The items. + + - - - Finalizes the result. - - The accumulator. - The result. + + - - - Represents a serializer for enums. - - The type of the enum. + + - - - Initializes a new instance of the class. - + + - - - Initializes a new instance of the class. - - The representation. + + - - - Gets the representation. - - - The representation. - + + - - - Deserializes a value. - - The deserialization context. - The deserialization args. - A deserialized value. + + - - - Serializes a value. - - The serialization context. - The serialization args. - The object. + + - - - Returns a serializer that has been reconfigured with the specified representation. - - The representation. - The reconfigured serializer. + + + + + - - - Serializer for . - - - The use of will serialize any without type information. - To get the best experience out of using an , any member wanting to be used - as an array should use . - + + - - - Initializes a new instance of the class. - + + - - - Configures the deserialization context. - - The builder. + + - - - Configures the serialization context. - - The builder. + + - + + + + - Creates the document. + Represents a BSON value (this is an abstract class, see the various subclasses). - - A . - - + - Sets the value for the member. + Casts the BsonValue to a Boolean (throws an InvalidCastException if the cast is not valid). - The document. - Name of the member. - The value. - + - Tries to get the value for a member. Returns true if the member should be serialized. + Casts the BsonValue to a BsonArray (throws an InvalidCastException if the cast is not valid). - The value. - Name of the member. - The member value. - true if the member should be serialized; otherwise false. - + - Represents a serializer for Guids. + Casts the BsonValue to a BsonBinaryData (throws an InvalidCastException if the cast is not valid). - + - Initializes a new instance of the class. + Casts the BsonValue to a BsonDateTime (throws an InvalidCastException if the cast is not valid). - + - Initializes a new instance of the class. + Casts the BsonValue to a BsonDocument (throws an InvalidCastException if the cast is not valid). - The representation. - + - Gets the representation. + Casts the BsonValue to a BsonJavaScript (throws an InvalidCastException if the cast is not valid). - - The representation. - - + - Deserializes a value. + Casts the BsonValue to a BsonJavaScriptWithScope (throws an InvalidCastException if the cast is not valid). - The deserialization context. - The deserialization args. - A deserialized value. - + - Serializes a value. + Casts the BsonValue to a BsonMaxKey (throws an InvalidCastException if the cast is not valid). - The serialization context. - The serialization args. - The object. - + - Returns a serializer that has been reconfigured with the specified representation. + Casts the BsonValue to a BsonMinKey (throws an InvalidCastException if the cast is not valid). - The representation. - The reconfigured serializer. - + - Represents a serializer for Interfaces. + Casts the BsonValue to a BsonNull (throws an InvalidCastException if the cast is not valid). - The type of the interface. - The type of the implementation. - + - Initializes a new instance of the class. + Casts the BsonValue to a BsonRegularExpression (throws an InvalidCastException if the cast is not valid). - + - Initializes a new instance of the class. + Casts the BsonValue to a BsonSymbol (throws an InvalidCastException if the cast is not valid). - The implementation serializer. - + - Initializes a new instance of the class. + Casts the BsonValue to a BsonTimestamp (throws an InvalidCastException if the cast is not valid). - The serializer registry. - + - Gets the dictionary representation. + Casts the BsonValue to a BsonUndefined (throws an InvalidCastException if the cast is not valid). - - The dictionary representation. - - - + - Gets the key serializer. + Casts the BsonValue to a BsonValue (a way of upcasting subclasses of BsonValue to BsonValue at compile time). - - The key serializer. - - - + - Gets the implementation serializer. + Casts the BsonValue to a Byte[] (throws an InvalidCastException if the cast is not valid). - - The implementation serializer. - - + - Gets the value serializer. + Casts the BsonValue to a DateTime in UTC (throws an InvalidCastException if the cast is not valid). - - The value serializer. - - - + - Deserializes a value. + Casts the BsonValue to a (throws an InvalidCastException if the cast is not valid). - The deserialization context. - The deserialization args. - A deserialized value. - - + - Tries to get the serialization info for the individual items of the array. + Casts the BsonValue to a (throws an InvalidCastException if the cast is not valid). - The serialization information. - - true if the serialization info exists; otherwise false. - - + - Tries to get the serialization info for a member. + Casts the BsonValue to a Double (throws an InvalidCastException if the cast is not valid). - Name of the member. - The serialization information. - - true if the serialization info exists; otherwise false. - - + - Serializes a value. + Casts the BsonValue to a Guid (throws an InvalidCastException if the cast is not valid). - The serialization context. - The serialization args. - The document. - + - Returns a serializer that has been reconfigured with the specified implementation serializer. + Casts the BsonValue to an Int32 (throws an InvalidCastException if the cast is not valid). - The implementation serializer. - - The reconfigured serializer. - - + - Represents a serializer for Int16s. + Casts the BsonValue to a DateTime in the local timezone (throws an InvalidCastException if the cast is not valid). - + - Initializes a new instance of the class. + Casts the BsonValue to a Int64 (throws an InvalidCastException if the cast is not valid). - + - Initializes a new instance of the class. + Casts the BsonValue to a Nullable{Boolean} (throws an InvalidCastException if the cast is not valid). - The representation. - + - Initializes a new instance of the class. + Casts the BsonValue to a Nullable{DateTime} (throws an InvalidCastException if the cast is not valid). - The representation. - The converter. - + - Gets the converter. + Casts the BsonValue to a Nullable{Decimal} (throws an InvalidCastException if the cast is not valid). - - The converter. - - + - Gets the representation. + Casts the BsonValue to a Nullable{Decimal128} (throws an InvalidCastException if the cast is not valid). - - The representation. - - + - Deserializes a value. + Casts the BsonValue to a Nullable{Double} (throws an InvalidCastException if the cast is not valid). - The deserialization context. - The deserialization args. - A deserialized value. - + - Serializes a value. + Casts the BsonValue to a Nullable{Guid} (throws an InvalidCastException if the cast is not valid). - The serialization context. - The serialization args. - The object. - + - Returns a serializer that has been reconfigured with the specified item serializer. + Casts the BsonValue to a Nullable{Int32} (throws an InvalidCastException if the cast is not valid). - The converter. - The reconfigured serializer. - + - Returns a serializer that has been reconfigured with the specified representation. + Casts the BsonValue to a Nullable{Int64} (throws an InvalidCastException if the cast is not valid). - The representation. - The reconfigured serializer. - + - Represents a serializer for Int32. + Casts the BsonValue to a Nullable{ObjectId} (throws an InvalidCastException if the cast is not valid). - + - Initializes a new instance of the class. + Casts the BsonValue to an ObjectId (throws an InvalidCastException if the cast is not valid). - + - Initializes a new instance of the class. + Casts the BsonValue to a Regex (throws an InvalidCastException if the cast is not valid). - The representation. - + - Initializes a new instance of the class. + Casts the BsonValue to a String (throws an InvalidCastException if the cast is not valid). - The representation. - The converter. - + - Gets the converter. + Casts the BsonValue to a DateTime in UTC (throws an InvalidCastException if the cast is not valid). - - The converter. - - + - Gets the representation. + Gets the BsonType of this BsonValue. - - The representation. - - + - Deserializes a value. + Tests whether this BsonValue is a Boolean. - The deserialization context. - The deserialization args. - A deserialized value. - + - Serializes a value. + Tests whether this BsonValue is a BsonArray. - The serialization context. - The serialization args. - The object. - + - Returns a serializer that has been reconfigured with the specified item serializer. + Tests whether this BsonValue is a BsonBinaryData. - The converter. - The reconfigured serializer. - + - Returns a serializer that has been reconfigured with the specified representation. + Tests whether this BsonValue is a BsonDateTime. - The representation. - The reconfigured serializer. - + - Represents a serializer for Int64s. + Tests whether this BsonValue is a BsonDocument. - + - Initializes a new instance of the class. + Tests whether this BsonValue is a BsonJavaScript. - + - Initializes a new instance of the class. + Tests whether this BsonValue is a BsonJavaScriptWithScope. - The representation. - + - Initializes a new instance of the class. + Tests whether this BsonValue is a BsonMaxKey. - The representation. - The converter. - + - Gets the converter. + Tests whether this BsonValue is a BsonMinKey. - - The converter. - - + - Gets the representation. + Tests whether this BsonValue is a BsonNull. - - The representation. - - + - Deserializes a value. + Tests whether this BsonValue is a BsonRegularExpression. - The deserialization context. - The deserialization args. - A deserialized value. - + - Serializes a value. + Tests whether this BsonValue is a BsonSymbol . - The serialization context. - The serialization args. - The object. - + - Returns a serializer that has been reconfigured with the specified item serializer. + Tests whether this BsonValue is a BsonTimestamp. - The converter. - The reconfigured serializer. - + - Returns a serializer that has been reconfigured with the specified representation. + Tests whether this BsonValue is a BsonUndefined. - The representation. - The reconfigured serializer. - + - Represents a serializer for IPAddresses. + Tests whether this BsonValue is a DateTime. - + - Initializes a new instance of the class. + Tests whether this BsonValue is a Decimal128. - + - Deserializes a value. + Tests whether this BsonValue is a Double. - The deserialization context. - The deserialization args. - A deserialized value. - + - Serializes a value. + Tests whether this BsonValue is a Guid. - The serialization context. - The serialization args. - The object. - + - Represents a serializer for IPEndPoints. + Tests whether this BsonValue is an Int32. - + - Initializes a new instance of the IPEndPointSerializer class. + Tests whether this BsonValue is an Int64. - + - Deserializes a value. + Tests whether this BsonValue is a numeric value. - The deserialization context. - The deserialization args. - A deserialized value. - + - Serializes a value. + Tests whether this BsonValue is an ObjectId . - The serialization context. - The serialization args. - The object. - + - Represents a serializer for KeyValuePairs. + Tests whether this BsonValue is a String. - The type of the keys. - The type of the values. - + - Initializes a new instance of the class. + Tests whether this BsonValue is a valid DateTime. - + - Initializes a new instance of the class. + Gets the raw value of this BsonValue (or null if this BsonValue doesn't have a single scalar value). - The representation. - + - Initializes a new instance of the class. + Casts a BsonValue to a bool. - The representation. - The key serializer. - The value serializer. + The BsonValue. + A bool. - + - Initializes a new instance of the class. + Casts a BsonValue to a bool?. - The representation. - The serializer registry. + The BsonValue. + A bool?. - + - Gets the key serializer. + Converts a bool to a BsonValue. - - The key serializer. - + A bool. + A BsonValue. - + - Gets the representation. + Converts a bool? to a BsonValue. - - The representation. - + A bool?. + A BsonValue. - + - Gets the value serializer. + Converts a byte[] to a BsonValue. - - The value serializer. - + A byte[]. + A BsonValue. - + - Deserializes a value. + Converts a DateTime to a BsonValue. - The deserialization context. - The deserialization args. - A deserialized value. + A DateTime. + A BsonValue. - + - Serializes a value. + Converts a DateTime? to a BsonValue. - The serialization context. - The serialization args. - The object. - - - + A DateTime?. + A BsonValue. - + - Represents a serializer for LazyBsonArrays. + Converts a decimal to a BsonValue. + A decimal. + A BsonValue. - + - Initializes a new instance of the class. + Converts a decimal? to a BsonValue. + A decimal?. + A BsonValue. - + - Deserializes a value. + Converts a to a BsonValue. - The deserialization context. - The deserialization args. - A deserialized value. + A Decimal128. + A BsonValue. - + - Serializes a value. + Converts a nullable to a BsonValue. - The serialization context. - The serialization args. - The object. + A Decimal128?. + A BsonValue. - + - Represents a serializer for LazyBsonDocuments. + Converts a double to a BsonValue. + A double. + A BsonValue. - + - Initializes a new instance of the class. + Converts a double? to a BsonValue. + A double?. + A BsonValue. - + - Deserializes a value. + Converts an Enum to a BsonValue. - The deserialization context. - The deserialization args. - A deserialized value. + An Enum. + A BsonValue. - + - Serializes a value. + Converts a Guid to a BsonValue. - The serialization context. - The serialization args. - The object. + A Guid. + A BsonValue. - + - Represents a serializer for nullable values. + Converts a Guid? to a BsonValue. - The underlying type. + A Guid?. + A BsonValue. - + - Initializes a new instance of the class. + Converts an int to a BsonValue. + An int. + A BsonValue. - + - Initializes a new instance of the class. + Converts an int? to a BsonValue. - The serializer. + An int?. + A BsonValue. - + - Initializes a new instance of the class. + Converts a long to a BsonValue. - The serializer registry. + A long. + A BsonValue. - + - Deserializes a value. + Converts a long? to a BsonValue. - The deserialization context. - The deserialization args. - A deserialized value. + A long?. + A BsonValue. - + - Serializes a value. + Converts an ObjectId to a BsonValue. - The serialization context. - The serialization args. - The object. + An ObjectId. + A BsonValue. - + - Returns a serializer that has been reconfigured with the specified serializer. + Converts an ObjectId? to a BsonValue. - The serializer. - - The reconfigured serializer. - + An ObjectId?. + A BsonValue. - + - Represents a serializer for ObjectIds. + Converts a Regex to a BsonValue. + A Regex. + A BsonValue. - + - Initializes a new instance of the class. + Converts a string to a BsonValue. + A string. + A BsonValue. - + - Initializes a new instance of the class. + Casts a BsonValue to a byte[]. - The representation. + The BsonValue. + A byte[]. - + - Gets the representation. + Casts a BsonValue to a DateTime. - - The representation. - + The BsonValue. + A DateTime. - + - Deserializes a value. + Casts a BsonValue to a DateTime?. - The deserialization context. - The deserialization args. - A deserialized value. + The BsonValue. + A DateTime?. - + - Serializes a value. + Casts a BsonValue to a decimal. - The serialization context. - The serialization args. - The object. + The BsonValue. + A decimal. - + - Returns a serializer that has been reconfigured with the specified representation. + Casts a BsonValue to a decimal?. - The representation. - The reconfigured serializer. + The BsonValue. + A decimal?. - + - Represents a serializer for objects. + Casts a BsonValue to a . + The BsonValue. + A . - + - Initializes a new instance of the class. + Casts a BsonValue to a nullable ?. + The BsonValue. + A nullable . - + - Initializes a new instance of the class. + Casts a BsonValue to a double. - The discriminator convention. - discriminatorConvention + The BsonValue. + A double. - + - Gets the standard instance. + Casts a BsonValue to a double?. - - The standard instance. - + The BsonValue. + A double?. - + - Deserializes a value. + Casts a BsonValue to a Guid. - The deserialization context. - The deserialization args. - A deserialized value. + The BsonValue. + A Guid. - + - Serializes a value. + Casts a BsonValue to a Guid?. - The serialization context. - The serialization args. - The object. + The BsonValue. + A Guid?. - + - Represents a serializer for a BsonDocument with some parts raw. + Casts a BsonValue to an int. + The BsonValue. + An int. - + - Initializes a new instance of the class. + Casts a BsonValue to an int?. - The name. - The raw serializer. - - - + The BsonValue. + An int?. - + - Wraps a serializer and projects using a function. + Casts a BsonValue to a long. - The type of from. - The type of to. + The BsonValue. + A long. - + - Initializes a new instance of the class. + Casts a BsonValue to a long?. - From serializer. - The projector. + The BsonValue. + A long?. - + - Deserializes a value. + Casts a BsonValue to an ObjectId. - The deserialization context. - The deserialization args. - A deserialized value. + The BsonValue. + An ObjectId. - + - Represents a serializer for Queues. + Casts a BsonValue to an ObjectId?. + The BsonValue. + An ObjectId?. - + - Initializes a new instance of the class. + Casts a BsonValue to a Regex. + The BsonValue. + A Regex. - + - Initializes a new instance of the class. + Casts a BsonValue to a string. - The item serializer. + The BsonValue. + A string. - + - Initializes a new instance of the class. + Compares two BsonValues. - + The first BsonValue. + The other BsonValue. + True if the first BsonValue is less than the other one. - + - Returns a serializer that has been reconfigured with the specified item serializer. + Compares two BsonValues. - The item serializer. - The reconfigured serializer. + The first BsonValue. + The other BsonValue. + True if the first BsonValue is less than or equal to the other one. - + - Adds the item. + Compares two BsonValues. - The accumulator. - The item. + The first BsonValue. + The other BsonValue. + True if the two BsonValues are not equal according to ==. - + - Creates the accumulator. + Compares two BsonValues. - The accumulator. + The first BsonValue. + The other BsonValue. + True if the two BsonValues are equal according to ==. - + - Enumerates the items. + Compares two BsonValues. - The value. - The items. + The first BsonValue. + The other BsonValue. + True if the first BsonValue is greater than the other one. - + - Finalizes the result. + Compares two BsonValues. - The instance. - The result. + The first BsonValue. + The other BsonValue. + True if the first BsonValue is greater than or equal to the other one. - + - Represents a serializer for Queues. + Gets or sets a value by position (only applies to BsonDocument and BsonArray). - The type of the elements. + The position. + The value. - + - Initializes a new instance of the class. + Gets or sets a value by name (only applies to BsonDocument). + The name. + The value. - + - Initializes a new instance of the class. + Creates a new instance of the BsonValue class. - The item serializer. + A value to be mapped to a BsonValue. + A BsonValue. - + - Initializes a new instance of the class. + Creates a shallow clone of the BsonValue (see also DeepClone). - The serializer registry. + A shallow clone of the BsonValue. - + - Returns a serializer that has been reconfigured with the specified item serializer. + Compares this BsonValue to another BsonValue. - The item serializer. - The reconfigured serializer. + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonValue is less than, equal to, or greather than the other BsonValue. - + - Adds the item. + Compares the type of this BsonValue to the type of another BsonValue. - The accumulator. - The item. + The other BsonValue. + A 32-bit signed integer that indicates whether the type of this BsonValue is less than, equal to, or greather than the type of the other BsonValue. - + - Creates the accumulator. + Creates a deep clone of the BsonValue (see also Clone). - The accumulator. + A deep clone of the BsonValue. - + - Enumerates the items in serialization order. + Compares this BsonValue to another BsonValue. - The value. - The items. + The other BsonValue. + True if the two BsonValue values are equal. - + - Finalizes the result. + Compares this BsonValue to another object. - The accumulator. - The result. + The other object. + True if the other object is a BsonValue and equal to this one. - + - Represents a serializer for RawBsonArrays. + Gets the hash code. + The hash code. - + - Initializes a new instance of the class. + Converts this BsonValue to a Boolean (using the JavaScript definition of truthiness). + A Boolean. - + - Deserializes a value. + Converts this BsonValue to a Decimal. - The deserialization context. - The deserialization args. - A deserialized value. + A Decimal. - + - Serializes a value. + Converts this BsonValue to a Decimal128. - The serialization context. - The serialization args. - The object. + A Decimal128. - + - Represents a serializer for RawBsonDocuments. + Converts this BsonValue to a Double. + A Double. - + - Initializes a new instance of the class. + Converts this BsonValue to an Int32. + An Int32. - + - Gets the instance. + Converts this BsonValue to an Int64. - - The instance. - + An Int64. - + - Deserializes a value. + Converts this BsonValue to a DateTime in local time. - The deserialization context. - The deserialization args. - A deserialized value. + A DateTime. - + - Serializes a value. + Converts this BsonValue to a DateTime? in local time. - The serialization context. - The serialization args. - The object. + A DateTime?. - + - Represents a serializer for readonly collection. + Converts this BsonValue to a DateTime? in UTC. - The type of the item. + A DateTime?. - + - Initializes a new instance of the class. + Converts this BsonValue to a DateTime in UTC. + A DateTime. - + - Initializes a new instance of the class. + Implementation of the IConvertible GetTypeCode method. - The item serializer. + The TypeCode. - + - Initializes a new instance of the class. + Implementation of the IConvertible ToBoolean method. - The serializer registry. + The format provider. + A bool. - + - Returns a serializer that has been reconfigured with the specified item serializer. + Implementation of the IConvertible ToByte method. - The item serializer. - The reconfigured serializer. + The format provider. + A byte. - + - Creates the accumulator. + Implementation of the IConvertible ToChar method. - The accumulator. + The format provider. + A char. - + - Finalizes the result. + Implementation of the IConvertible ToDateTime method. - The accumulator. - The final result. + The format provider. + A DateTime. - + - Represents a serializer for a subclass of ReadOnlyCollection. + Implementation of the IConvertible ToDecimal method. - The type of the value. - The type of the item. + The format provider. + A decimal. - + - Initializes a new instance of the class. + Implementation of the IConvertible ToDouble method. + The format provider. + A double. - + - Initializes a new instance of the class. + Implementation of the IConvertible ToInt16 method. - + The format provider. + A short. - + - Initializes a new instance of the class. + Implementation of the IConvertible ToInt32 method. - The serializer registry. + The format provider. + An int. - + - Creates the accumulator. + Implementation of the IConvertible ToInt64 method. - The accumulator. + The format provider. + A long. - + - Finalizes the result. + Implementation of the IConvertible ToSByte method. - The accumulator. - The final result. + The format provider. + An sbyte. - + - Represents a serializer for a class that implements . + Implementation of the IConvertible ToSingle method. - The type of the dictionary. - The type of the key. - The type of the value. + The format provider. + A float. - + - Initializes a new instance of the class. + Implementation of the IConvertible ToString method. + The format provider. + A string. - + - Initializes a new instance of the class. + Implementation of the IConvertible ToUInt16 method. - The dictionary representation. + The format provider. + A ushort. - + - Initializes a new instance of the class. + Implementation of the IConvertible ToUInt32 method. - The dictionary representation. - The key serializer. - The value serializer. + The format provider. + A uint. - + - Returns a serializer that has been reconfigured with the specified dictionary representation. + Implementation of the IConvertible ToUInt64 method. - The dictionary representation. - The reconfigured serializer. + The format provider. + A ulong. - + - Returns a serializer that has been reconfigured with the specified dictionary representation and key value serializers. + Implementation of operator ==. - The dictionary representation. - The key serializer. - The value serializer. - The reconfigured serializer. + The other BsonValue. + True if the two BsonValues are equal according to ==. - + - Returns a serializer that has been reconfigured with the specified key serializer. + Represents a BSON JavaScript value. - The key serializer. - The reconfigured serializer. - + - Returns a serializer that has been reconfigured with the specified value serializer. + Initializes a new instance of the BsonJavaScript class. - The value serializer. - The reconfigured serializer. - - - - - - + The JavaScript code. - + - Represents a serializer for SBytes. + Gets the BsonType of this BsonValue. - + - Initializes a new instance of the class. + Gets the JavaScript code. - + - Initializes a new instance of the class. + Compares two BsonJavaScript values. - The representation. + The first BsonJavaScript. + The other BsonJavaScript. + True if the two BsonJavaScript values are not equal according to ==. - + - Gets the representation. + Compares two BsonJavaScript values. - - The representation. - + The first BsonJavaScript. + The other BsonJavaScript. + True if the two BsonJavaScript values are equal according to ==. - + - Deserializes a value. + Converts a string to a BsonJavaScript. - The deserialization context. - The deserialization args. - A deserialized value. + A string. + A BsonJavaScript. - + - Serializes a value. + Creates a new BsonJavaScript. - The serialization context. - The serialization args. - The object. + An object to be mapped to a BsonJavaScript. + A BsonJavaScript or null. - + - Returns a serializer that has been reconfigured with the specified representation. + Compares this BsonJavaScript to another BsonJavaScript. - The representation. - The reconfigured serializer. + The other BsonJavaScript. + A 32-bit signed integer that indicates whether this BsonJavaScript is less than, equal to, or greather than the other. - + - Represents an abstract base class for sealed class serializers. + Compares the BsonJavaScript to another BsonValue. - The type of the value. + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonJavaScript is less than, equal to, or greather than the other BsonValue. - + - Deserializes a value. + Compares this BsonJavaScript to another BsonJavaScript. - The deserialization context. - The deserialization args. - A deserialized value. + The other BsonJavaScript. + True if the two BsonJavaScript values are equal. - + - Serializes a value. + Compares this BsonJavaScript to another object. - The serialization context. - The serialization args. - The value. + The other object. + True if the other object is a BsonJavaScript and equal to this one. - + - Deserializes a class. + Gets the hash code. - The deserialization context. - The deserialization args. - A deserialized value. + The hash code. - + - Serializes a value of type {TValue}. + Returns a string representation of the value. - The serialization context. - The serialization args. - The value. + A string representation of the value. - + - Represents a serializer for a class that will be serialized as if it were one of its base classes. + Represents a BSON timestamp value. - The actual type. - The nominal type. - + - Initializes a new instance of the class. + Initializes a new instance of the BsonTimestamp class. + The combined timestamp/increment value. - + - Initializes a new instance of the class. + Initializes a new instance of the BsonTimestamp class. - The base class serializer. + The timestamp. + The increment. - + - Initializes a new instance of the class. + Compares two BsonTimestamp values. - The serializer registry. + The first BsonTimestamp. + The other BsonTimestamp. + True if the two BsonTimestamp values are not equal according to ==. - + - Serializes a value. + Compares two BsonTimestamp values. - The serialization context. - The serialization args. - The value. + The first BsonTimestamp. + The other BsonTimestamp. + True if the two BsonTimestamp values are equal according to ==. - + - Represents an abstract base class for serializers. + Gets the BsonType of this BsonValue. - The type of the value. - + - Gets the type of the values. + Gets the value of this BsonTimestamp. - - The type of the values. - - + - Deserializes a value. + Gets the increment. - The deserialization context. - The deserialization args. - A deserialized value. - + - Serializes a value. + Gets the timestamp. - The serialization context. - The serialization args. - The value. - + - Creates an exception to throw when a type cannot be deserialized. + Creates a new BsonTimestamp. - An exception. + An object to be mapped to a BsonTimestamp. + A BsonTimestamp or null. - + - Creates an exception to throw when a type cannot be deserialized. + Compares this BsonTimestamp to another BsonTimestamp. - An exception. + The other BsonTimestamp. + A 32-bit signed integer that indicates whether this BsonTimestamp is less than, equal to, or greather than the other. - + - Creates an exception to throw when a type cannot be deserialized from a BsonType. + Compares the BsonTimestamp to another BsonValue. - The BSON type. - An exception. + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonTimestamp is less than, equal to, or greather than the other BsonValue. - + - Ensures that the BsonType equals the expected type. + Compares this BsonTimestamp to another BsonTimestamp. - The reader. - The expected type. + The other BsonTimestamp. + True if the two BsonTimestamp values are equal. - + - Represents a helper for serializers. + Compares this BsonTimestamp to another object. + The other object. + True if the other object is a BsonTimestamp and equal to this one. - + - Initializes a new instance of the class. + Gets the hash code. - The members. + The hash code. - + - Deserializes the members. + Returns a string representation of the value. - The deserialization context. - The member handler. - The found member flags. + A string representation of the value. - + - Represents information about a member. + A static class containing BSON constants. - + - Initializes a new instance of the class. + Gets the number of milliseconds since the Unix epoch for DateTime.MaxValue. - The name of the element. - The flag. - Whether the member is optional. - + - Gets the flag. + Gets the number of milliseconds since the Unix epoch for DateTime.MinValue. - - The flag. - - + - Gets the name of the element. + Gets the Unix Epoch for BSON DateTimes (1970-01-01). - - The name of the element. - - + - Gets a value indicating whether this member is optional. + Represents the binary data subtype of a BsonBinaryData. - Whether this member is optional. - + - Represents a serializer for Singles. + Binary data. - + - Initializes a new instance of the class. + A function. - + - Initializes a new instance of the class. + Obsolete binary data subtype (use Binary instead). - The representation. - + - Initializes a new instance of the class. + A UUID in a driver dependent legacy byte order. - The representation. - The converter. - + - Gets the converter. + A UUID in standard network byte order. - - The converter. - - + - Gets the representation. + An MD5 hash. - - The representation. - - + - Deserializes a value. + User defined binary data. - The deserialization context. - The deserialization args. - A deserialized value. - + - Serializes a value. + Represents the type of a BSON element. - The serialization context. - The serialization args. - The object. - + - Returns a serializer that has been reconfigured with the specified item serializer. + Not a real BSON type. Used to signal the end of a document. - The converter. - The reconfigured serializer. - + - Returns a serializer that has been reconfigured with the specified representation. + A BSON double. - The representation. - The reconfigured serializer. - + - Represents a serializer for Stacks. + A BSON string. - + - Initializes a new instance of the class. + A BSON document. - + - Initializes a new instance of the class. + A BSON array. - The item serializer. - + - Initializes a new instance of the class. + BSON binary data. - The serializer registry. - + - Returns a serializer that has been reconfigured with the specified item serializer. + A BSON undefined value. - The item serializer. - The reconfigured serializer. - + - Adds the item. + A BSON ObjectId. - The accumulator. - The item. - + - Creates the accumulator. + A BSON bool. - The accumulator. - + - Enumerates the items in serialization order. + A BSON DateTime. - The value. - The items. - + - Finalizes the result. + A BSON null value. - The accumulator. - The result. - + - Represents a serializer for Stacks. + A BSON regular expression. - The type of the elements. - + - Initializes a new instance of the class. + BSON JavaScript code. - + - Initializes a new instance of the class. + A BSON symbol. - The item serializer. - + - Initializes a new instance of the class. + BSON JavaScript code with a scope (a set of variables with values). - The serializer registry. - + - Returns a serializer that has been reconfigured with the specified item serializer. + A BSON 32-bit integer. - The item serializer. - The reconfigured serializer. - + - Adds the item. + A BSON timestamp. - The accumulator. - The item. - + - Creates the accumulator. + A BSON 64-bit integer. - The accumulator. - + - Enumerates the items in serialization order. + A BSON 128-bit decimal. - The value. - The items. - + - Finalizes the result. + A BSON MinKey value. - The accumulator. - The result. - + - Represents a serializer for Strings. + A BSON MaxKey value. - + - Initializes a new instance of the class. + Represents a BSON exception. - + - Initializes a new instance of the class. + Initializes a new instance of the BsonException class. - The representation. - + - Gets the representation. + Initializes a new instance of the BsonException class. - - The representation. - + The error message. - + - Deserializes a value. + Initializes a new instance of the BsonException class. - The deserialization context. - The deserialization args. - A deserialized value. + The error message. + The inner exception. - + - Serializes a value. + Initializes a new instance of the BsonException class. - The serialization context. - The serialization args. - The object. + The error message format string. + One or more args for the error message. - + - Returns a serializer that has been reconfigured with the specified representation. + Initializes a new instance of the BsonException class (this overload used by deserialization). - The representation. - The reconfigured serializer. + The SerializationInfo. + The StreamingContext. - + - Represents an abstract base class for struct serializers. + Represents the symbol table of BsonSymbols. - The type of the value. - + - Represents a serializer for three-dimensional arrays. + Looks up a symbol (and creates a new one if necessary). - The type of the elements. + The name of the symbol. + The symbol. - + - Initializes a new instance of the class. + Represents a BSON document. - + - Initializes a new instance of the class. + Initializes a new instance of the BsonDocument class. - The item serializer. - + - Initializes a new instance of the class. + Initializes a new instance of the BsonDocument class specifying whether duplicate element names are allowed + (allowing duplicate element names is not recommended). - The serializer registry. + Whether duplicate element names are allowed. - + - Gets the item serializer. + Initializes a new instance of the BsonDocument class and adds one element. - - The item serializer. - + An element to add to the document. - + - Deserializes a value. + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. - The deserialization context. - The deserialization args. - A deserialized value. + A dictionary to initialize the document from. - + - Serializes a value. + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. - The serialization context. - The serialization args. - The object. + A dictionary to initialize the document from. + A list of keys to select values from the dictionary. - + - Returns a serializer that has been reconfigured with the specified item serializer. + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. - The item serializer. - The reconfigured serializer. + A dictionary to initialize the document from. - + - Represents a serializer for Timespans. + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + A dictionary to initialize the document from. + A list of keys to select values from the dictionary. - + - Initializes a new instance of the class. + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. + A dictionary to initialize the document from. - + - Initializes a new instance of the class. + Initializes a new instance of the BsonDocument class and adds new elements from a dictionary of key/value pairs. - The representation. + A dictionary to initialize the document from. + A list of keys to select values from the dictionary. - + - Initializes a new instance of the class. + Initializes a new instance of the BsonDocument class and adds new elements from a list of elements. - The representation. - The units. + A list of elements to add to the document. - + - Gets the representation. + Initializes a new instance of the BsonDocument class and adds one or more elements. - - The representation. - + One or more elements to add to the document. - + - Gets the units. + Initializes a new instance of the BsonDocument class and creates and adds a new element. - - The units. - + The name of the element to add to the document. + The value of the element to add to the document. - + - Deserializes a value. + Compares two BsonDocument values. - The deserialization context. - The deserialization args. - A deserialized value. + The first BsonDocument. + The other BsonDocument. + True if the two BsonDocument values are not equal according to ==. - + - Serializes a value. + Compares two BsonDocument values. - The serialization context. - The serialization args. - The object. + The first BsonDocument. + The other BsonDocument. + True if the two BsonDocument values are equal according to ==. - + - Returns a serializer that has been reconfigured with the specified representation. + Gets or sets whether to allow duplicate names (allowing duplicate names is not recommended). - The representation. - The reconfigured serializer. - + - Returns a serializer that has been reconfigured with the specified representation and units. + Gets the BsonType of this BsonValue. - The representation. - The units. - - The reconfigured serializer. - - + - Represents a serializer for a . + Gets the number of elements. - The type of item 1. - + - Initializes a new instance of the class. + Gets the elements. - + - Initializes a new instance of the class. + Gets the element names. - The Item1 serializer. - + - Initializes a new instance of the class. + Gets the raw values (see BsonValue.RawValue). - The serializer registry. - + - Gets the Item1 serializer. + Gets the values. - + - Deserializes the value. + Gets or sets a value by position. - The context. - The deserialization args. - A deserialized value. + The position. + The value. - + - Serializes the value. + Gets the value of an element or a default value if the element is not found. - The serialization context. - The serialization args. - The value. + The name of the element. + The default value to return if the element is not found. + Teh value of the element or a default value if the element is not found. - + - Represents a serializer for a . + Gets or sets a value by name. - The type of item 1. - The type of item 2. + The name. + The value. - + - Initializes a new instance of the class. + Creates a new BsonDocument by mapping an object to a BsonDocument. + The object to be mapped to a BsonDocument. + A BsonDocument. - + - Initializes a new instance of the class. + Parses a JSON string and returns a BsonDocument. - The Item1 serializer. - The Item2 serializer. + The JSON string. + A BsonDocument. - + - Initializes a new instance of the class. + Tries to parse a JSON string and returns a value indicating whether it succeeded or failed. - The serializer registry. + The JSON string. + The result. + Whether it succeeded or failed. - + - Gets the Item1 serializer. + Adds an element to the document. + The element to add. + The document (so method calls can be chained). - + - Gets the Item2 serializer. + Adds elements to the document from a dictionary of key/value pairs. + The dictionary. + The document (so method calls can be chained). - + - Deserializes the value. + Adds elements to the document from a dictionary of key/value pairs. - The context. - The deserialization args. - A deserialized value. + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). - + - Serializes the value. + Adds elements to the document from a dictionary of key/value pairs. - The serialization context. - The serialization args. - The value. + The dictionary. + The document (so method calls can be chained). - + - Represents a serializer for a . + Adds elements to the document from a dictionary of key/value pairs. - The type of item 1. - The type of item 2. - The type of item 3. + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). - + - Initializes a new instance of the class. + Adds elements to the document from a dictionary of key/value pairs. + The dictionary. + The document (so method calls can be chained). - + - Initializes a new instance of the class. + Adds elements to the document from a dictionary of key/value pairs. - The Item1 serializer. - The Item2 serializer. - The Item3 serializer. + The dictionary. + Which keys of the hash table to add. + The document (so method calls can be chained). - + - Initializes a new instance of the class. + Adds a list of elements to the document. - The serializer registry. + The list of elements. + The document (so method calls can be chained). - + - Gets the Item1 serializer. + Adds a list of elements to the document. + The list of elements. + The document (so method calls can be chained). - + - Gets the Item2 serializer. + Creates and adds an element to the document. + The name of the element. + The value of the element. + The document (so method calls can be chained). - + - Gets the Item3 serializer. + Creates and adds an element to the document, but only if the condition is true. + The name of the element. + The value of the element. + Whether to add the element to the document. + The document (so method calls can be chained). - + - Deserializes the value. + Creates and adds an element to the document, but only if the condition is true. + If the condition is false the value factory is not called at all. - The context. - The deserialization args. - A deserialized value. + The name of the element. + A delegate called to compute the value of the element if condition is true. + Whether to add the element to the document. + The document (so method calls can be chained). - + - Serializes the value. + Adds elements to the document from a dictionary of key/value pairs. - The serialization context. - The serialization args. - The value. + The dictionary. + The document (so method calls can be chained). - + - Represents a serializer for a . + Adds elements to the document from a dictionary of key/value pairs. - The type of item 1. - The type of item 2. - The type of item 3. - The type of item 4. + The dictionary. + The document (so method calls can be chained). - + - Initializes a new instance of the class. + Adds a list of elements to the document. + The list of elements. + The document (so method calls can be chained). - + - Initializes a new instance of the class. + Adds elements to the document from a dictionary of key/value pairs. - The Item1 serializer. - The Item2 serializer. - The Item3 serializer. - The Item4 serializer. + The dictionary. + The document (so method calls can be chained). - + - Initializes a new instance of the class. + Clears the document (removes all elements). - The serializer registry. - + - Gets the Item1 serializer. + Creates a shallow clone of the document (see also DeepClone). + A shallow clone of the document. - + - Gets the Item2 serializer. + Compares this document to another document. + The other document. + A 32-bit signed integer that indicates whether this document is less than, equal to, or greather than the other. - + - Gets the Item3 serializer. + Compares the BsonDocument to another BsonValue. + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonDocument is less than, equal to, or greather than the other BsonValue. - + - Gets the Item4 serializer. + Tests whether the document contains an element with the specified name. + The name of the element to look for. + True if the document contains an element with the specified name. - + - Deserializes the value. + Tests whether the document contains an element with the specified value. - The context. - The deserialization args. - A deserialized value. + The value of the element to look for. + True if the document contains an element with the specified value. - + - Serializes the value. + Creates a deep clone of the document (see also Clone). - The serialization context. - The serialization args. - The value. + A deep clone of the document. - + - Represents a serializer for a . + Compares this document to another document. - The type of item 1. - The type of item 2. - The type of item 3. - The type of item 4. - The type of item 5. + The other document. + True if the two documents are equal. - + - Initializes a new instance of the class. + Compares this BsonDocument to another object. + The other object. + True if the other object is a BsonDocument and equal to this one. - + - Initializes a new instance of the class. + Gets an element of this document. - The Item1 serializer. - The Item2 serializer. - The Item3 serializer. - The Item4 serializer. - The Item5 serializer. + The zero based index of the element. + The element. - + - Initializes a new instance of the class. + Gets an element of this document. - The serializer registry. + The name of the element. + A BsonElement. - + - Gets the Item1 serializer. + Gets an enumerator that can be used to enumerate the elements of this document. + An enumerator. - + - Gets the Item2 serializer. + Gets the hash code. + The hash code. - + - Gets the Item3 serializer. + Gets the value of an element. + The zero based index of the element. + The value of the element. - + - Gets the Item4 serializer. + Gets the value of an element. + The name of the element. + The value of the element. - + - Gets the Item5 serializer. + Gets the value of an element or a default value if the element is not found. + The name of the element. + The default value returned if the element is not found. + The value of the element or the default value if the element is not found. - + - Deserializes the value. + Gets the index of an element. - The context. - The deserialization args. - A deserialized value. + The name of the element. + The index of the element, or -1 if the element is not found. - + - Serializes the value. + Inserts a new element at a specified position. - The serialization context. - The serialization args. - The value. + The position of the new element. + The element. - + - Represents a serializer for a . + Merges another document into this one. Existing elements are not overwritten. - The type of item 1. - The type of item 2. - The type of item 3. - The type of item 4. - The type of item 5. - The type of item 6. + The other document. + The document (so method calls can be chained). - + - Initializes a new instance of the class. + Merges another document into this one, specifying whether existing elements are overwritten. + The other document. + Whether to overwrite existing elements. + The document (so method calls can be chained). - + - Initializes a new instance of the class. + Removes an element from this document (if duplicate element names are allowed + then all elements with this name will be removed). - The Item1 serializer. - The Item2 serializer. - The Item3 serializer. - The Item4 serializer. - The Item5 serializer. - The Item6 serializer. + The name of the element to remove. - + - Initializes a new instance of the class. + Removes an element from this document. - The serializer registry. + The zero based index of the element to remove. - + - Gets the Item1 serializer. + Removes an element from this document. + The element to remove. - + - Gets the Item2 serializer. + Sets the value of an element. + The zero based index of the element whose value is to be set. + The new value. + The document (so method calls can be chained). - + - Gets the Item3 serializer. + Sets the value of an element (an element will be added if no element with this name is found). + The name of the element whose value is to be set. + The new value. + The document (so method calls can be chained). - + - Gets the Item4 serializer. + Sets an element of the document (replacing the existing element at that position). + The zero based index of the element to replace. + The new element. + The document. - + - Gets the Item5 serializer. + Sets an element of the document (replaces any existing element with the same name or adds a new element if an element with the same name is not found). + The new element. + The document. - + - Gets the Item6 serializer. + Converts the BsonDocument to a Dictionary<string, object>. + A dictionary. - + - Deserializes the value. + Converts the BsonDocument to a Hashtable. - The context. - The deserialization args. - A deserialized value. + A hashtable. - + - Serializes the value. + Returns a string representation of the document. - The serialization context. - The serialization args. - The value. + A string representation of the document. - + - Represents a serializer for a . + Tries to get an element of this document. - The type of item 1. - The type of item 2. - The type of item 3. - The type of item 4. - The type of item 5. - The type of item 6. - The type of item 7. + The name of the element. + The element. + True if an element with that name was found. - + - Initializes a new instance of the class. + Tries to get the value of an element of this document. + The name of the element. + The value of the element. + True if an element with that name was found. - + - Initializes a new instance of the class. + Represents a BSON element. - The Item1 serializer. - The Item2 serializer. - The Item3 serializer. - The Item4 serializer. - The Item5 serializer. - The Item6 serializer. - The Item7 serializer. - + - Initializes a new instance of the class. + Initializes a new instance of the BsonElement class. - The serializer registry. + The name of the element. + The value of the element. - + - Gets the Item1 serializer. + Gets the name of the element. - + - Gets the Item2 serializer. + Gets or sets the value of the element. - + - Gets the Item3 serializer. + Compares two BsonElements. + The first BsonElement. + The other BsonElement. + True if the two BsonElements are equal (or both null). - + - Gets the Item4 serializer. + Compares two BsonElements. + The first BsonElement. + The other BsonElement. + True if the two BsonElements are not equal (or one is null and the other is not). - + - Gets the Item5 serializer. + Creates a shallow clone of the element (see also DeepClone). + A shallow clone of the element. - + - Gets the Item6 serializer. + Creates a deep clone of the element (see also Clone). + A deep clone of the element. - + - Gets the Item7 serializer. + Compares this BsonElement to another BsonElement. + The other BsonElement. + A 32-bit signed integer that indicates whether this BsonElement is less than, equal to, or greather than the other. - + - Deserializes the value. + Compares this BsonElement to another BsonElement. - The context. - The deserialization args. - A deserialized value. + The other BsonElement. + True if the two BsonElement values are equal. - + - Serializes the value. + Compares this BsonElement to another object. - The serialization context. - The serialization args. - The value. + The other object. + True if the other object is a BsonElement and equal to this one. - + - Represents a serializer for a . + Gets the hash code. - The type of item 1. - The type of item 2. - The type of item 3. - The type of item 4. - The type of item 5. - The type of item 6. - The type of item 7. - The type of the rest item. + The hash code. - + - Initializes a new instance of the class. + Returns a string representation of the value. + A string representation of the value. - + - Initializes a new instance of the class. + Represents a BSON ObjectId value (see also ObjectId). - The Item1 serializer. - The Item2 serializer. - The Item3 serializer. - The Item4 serializer. - The Item5 serializer. - The Item6 serializer. - The Item7 serializer. - The Rest serializer. - + - Initializes a new instance of the class. + Initializes a new instance of the BsonObjectId class. - The serializer registry. + The value. - + - Gets the Item1 serializer. + Initializes a new instance of the BsonObjectId class. + The bytes. - + - Gets the Item2 serializer. + Initializes a new instance of the BsonObjectId class. + The timestamp (expressed as a DateTime). + The machine hash. + The PID. + The increment. - + - Gets the Item3 serializer. + Initializes a new instance of the BsonObjectId class. + The timestamp. + The machine hash. + The PID. + The increment. - + - Gets the Item4 serializer. + Initializes a new instance of the BsonObjectId class. + The value. - + - Gets the Item5 serializer. + Gets an instance of BsonObjectId where the value is empty. - + - Gets the Item6 serializer. + Gets the BsonType of this BsonValue. - + - Gets the Item7 serializer. + Gets the timestamp. - + - Gets the Rest serializer. + Gets the machine. - + - Deserializes the value. + Gets the PID. - The context. - The deserialization args. - A deserialized value. - + - Serializes the value. + Gets the increment. - The serialization context. - The serialization args. - The value. - + - Represents a serializer for two-dimensional arrays. + Gets the creation time (derived from the timestamp). - The type of the elements. - + - Initializes a new instance of the class. + Gets the BsonObjectId as an ObjectId. - + - Initializes a new instance of the class. + Gets the value of this BsonObjectId. - The item serializer. - + - Initializes a new instance of the class. + Converts an ObjectId to a BsonObjectId. - The serializer registry. + An ObjectId. + A BsonObjectId. - + - Gets the item serializer. + Compares two BsonObjectId values. - - The item serializer. - + The first BsonObjectId. + The other BsonObjectId. + True if the two BsonObjectId values are not equal according to ==. - + - Deserializes a value. + Compares two BsonObjectId values. - The deserialization context. - The deserialization args. - A deserialized value. + The first BsonObjectId. + The other BsonObjectId. + True if the two BsonObjectId values are equal according to ==. - + - Serializes a value. + Creates a new BsonObjectId. - The serialization context. - The serialization args. - The object. + An object to be mapped to a BsonObjectId. + A BsonObjectId or null. - + - Returns a serializer that has been reconfigured with the specified item serializer. + Generates a new BsonObjectId with a unique value. - The item serializer. - The reconfigured serializer. + A BsonObjectId. - + - Represents a serializer for UInt16s. + Generates a new BsonObjectId with a unique value (with the timestamp component based on a given DateTime). + The timestamp component (expressed as a DateTime). + A BsonObjectId. - + - Initializes a new instance of the class. + Generates a new BsonObjectId with a unique value (with the given timestamp). + The timestamp component. + A BsonObjectId. - + - Initializes a new instance of the class. + Parses a string and creates a new BsonObjectId. - The representation. + The string value. + A BsonObjectId. - + - Initializes a new instance of the class. + Tries to parse a string and create a new BsonObjectId. - The representation. - The converter. + The string value. + The new BsonObjectId. + True if the string was parsed successfully. - + - Gets the converter. + Compares this BsonObjectId to another BsonObjectId. - - The converter. - + The other BsonObjectId. + A 32-bit signed integer that indicates whether this BsonObjectId is less than, equal to, or greather than the other. - + - Gets the representation. + Compares the BsonObjectId to another BsonValue. - - The representation. - + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonObjectId is less than, equal to, or greather than the other BsonValue. - + - Deserializes a value. + Compares this BsonObjectId to another BsonObjectId. - The deserialization context. - The deserialization args. - A deserialized value. + The other BsonObjectId. + True if the two BsonObjectId values are equal. - + - Serializes a value. + Compares this BsonObjectId to another object. - The serialization context. - The serialization args. - The object. + The other object. + True if the other object is a BsonObjectId and equal to this one. - + - Returns a serializer that has been reconfigured with the specified item serializer. + Gets the hash code. - The converter. - The reconfigured serializer. + The hash code. - + - Returns a serializer that has been reconfigured with the specified representation. + Converts the BsonObjectId to a byte array. - The representation. - The reconfigured serializer. + A byte array. - + - Represents a serializer for UInt32s. + Returns a string representation of the value. + A string representation of the value. - + + + + - Initializes a new instance of the class. + Represents a BSON regular expression value. - + - Initializes a new instance of the class. + Initializes a new instance of the BsonRegularExpression class. - The representation. + A regular expression pattern. - + - Initializes a new instance of the class. + Initializes a new instance of the BsonRegularExpression class. - The representation. - The converter. + A regular expression pattern. + Regular expression options. - + - Gets the converter. + Initializes a new instance of the BsonRegularExpression class. - - The converter. - + A Regex. - + - Gets the representation. + Gets the BsonType of this BsonValue. - - The representation. - - + - Deserializes a value. + Gets the regular expression pattern. - The deserialization context. - The deserialization args. - A deserialized value. - + - Serializes a value. + Gets the regular expression options. - The serialization context. - The serialization args. - The object. - + - Returns a serializer that has been reconfigured with the specified item serializer. + Converts a Regex to a BsonRegularExpression. - The converter. - The reconfigured serializer. + A Regex. + A BsonRegularExpression. - + - Returns a serializer that has been reconfigured with the specified representation. + Converts a string to a BsonRegularExpression. - The representation. - The reconfigured serializer. + A string. + A BsonRegularExpression. - + - Represents a serializer for UInt64s. + Compares two BsonRegularExpression values. + The first BsonRegularExpression. + The other BsonRegularExpression. + True if the two BsonRegularExpression values are not equal according to ==. - + - Initializes a new instance of the class. + Compares two BsonRegularExpression values. + The first BsonRegularExpression. + The other BsonRegularExpression. + True if the two BsonRegularExpression values are equal according to ==. - + - Initializes a new instance of the class. + Creates a new BsonRegularExpression. - The representation. + An object to be mapped to a BsonRegularExpression. + A BsonRegularExpression or null. - + - Initializes a new instance of the class. + Compares this BsonRegularExpression to another BsonRegularExpression. - The representation. - The converter. + The other BsonRegularExpression. + A 32-bit signed integer that indicates whether this BsonRegularExpression is less than, equal to, or greather than the other. - + - Gets the converter. + Compares the BsonRegularExpression to another BsonValue. - - The converter. - + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonRegularExpression is less than, equal to, or greather than the other BsonValue. - + - Gets the representation. + Compares this BsonRegularExpression to another BsonRegularExpression. - - The representation. - + The other BsonRegularExpression. + True if the two BsonRegularExpression values are equal. - + - Deserializes a value. + Compares this BsonRegularExpression to another object. - The deserialization context. - The deserialization args. - A deserialized value. + The other object. + True if the other object is a BsonRegularExpression and equal to this one. - + - Serializes a value. + Gets the hash code. - The serialization context. - The serialization args. - The object. + The hash code. - + - Returns a serializer that has been reconfigured with the specified item serializer. + Converts the BsonRegularExpression to a Regex. - The converter. - The reconfigured serializer. + A Regex. - + - Returns a serializer that has been reconfigured with the specified representation. + Returns a string representation of the value. - The representation. - The reconfigured serializer. + A string representation of the value. - + - Represents a serializer for interfaces and base classes that delegates to the actual type interface without writing a discriminator. + Represents a BSON symbol value. - Type type of the value. - + - Initializes a new instance of the class. + Gets the BsonType of this BsonValue. - + - Gets the instance. + Gets the name of the symbol. - - The instance. - - + - Serializes a value. + Converts a string to a BsonSymbol. - The serialization context. - The serialization args. - The document. + A string. + A BsonSymbol. - + - Represents a serializer for Uris. + Compares two BsonSymbol values. + The first BsonSymbol. + The other BsonSymbol. + True if the two BsonSymbol values are not equal according to ==. - + - Initializes a new instance of the UriSerializer class. + Compares two BsonSymbol values. + The first BsonSymbol. + The other BsonSymbol. + True if the two BsonSymbol values are equal according to ==. - + - Deserializes a value. + Creates a new BsonSymbol. - The deserialization context. - The deserialization args. - A deserialized value. + An object to be mapped to a BsonSymbol. + A BsonSymbol or null. - + - Serializes a value. + Compares this BsonSymbol to another BsonSymbol. - The serialization context. - The serialization args. - The object. + The other BsonSymbol. + A 32-bit signed integer that indicates whether this BsonSymbol is less than, equal to, or greather than the other. - + - Represents a serializer for Versions. + Compares the BsonSymbol to another BsonValue. + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonSymbol is less than, equal to, or greather than the other BsonValue. - + - Initializes a new instance of the class. + Compares this BsonSymbol to another BsonSymbol. + The other BsonSymbol. + True if the two BsonSymbol values are equal. - + - Initializes a new instance of the class. + Compares this BsonSymbol to another object. - The representation. + The other object. + True if the other object is a BsonSymbol and equal to this one. - + - Gets the representation. + Gets the hash code. - - The representation. - + The hash code. - + - Deserializes a value. + Returns a string representation of the value. - The deserialization context. - The deserialization args. - A deserialized value. + A string representation of the value. - + - Serializes a value. + Represents the BSON MaxKey value. - The serialization context. - The serialization args. - The object. - + - Returns a serializer that has been reconfigured with the specified representation. + Compares two BsonMaxKey values. - The representation. - The reconfigured serializer. + The first BsonMaxKey. + The other BsonMaxKey. + True if the two BsonMaxKey values are not equal according to ==. - + - Represents a serializer for a class map. + Compares two BsonMaxKey values. - The type of the class. + The first BsonMaxKey. + The other BsonMaxKey. + True if the two BsonMaxKey values are equal according to ==. - + - Initializes a new instance of the BsonClassMapSerializer class. + Gets the singleton instance of BsonMaxKey. - The class map. - + - Gets a value indicating whether this serializer's discriminator is compatible with the object serializer. + Gets the BsonType of this BsonValue. - - true if this serializer's discriminator is compatible with the object serializer; otherwise, false. - - + - Deserializes a value. + Compares this BsonMaxKey to another BsonMaxKey. - The deserialization context. - The deserialization args. - A deserialized value. + The other BsonMaxKey. + A 32-bit signed integer that indicates whether this BsonMaxKey is less than, equal to, or greather than the other. - + - Deserializes a value. + Compares the BsonMaxKey to another BsonValue. - The deserialization context. - A deserialized value. + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonMaxKey is less than, equal to, or greather than the other BsonValue. - + - Gets the document Id. + Compares this BsonMaxKey to another BsonMaxKey. - The document. - The Id. - The nominal type of the Id. - The IdGenerator for the Id type. - True if the document has an Id. + The other BsonMaxKey. + True if the two BsonMaxKey values are equal. - + - Tries to get the serialization info for a member. + Compares this BsonMaxKey to another object. - Name of the member. - The serialization information. - - true if the serialization info exists; otherwise false. - + The other object. + True if the other object is a BsonMaxKey and equal to this one. - + - Serializes a value. + Gets the hash code. - The serialization context. - The serialization args. - The object. + The hash code. - + - Sets the document Id. + Returns a string representation of the value. - The document. - The Id. + A string representation of the value. - + - Represents a serializer for TClass (a subclass of BsonDocumentBackedClass). + Represents the BSON MinKey value. - The subclass of BsonDocumentBackedClass. - + - Initializes a new instance of the class. + Compares two BsonMinKey values. + The first BsonMinKey. + The other BsonMinKey. + True if the two BsonMinKey values are not equal according to ==. - + - Tries to get the serialization info for a member. + Compares two BsonMinKey values. - Name of the member. - The serialization information. - - true if the serialization info exists; otherwise false. - - - - + The first BsonMinKey. + The other BsonMinKey. + True if the two BsonMinKey values are equal according to ==. - + - Registers a member. + Gets the singleton instance of BsonMinKey. - The member name. - The element name. - The serializer. - - - - + - Creates the instance. + Gets the BsonType of this BsonValue. - The backing document. - An instance of TClass. - + - Represents a serialization provider based on a mapping from value types to serializer types. + Compares this BsonMinKey to another BsonMinKey. + The other BsonMinKey. + A 32-bit signed integer that indicates whether this BsonMinKey is less than, equal to, or greather than the other. - + - Initializes a new instance of the class. + Compares the BsonMinKey to another BsonValue. + The other BsonValue. + A 32-bit signed integer that indicates whether this BsonMinKey is less than, equal to, or greather than the other BsonValue. - - - - + - Registers the serializer mapping. + Compares this BsonMinKey to another BsonMinKey. - The type. - Type of the serializer. + The other BsonMinKey. + True if the two BsonMinKey values are equal. - + - Supports using type names as discriminators. + Compares this BsonMinKey to another object. + The other object. + True if the other object is a BsonMinKey and equal to this one. - + - Resolves a type name discriminator. + Gets the hash code. - The type name. - The type if type type name can be resolved; otherwise, null. + The hash code. - + - Gets a type name to be used as a discriminator (like AssemblyQualifiedName but shortened for common DLLs). + Returns a string representation of the value. - The type. - The type name. + A string representation of the value. diff --git a/packages/MongoDB.Bson.2.8.1/lib/net452/MongoDB.Bson.xml b/packages/MongoDB.Bson.2.4.4/lib/netstandard1.5/MongoDB.Bson.xml similarity index 98% rename from packages/MongoDB.Bson.2.8.1/lib/net452/MongoDB.Bson.xml rename to packages/MongoDB.Bson.2.4.4/lib/netstandard1.5/MongoDB.Bson.xml index 66360deb..171eeda2 100644 --- a/packages/MongoDB.Bson.2.8.1/lib/net452/MongoDB.Bson.xml +++ b/packages/MongoDB.Bson.2.4.4/lib/netstandard1.5/MongoDB.Bson.xml @@ -240,13 +240,6 @@ The error message format string. One or more args for the error message. - - - Initializes a new instance of the BsonException class (this overload used by deserialization). - - The SerializationInfo. - The StreamingContext. - Represents a BSON internal exception (almost surely the result of a bug). @@ -270,13 +263,6 @@ The error message. The inner exception. - - - Initializes a new instance of the BsonInternalException class (this overload used by deserialization). - - The SerializationInfo. - The StreamingContext. - Represents a BSON serialization exception. @@ -300,13 +286,6 @@ The error message. The inner exception. - - - Initializes a new instance of the BsonSerializationException class (this overload used by deserialization). - - The SerializationInfo. - The StreamingContext. - Indicates that an attribute restricted to one member has been applied to multiple members. @@ -325,13 +304,6 @@ The message. The inner. - - - Initializes a new instance of the class. - - The info. - The context. - Represents a truncation exception. @@ -355,13 +327,6 @@ The error message. The inner exception. - - - Initializes a new instance of the TruncationException class (this overload used by deserialization). - - The SerializationInfo. - The StreamingContext. - Represents a fast converter from integer indexes to UTF8 BSON array element names. @@ -722,14 +687,6 @@ The BSON stream. - - - - - - Gets the settings of the writer. - - Closes the writer. Also closes the base stream. @@ -1256,9 +1213,6 @@ Gets the BsonDocument being written to. - - - Closes the writer. @@ -2009,27 +1963,12 @@ - - - - - - - - - - - - - - - @@ -2311,9 +2250,6 @@ The writer settings. - - - Gets the current serialization depth. @@ -2360,18 +2296,12 @@ The popped element validator. - - - Pushes the element name validator. The validator. - - - Writes BSON binary data to the writer. @@ -2951,26 +2881,6 @@ The scope document of a JavaScriptWithScope BSON value. - - - A BsonWriter that appends elements to the end of a document. - - - - - - Initializes a new instance of the class. - - The wrapped writer. - The elements to append. - The settings configurator. - - - - - - - Represents a chunk of bytes. @@ -3421,16 +3331,6 @@ Represents a BSON writer. - - - - - Gets the position. - Not all writers are able to report the position. Those that can't simply return zero. - - - The position. - @@ -3463,23 +3363,12 @@ The popped element validator. - - - Pops the settings. - - Pushes the element name validator. The validator. - - - Pushes new settings for the writer. - - The settings configurator. - Writes BSON binary data to the writer. @@ -4896,14 +4785,6 @@ The base TextWriter. - - - - - - Gets the settings of the writer. - - Closes the writer. @@ -5406,149 +5287,6 @@ The name. - - - An abstract base class for an IBsonWriter that wraps another IBsonWriter. - - - - - - Initializes a new instance of the class. - - The wrapped writer. - - - - - - - - - - - - - - - - Gets the wrapped writer. - - - The wrapped writer. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Releases unmanaged and - optionally - managed resources. - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Throws if disposed. - - - Represents a BSON array. @@ -10696,7 +10434,7 @@ Converts a Guid to a byte array. The Guid. - The representation of the Guid in the byte array. + The representation of the Guid in the byte array. A byte array. @@ -12050,13 +11788,6 @@ The zero based index at which to insert the new value. The new value. - - - Materializes the RawBsonArray into a regular BsonArray. - - The binary reader settings. - A BsonArray. - Removes the first occurrence of a value from the array. @@ -12526,2753 +12257,2991 @@ - + - Specifies that this constructor should be used for creator-based deserialization. + Represents a mapping between a class and a BSON document. - + - Initializes a new instance of the BsonConstructorAttribute class. + Initializes a new instance of the BsonClassMap class. + The class type. - + - Initializes a new instance of the BsonConstructorAttribute class. + Initializes a new instance of the class. - The names of the members that the creator argument values come from. + Type of the class. + The base class map. - + - Gets the names of the members that the creator arguments values come from. + Gets all the member maps (including maps for inherited members). - + - Applies a modification to the creator map. + Gets the base class map. - The creator map. - + - Specifies serialization options for a DateTime field or property. + Gets the class type. - + - Initializes a new instance of the BsonDateTimeOptionsAttribute class. + Gets the constructor maps. - + - Gets or sets whether the DateTime consists of a Date only. + Gets the conventions used for auto mapping. - + - Gets or sets the DateTimeKind (Local, Unspecified or Utc). + Gets the declared member maps (only for members declared in this class). - + - Gets or sets the external representation. + Gets the discriminator. - + - Reconfigures the specified serializer by applying this attribute to it. + Gets whether a discriminator is required when serializing this class. - The serializer. - A reconfigured serializer. - + - Specifies the default value for a field or property. + Gets the member map of the member used to hold extra elements. - + - Initializes a new instance of the BsonDefaultValueAttribute class. + Gets whether this class map has any creator maps. - The default value. - + - Gets the default value. + Gets whether this class has a root class ancestor. - + - Gets or sets whether to serialize the default value. + Gets the Id member map (null if none). - + - Applies a modification to the member map. + Gets whether extra elements should be ignored when deserializing. - The member map. - + - Specifies serialization options for a Dictionary field or property. + Gets whether the IgnoreExtraElements value should be inherited by derived classes. - + - Initializes a new instance of the BsonDictionaryOptionsAttribute class. + Gets whether this class is anonymous. - + - Initializes a new instance of the BsonDictionaryOptionsAttribute class. + Gets whether the class map is frozen. - The representation to use for the Dictionary. - + - Gets or sets the external representation. + Gets whether this class is a root class. - + - Reconfigures the specified serializer by applying this attribute to it. + Gets the known types of this class. - The serializer. - A reconfigured serializer. - + - Specifies the discriminator and related options for a class. + Gets the element name to member index trie. - + - Initializes a new instance of the BsonDiscriminatorAttribute class. + Gets the member index of the member used to hold extra elements. - + - Initializes a new instance of the BsonDiscriminatorAttribute class. + Gets the type of a member. - The discriminator. + The member info. + The type of the member. - + - Gets the discriminator. + Gets all registered class maps. + All registered class maps. - + - Gets or sets whether the discriminator is required. + Checks whether a class map is registered for a type. + The type to check. + True if there is a class map registered for the type. - + - Gets or sets whether this is a root class. + Looks up a class map (will AutoMap the class if no class map is registered). + The class type. + The class map. - + - Applies a modification to the class map. + Creates and registers a class map. - The class map. + The class. + The class map. - + - Specifies the element name and related options for a field or property. + Creates and registers a class map. + The class. + The class map initializer. + The class map. - + - Initializes a new instance of the BsonElementAttribute class. + Registers a class map. + The class map. - + - Initializes a new instance of the BsonElementAttribute class. + Automaps the class. - The name of the element. - + - Gets the element name. + Creates an instance of the class. + An object. - + - Gets the element serialization order. + Freezes the class map. + The frozen class map. - + - Applies a modification to the member map. + Gets a member map (only considers members declared in this class). - The member map. + The member name. + The member map (or null if the member was not found). - + - Indicates that this property or field will be used to hold any extra elements found during deserialization. + Gets the member map for a BSON element. + The name of the element. + The member map. - + - Applies a modification to the member map. + Creates a creator map for a constructor and adds it to the class map. - The member map. + The constructor info. + The creator map (so method calls can be chained). - + - Specifies that this factory method should be used for creator-based deserialization. + Creates a creator map for a constructor and adds it to the class map. + The constructor info. + The argument names. + The creator map (so method calls can be chained). - + - Initializes a new instance of the BsonFactoryMethodAttribute class. + Creates a creator map and adds it to the class. + The delegate. + The factory method map (so method calls can be chained). - + - Initializes a new instance of the BsonFactoryMethodAttribute class. + Creates a creator map and adds it to the class. - The names of the members that the creator argument values come from. + The delegate. + The argument names. + The factory method map (so method calls can be chained). - + - Gets the names of the members that the creator arguments values come from. + Creates a member map for the extra elements field and adds it to the class map. + The name of the extra elements field. + The member map (so method calls can be chained). - + - Applies a modification to the creator map. + Creates a member map for the extra elements member and adds it to the class map. - The creator map. + The member info for the extra elements member. + The member map (so method calls can be chained). - + - Specifies that this is the Id field or property. + Creates a member map for the extra elements property and adds it to the class map. + The name of the property. + The member map (so method calls can be chained). - + - Initializes a new instance of the BsonIdAttribute class. + Creates a creator map for a factory method and adds it to the class. + The method info. + The creator map (so method calls can be chained). - + - Gets or sets the Id generator for the Id. + Creates a creator map for a factory method and adds it to the class. + The method info. + The argument names. + The creator map (so method calls can be chained). - + - Gets or sets the Id element serialization order. + Creates a member map for a field and adds it to the class map. + The name of the field. + The member map (so method calls can be chained). - + - Applies a modification to the member map. + Creates a member map for the Id field and adds it to the class map. - The member map. + The name of the Id field. + The member map (so method calls can be chained). - + - Indicates that this field or property should be ignored when this class is serialized. + Creates a member map for the Id member and adds it to the class map. + The member info for the Id member. + The member map (so method calls can be chained). - + - Specifies whether extra elements should be ignored when this class is deserialized. + Creates a member map for the Id property and adds it to the class map. + The name of the Id property. + The member map (so method calls can be chained). - + - Initializes a new instance of the BsonIgnoreExtraElementsAttribute class. + Creates a member map for a member and adds it to the class map. + The member info. + The member map (so method calls can be chained). - + - Initializes a new instance of the BsonIgnoreExtraElementsAttribute class. + Creates a member map for a property and adds it to the class map. - Whether extra elements should be ignored when this class is deserialized. + The name of the property. + The member map (so method calls can be chained). - + - Gets whether extra elements should be ignored when this class is deserialized. + Resets the class map back to its initial state. - + - Gets whether extra elements should also be ignored when any class derived from this one is deserialized. + Sets the creator for the object. + The creator. + The class map (so method calls can be chained). - + - Applies a modification to the class map. + Sets the discriminator. - The class map. + The discriminator. - + - Indicates whether a field or property equal to the default value should be ignored when serializing this class. + Sets whether a discriminator is required when serializing this class. + Whether a discriminator is required. - + - Initializes a new instance of the BsonIgnoreIfDefaultAttribute class. + Sets the member map of the member used to hold extra elements. + The extra elements member map. - + - Initializes a new instance of the BsonIgnoreIfDefaultAttribute class. + Adds a known type to the class map. - Whether a field or property equal to the default value should be ignored when serializing this class. + The known type. - + - Gets whether a field or property equal to the default value should be ignored when serializing this class. + Sets the Id member. + The Id member (null if none). - + - Applies a modification to the member map. + Sets whether extra elements should be ignored when deserializing. - The member map. + Whether extra elements should be ignored when deserializing. - + - Indicates whether a field or property equal to null should be ignored when serializing this class. + Sets whether the IgnoreExtraElements value should be inherited by derived classes. + Whether the IgnoreExtraElements value should be inherited by derived classes. - + - Initializes a new instance of the BsonIgnoreIfNullAttribute class. + Sets whether this class is a root class. + Whether this class is a root class. - + - Initializes a new instance of the BsonIgnoreIfNullAttribute class. + Removes a creator map for a constructor from the class map. - Whether a field or property equal to null should be ignored when serializing this class. + The constructor info. - + - Gets whether a field or property equal to null should be ignored when serializing this class. + Removes a creator map for a factory method from the class map. + The method info. - + - Applies a modification to the member map. + Removes the member map for a field from the class map. - The member map. + The name of the field. - + - Specifies the known types for this class (the derived classes). + Removes a member map from the class map. + The member info. - + - Initializes a new instance of the BsonKnownTypesAttribute class. + Removes the member map for a property from the class map. - One or more known types. + The name of the property. - + - Initializes a new instance of the BsonKnownTypesAttribute class. + Gets the discriminator convention for the class. - A known types. + The discriminator convention for the class. - + - Gets a list of the known types. + Represents a mapping between a class and a BSON document. + The class. - + - Applies a modification to the class map. + Initializes a new instance of the BsonClassMap class. - The class map. - + - Specifies that the class's IdMember should be null. + Initializes a new instance of the BsonClassMap class. + The class map initializer. - + - Applies the post processing attribute to the class map. + Creates an instance. - The class map. + An instance. - + - Specifies the external representation and related options for this field or property. + Gets a member map. + The member type. + A lambda expression specifying the member. + The member map. - + - Initializes a new instance of the BsonRepresentationAttribute class. + Creates a creator map and adds it to the class map. - The external representation. + Lambda expression specifying the creator code and parameters to use. + The member map. - + - Gets the external representation. + Creates a member map for the extra elements field and adds it to the class map. + The member type. + A lambda expression specifying the extra elements field. + The member map. - + - Gets or sets whether to allow overflow. + Creates a member map for the extra elements member and adds it to the class map. + The member type. + A lambda expression specifying the extra elements member. + The member map. - + - Gets or sets whether to allow truncation. + Creates a member map for the extra elements property and adds it to the class map. + The member type. + A lambda expression specifying the extra elements property. + The member map. - + - Reconfigures the specified serializer by applying this attribute to it. + Creates a member map for a field and adds it to the class map. - The serializer. - A reconfigured serializer. + The member type. + A lambda expression specifying the field. + The member map. - + - Indicates that a field or property is required. + Creates a member map for the Id field and adds it to the class map. + The member type. + A lambda expression specifying the Id field. + The member map. - + - Applies a modification to the member map. + Creates a member map for the Id member and adds it to the class map. - The member map. + The member type. + A lambda expression specifying the Id member. + The member map. - + - Abstract base class for serialization options attributes. + Creates a member map for the Id property and adds it to the class map. + The member type. + A lambda expression specifying the Id property. + The member map. - + - Initializes a new instance of the BsonSerializationOptionsAttribute class. + Creates a member map and adds it to the class map. + The member type. + A lambda expression specifying the member. + The member map. - + - Applies a modification to the member map. + Creates a member map for the Id property and adds it to the class map. - The member map. + The member type. + A lambda expression specifying the Id property. + The member map. - + - Reconfigures the specified serializer by applying this attribute to it. + Removes the member map for a field from the class map. - The serializer. - A reconfigured serializer. - + The member type. + A lambda expression specifying the field. - + - Specifies the type of the serializer to use for a class. + Removes a member map from the class map. + The member type. + A lambda expression specifying the member. - + - Initializes a new instance of the BsonSerializerAttribute class. + Removes a member map for a property from the class map. + The member type. + A lambda expression specifying the property. - + - Initializes a new instance of the BsonSerializerAttribute class. + Represents the class map serialization provider. - The type of the serializer to use for a class. - - - Gets or sets the type of the serializer to use for a class. - + + - + - Applies a modification to the member map. + Represents a mapping to a delegate and its arguments. - The member map. - + - Creates a serializer for a type based on the serializer type specified by the attribute. + Initializes a new instance of the BsonCreatorMap class. - The type that a serializer should be created for. - A serializer for the type. + The class map. + The member info (null if none). + The delegate. - + - Specifies the external representation and related options for this field or property. + Gets the arguments. - + - Initializes a new instance of the BsonTimeSpanOptionsAttribute class. + Gets the class map that this creator map belongs to. - The external representation. - + - Initializes a new instance of the BsonTimeSpanOptionsAttribute class. + Gets the delegeate - The external representation. - The TimeSpanUnits. - + - Gets the external representation. + Gets the element names. - + - Gets or sets the TimeSpanUnits. + Gets the member info (null if none). - + - Reconfigures the specified serializer by applying this attribute to it. + Freezes the creator map. - The serializer. - A reconfigured serializer. - + - Indicates the usage restrictions for the attribute. + Gets whether there is a default value for a missing element. + The element name. + True if there is a default value for element name; otherwise, false. - + - Initializes a new instance of the class. + Sets the arguments for the creator map. + The arguments. + The creator map. - + - Gets or sets a value indicating whether the attribute this attribute applies to is allowed to be applied - to more than one member. + Sets the arguments for the creator map. + The argument names. + The creator map. - + - Represents an attribute used to modify a class map. + Represents args common to all serializers. - + - Applies the attribute to the class map. + Gets or sets the nominal type. - The class map. + + The nominal type. + - + - Represents an attribute used to modify a creator map. + Represents all the contextual information needed by a serializer to deserialize a value. - + - Applies the attribute to the creator map. + Gets a value indicating whether to allow duplicate element names. - The creator map. + + true if duplicate element names shoud be allowed; otherwise, false. + - + - Represents an attribute used to modify a member map. + Gets the dynamic array serializer. + + The dynamic array serializer. + - + - Applies the attribute to the member map. + Gets the dynamic document serializer. - The member map. + + The dynamic document serializer. + - + - Represents an attribute used to post process a class map. + Gets the reader. - - + + The reader. + + + - Applies the post processing attribute to the class map. + Creates a root context. - The class map. + The reader. + The configurator. + + A root context. + - + - Represents a mapping between a class and a BSON document. + Creates a new context with some values changed. + The configurator. + + A new context. + - + - Initializes a new instance of the BsonClassMap class. + Represents a builder for a BsonDeserializationContext. - The class type. - + - Initializes a new instance of the class. + Gets or sets a value indicating whether to allow duplicate element names. - Type of the class. - The base class map. + + true if duplicate element names should be allowed; otherwise, false. + - + - Gets all the member maps (including maps for inherited members). + Gets or sets the dynamic array serializer. + + The dynamic array serializer. + - + - Gets the base class map. + Gets or sets the dynamic document serializer. + + The dynamic document serializer. + - + - Gets the class type. + Gets the reader. + + The reader. + - + - Gets the constructor maps. + Builds the BsonDeserializationContext instance. + A BsonDeserializationContext. - + - Gets the conventions used for auto mapping. + A class backed by a BsonDocument. - + - Gets the declared member maps (only for members declared in this class). + Initializes a new instance of the class. + The serializer. - + - Gets the discriminator. + Initializes a new instance of the class. + The backing document. + The serializer. - + - Gets whether a discriminator is required when serializing this class. + Gets the backing document. - + - Gets the member map of the member used to hold extra elements. + Gets the value from the backing document. + The type of the value. + The member name. + The value. - + - Gets whether this class map has any creator maps. + Gets the value from the backing document. + The type of the value. + The member name. + The default value. + The value. - + - Gets whether this class has a root class ancestor. + Sets the value in the backing document. + The member name. + The value. - + - Gets the Id member map (null if none). + Represents the mapping between a field or property and a BSON element. - + - Gets whether extra elements should be ignored when deserializing. + Initializes a new instance of the BsonMemberMap class. + The class map this member map belongs to. + The member info. - + - Gets whether the IgnoreExtraElements value should be inherited by derived classes. + Gets the class map that this member map belongs to. - + - Gets whether this class is anonymous. + Gets the name of the member. - + - Gets whether the class map is frozen. + Gets the type of the member. - + - Gets whether this class is a root class. + Gets whether the member type is a BsonValue. - + - Gets the known types of this class. + Gets the name of the element. - + - Gets the element name to member index trie. + Gets the serialization order. - + - Gets the member index of the member used to hold extra elements. + Gets the member info. - + - Gets the type of a member. + Gets the getter function. - The member info. - The type of the member. - + - Gets all registered class maps. + Gets the setter function. - All registered class maps. - + - Checks whether a class map is registered for a type. + Gets the Id generator. - The type to check. - True if there is a class map registered for the type. - + - Looks up a class map (will AutoMap the class if no class map is registered). + Gets whether a default value was specified. - The class type. - The class map. - + - Creates and registers a class map. + Gets whether an element is required for this member when deserialized. - The class. - The class map. - + - Creates and registers a class map. + Gets the method that will be called to determine whether the member should be serialized. - The class. - The class map initializer. - The class map. - + - Registers a class map. + Gets whether default values should be ignored when serialized. - The class map. - + - Automaps the class. + Gets whether null values should be ignored when serialized. - + - Creates an instance of the class. + Gets the default value. - An object. - + - Freezes the class map. + Gets whether the member is readonly. - The frozen class map. + + Readonly indicates that the member is written to the database, but not read from the database. + - + - Gets a member map (only considers members declared in this class). + Applies the default value to the member of an object. - The member name. - The member map (or null if the member was not found). + The object. - + - Gets the member map for a BSON element. + Freezes this instance. - The name of the element. - The member map. - + - Creates a creator map for a constructor and adds it to the class map. + Gets the serializer. - The constructor info. - The creator map (so method calls can be chained). + The serializer. - + - Creates a creator map for a constructor and adds it to the class map. + Resets the member map back to its initial state. - The constructor info. - The argument names. - The creator map (so method calls can be chained). + The member map. - + - Creates a creator map and adds it to the class. + Sets the default value creator. - The delegate. - The factory method map (so method calls can be chained). + The default value creator (note: the supplied delegate must be thread safe). + The member map. - + - Creates a creator map and adds it to the class. + Sets the default value. - The delegate. - The argument names. - The factory method map (so method calls can be chained). + The default value. + The member map. - + - Creates a member map for the extra elements field and adds it to the class map. + Sets the name of the element. - The name of the extra elements field. - The member map (so method calls can be chained). + The name of the element. + The member map. - + - Creates a member map for the extra elements member and adds it to the class map. + Sets the Id generator. - The member info for the extra elements member. - The member map (so method calls can be chained). + The Id generator. + The member map. - + - Creates a member map for the extra elements property and adds it to the class map. + Sets whether default values should be ignored when serialized. - The name of the property. - The member map (so method calls can be chained). + Whether default values should be ignored when serialized. + The member map. - + - Creates a creator map for a factory method and adds it to the class. + Sets whether null values should be ignored when serialized. - The method info. - The creator map (so method calls can be chained). + Wether null values should be ignored when serialized. + The member map. - + - Creates a creator map for a factory method and adds it to the class. + Sets whether an element is required for this member when deserialized - The method info. - The argument names. - The creator map (so method calls can be chained). + Whether an element is required for this member when deserialized + The member map. - + - Creates a member map for a field and adds it to the class map. + Sets the serialization order. - The name of the field. - The member map (so method calls can be chained). + The serialization order. + The member map. - + - Creates a member map for the Id field and adds it to the class map. + Sets the serializer. - The name of the Id field. - The member map (so method calls can be chained). + The serializer. + + The member map. + + serializer + serializer - + - Creates a member map for the Id member and adds it to the class map. + Sets the method that will be called to determine whether the member should be serialized. - The member info for the Id member. - The member map (so method calls can be chained). + The method. + The member map. - + - Creates a member map for the Id property and adds it to the class map. + Determines whether a value should be serialized - The name of the Id property. - The member map (so method calls can be chained). + The object. + The value. + True if the value should be serialized. - + - Creates a member map for a member and adds it to the class map. + Provides serializers for BsonValue and its derivations. - The member info. - The member map (so method calls can be chained). - - - Creates a member map for a property and adds it to the class map. - - The name of the property. - The member map (so method calls can be chained). + + - + - Resets the class map back to its initial state. + Represents args common to all serializers. - + - Sets the creator for the object. + Initializes a new instance of the struct. - The creator. - The class map (so method calls can be chained). + The nominal type. + Whether to serialize as the nominal type. + Whether to serialize the id first. - + - Sets the discriminator. + Gets or sets the nominal type. - The discriminator. + + The nominal type. + - + - Sets whether a discriminator is required when serializing this class. + Gets or sets a value indicating whether to serialize the value as if it were an instance of the nominal type. - Whether a discriminator is required. - + - Sets the member map of the member used to hold extra elements. + Gets or sets a value indicating whether to serialize the id first. - The extra elements member map. - + - Adds a known type to the class map. + Represents all the contextual information needed by a serializer to serialize a value. - The known type. - + - Sets the Id member. + Gets a function that, when executed, will indicate whether the type + is a dynamic type. - The Id member (null if none). - + - Sets whether extra elements should be ignored when deserializing. + Gets the writer. - Whether extra elements should be ignored when deserializing. + + The writer. + - + - Sets whether the IgnoreExtraElements value should be inherited by derived classes. + Creates a root context. - Whether the IgnoreExtraElements value should be inherited by derived classes. + The writer. + The serialization context configurator. + + A root context. + - + - Sets whether this class is a root class. + Creates a new context with some values changed. - Whether this class is a root class. + The serialization context configurator. + + A new context. + - + - Removes a creator map for a constructor from the class map. + Represents a builder for a BsonSerializationContext. - The constructor info. - + - Removes a creator map for a factory method from the class map. + Gets or sets the function used to determine if a type is a dynamic type. - The method info. - + - Removes the member map for a field from the class map. + Gets the writer. - The name of the field. + + The writer. + - + - Removes a member map from the class map. + Builds the BsonSerializationContext instance. - The member info. + A BsonSerializationContext. - + - Removes the member map for a property from the class map. + Represents the information needed to serialize a member. - The name of the property. - + - Gets the discriminator convention for the class. + Initializes a new instance of the BsonSerializationInfo class. - The discriminator convention for the class. + The element name. + The serializer. + The nominal type. - + - Represents a mapping between a class and a BSON document. + Gets or sets the dotted element name. - The class. - + - Initializes a new instance of the BsonClassMap class. + Gets or sets the serializer. - + - Initializes a new instance of the BsonClassMap class. + Gets or sets the nominal type. - The class map initializer. - + - Creates an instance. + Deserializes the value. - An instance. + The value. + A deserialized value. - + - Gets a member map. + Merges the new BsonSerializationInfo by taking its properties and concatenating its ElementName. - The member type. - A lambda expression specifying the member. - The member map. + The new info. + A new BsonSerializationInfo. - + - Creates a creator map and adds it to the class map. + Serializes the value. - Lambda expression specifying the creator code and parameters to use. - The member map. + The value. + The serialized value. - + - Creates a member map for the extra elements field and adds it to the class map. + Serializes the values. - The member type. - A lambda expression specifying the extra elements field. - The member map. + The values. + The serialized values. - + - Creates a member map for the extra elements member and adds it to the class map. + Creates a new BsonSerializationInfo object using the elementName provided and copying all other attributes. - The member type. - A lambda expression specifying the extra elements member. - The member map. + Name of the element. + A new BsonSerializationInfo. - + - Creates a member map for the extra elements property and adds it to the class map. + Base class for serialization providers. - The member type. - A lambda expression specifying the extra elements property. - The member map. - + + + + + + + - Creates a member map for a field and adds it to the class map. + Creates the serializer from a serializer type definition and type arguments. - The member type. - A lambda expression specifying the field. - The member map. + The serializer type definition. + The type arguments. + A serializer. - + - Creates a member map for the Id field and adds it to the class map. + Creates the serializer from a serializer type definition and type arguments. - The member type. - A lambda expression specifying the Id field. - The member map. + The serializer type definition. + The type arguments. + The serializer registry. + + A serializer. + - + - Creates a member map for the Id member and adds it to the class map. + Creates the serializer. - The member type. - A lambda expression specifying the Id member. - The member map. + The serializer type. + A serializer. - + - Creates a member map for the Id property and adds it to the class map. + Creates the serializer. - The member type. - A lambda expression specifying the Id property. - The member map. + The serializer type. + The serializer registry. + + A serializer. + - + - Creates a member map and adds it to the class map. + A static class that represents the BSON serialization functionality. - The member type. - A lambda expression specifying the member. - The member map. - + - Creates a member map for the Id property and adds it to the class map. + Gets the serializer registry. - The member type. - A lambda expression specifying the Id property. - The member map. - + - Removes the member map for a field from the class map. + Gets or sets whether to use the NullIdChecker on reference Id types that don't have an IdGenerator registered. - The member type. - A lambda expression specifying the field. - + + + Gets or sets whether to use the ZeroIdChecker on value Id types that don't have an IdGenerator registered. + + + + + Deserializes an object from a BsonDocument. + + The nominal type of the object. + The BsonDocument. + The configurator. + A deserialized value. + + + + Deserializes a value. + + The nominal type of the object. + The BsonReader. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON byte array. + + The nominal type of the object. + The BSON byte array. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON Stream. + + The nominal type of the object. + The BSON Stream. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON string. + + The nominal type of the object. + The JSON string. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON TextReader. + + The nominal type of the object. + The JSON TextReader. + The configurator. + A deserialized value. + + + + Deserializes an object from a BsonDocument. + + The BsonDocument. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes a value. + + The BsonReader. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON byte array. + + The BSON byte array. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a BSON Stream. + + The BSON Stream. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON string. + + The JSON string. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Deserializes an object from a JSON TextReader. + + The JSON TextReader. + The nominal type of the object. + The configurator. + A deserialized value. + + + + Returns whether the given type has any discriminators registered for any of its subclasses. + + A Type. + True if the type is discriminated. + + + + Looks up the actual type of an object to be deserialized. + + The nominal type of the object. + The discriminator. + The actual type of the object. + + + + Looks up the discriminator convention for a type. + + The type. + A discriminator convention. + + + + Looks up an IdGenerator. + + The Id type. + An IdGenerator for the Id type. + + + + Looks up a serializer for a Type. + + The type. + A serializer for type T. + + + + Looks up a serializer for a Type. + + The Type. + A serializer for the Type. + + + + Registers the discriminator for a type. + + The type. + The discriminator. + + + + Registers the discriminator convention for a type. + + Type type. + The discriminator convention. + + + + Registers a generic serializer definition for a generic type. + + The generic type. + The generic serializer definition. + + + + Registers an IdGenerator for an Id Type. + + The Id Type. + The IdGenerator for the Id Type. + + + + Registers a serialization provider. + + The serialization provider. + + + + Registers a serializer for a type. + + The type. + The serializer. + + + + Registers a serializer for a type. + + The type. + The serializer. + + + + Serializes a value. + + The nominal type of the object. + The BsonWriter. + The object. + The serialization context configurator. + The serialization args. + + - Removes a member map from the class map. + Serializes a value. - The member type. - A lambda expression specifying the member. + The BsonWriter. + The nominal type of the object. + The object. + The serialization context configurator. + The serialization args. - + - Removes a member map for a property from the class map. + Default, global implementation of an . - The member type. - A lambda expression specifying the property. - + - Represents the class map serialization provider. + Initializes a new instance of the class. - - - - + - Represents a mapping to a delegate and its arguments. + Gets the serializer for the specified . + The type. + + The serializer. + - + - Initializes a new instance of the BsonCreatorMap class. + Gets the serializer for the specified . - The class map. - The member info (null if none). - The delegate. + + + The serializer. + - + - Gets the arguments. + Registers the serializer. + The type. + The serializer. - + - Gets the class map that this creator map belongs to. + Registers the serialization provider. This behaves like a stack, so the + last provider registered is the first provider consulted. + The serialization provider. - + - Gets the delegeate + Provides serializers for collections. - + + + + - Gets the element names. + A helper class used to create and compile delegates for creator maps. - + - Gets the member info (null if none). + Creates and compiles a delegate that calls a constructor. + The constructor. + A delegate that calls the constructor. - + - Freezes the creator map. + Creates and compiles a delegate from a lambda expression. + The type of the class. + The lambda expression. + The arguments for the delegate's parameters. + A delegate. - + - Gets whether there is a default value for a missing element. + Creates and compiles a delegate that calls a factory method. - The element name. - True if there is a default value for element name; otherwise, false. + the method. + A delegate that calls the factory method. - + - Sets the arguments for the creator map. + Visits a MemberExpression. - The arguments. - The creator map. + The MemberExpression. + The MemberExpression (possibly modified). - + - Sets the arguments for the creator map. + Visits a ParameterExpression. - The argument names. - The creator map. + The ParameterExpression. + The ParameterExpression (possibly modified). - + - Represents args common to all serializers. + Provides a serializer for interfaces. - + + + + - Gets or sets the nominal type. + An abstract base class for an Expression visitor. - - The nominal type. - - + - Represents all the contextual information needed by a serializer to deserialize a value. + Initializes a new instance of the ExpressionVisitor class. - + - Gets a value indicating whether to allow duplicate element names. + Visits an Expression. - - true if duplicate element names shoud be allowed; otherwise, false. - + The Expression. + The Expression (posibly modified). - + - Gets the dynamic array serializer. + Visits an Expression list. - - The dynamic array serializer. - + The Expression list. + The Expression list (possibly modified). - + - Gets the dynamic document serializer. + Visits a BinaryExpression. - - The dynamic document serializer. - + The BinaryExpression. + The BinaryExpression (possibly modified). - + - Gets the reader. + Visits a ConditionalExpression. - - The reader. - + The ConditionalExpression. + The ConditionalExpression (possibly modified). - + - Creates a root context. + Visits a ConstantExpression. - The reader. - The configurator. - - A root context. - + The ConstantExpression. + The ConstantExpression (possibly modified). - + - Creates a new context with some values changed. + Visits an ElementInit. - The configurator. - - A new context. - + The ElementInit. + The ElementInit (possibly modified). - + - Represents a builder for a BsonDeserializationContext. + Visits an ElementInit list. + The ElementInit list. + The ElementInit list (possibly modified). - + - Gets or sets a value indicating whether to allow duplicate element names. + Visits an InvocationExpression. - - true if duplicate element names should be allowed; otherwise, false. - + The InvocationExpression. + The InvocationExpression (possibly modified). - + - Gets or sets the dynamic array serializer. + Visits a LambdaExpression. - - The dynamic array serializer. - + The LambdaExpression. + The LambdaExpression (possibly modified). - + - Gets or sets the dynamic document serializer. + Visits a ListInitExpression. - - The dynamic document serializer. - + The ListInitExpression. + The ListInitExpression (possibly modified). - + - Gets the reader. + Visits a MemberExpression. - - The reader. - + The MemberExpression. + The MemberExpression (possibly modified). - + - Builds the BsonDeserializationContext instance. + Visits a MemberAssignment. - A BsonDeserializationContext. + The MemberAssignment. + The MemberAssignment (possibly modified). - + - A class backed by a BsonDocument. + Visits a MemberBinding. + The MemberBinding. + The MemberBinding (possibly modified). - + - Initializes a new instance of the class. + Visits a MemberBinding list. - The serializer. + The MemberBinding list. + The MemberBinding list (possibly modified). - + - Initializes a new instance of the class. + Visits a MemberInitExpression. - The backing document. - The serializer. + The MemberInitExpression. + The MemberInitExpression (possibly modified). - + - Gets the backing document. + Visits a MemberListBinding. + The MemberListBinding. + The MemberListBinding (possibly modified). - + - Gets the value from the backing document. + Visits a MemberMemberBinding. - The type of the value. - The member name. - The value. + The MemberMemberBinding. + The MemberMemberBinding (possibly modified). - + - Gets the value from the backing document. + Visits a MethodCallExpression. - The type of the value. - The member name. - The default value. - The value. + The MethodCallExpression. + The MethodCallExpression (possibly modified). - + - Sets the value in the backing document. + Visits a NewExpression. - The member name. - The value. + The NewExpression. + The NewExpression (possibly modified). - + - Represents the mapping between a field or property and a BSON element. + Visits a NewArrayExpression. + The NewArrayExpression. + The NewArrayExpression (possibly modified). - + - Initializes a new instance of the BsonMemberMap class. + Visits a ParameterExpression. - The class map this member map belongs to. - The member info. + The ParameterExpression. + The ParameterExpression (possibly modified). - + - Gets the class map that this member map belongs to. + Visits a TypeBinaryExpression. + The TypeBinaryExpression. + The TypeBinaryExpression (possibly modified). - + - Gets the name of the member. + Visits a UnaryExpression. + The UnaryExpression. + The UnaryExpression (possibly modified). - + - Gets the type of the member. + Contract for serializers to implement if they serialize an array of items. - + + + Tries to get the serialization info for the individual items of the array. + + The serialization information. + + true if the serialization info exists; otherwise false. + + + - Gets whether the member type is a BsonValue. + Represents a dictionary serializer that can be used in LINQ queries. - + - Gets the name of the element. + Gets the dictionary representation. + + The dictionary representation. + - + - Gets the serialization order. + Gets the key serializer. + + The key serializer. + - + - Gets the member info. + Gets the value serializer. + + The value serializer. + - + - Gets the getter function. + Contract for composite serializers that contain a number of named serializers. - + - Gets the setter function. + Tries to get the serialization info for a member. + Name of the member. + The serialization information. + true if the serialization info exists; otherwise false. - + - Gets the Id generator. + Contract for serializers that can get and set Id values. - + - Gets whether a default value was specified. + Gets the document Id. + The document. + The Id. + The nominal type of the Id. + The IdGenerator for the Id type. + True if the document has an Id. - + - Gets whether an element is required for this member when deserialized. + Sets the document Id. + The document. + The Id. - + - Gets the method that will be called to determine whether the member should be serialized. + An interface implemented by a polymorphic serializer. - + - Gets whether default values should be ignored when serialized. + Gets a value indicating whether this serializer's discriminator is compatible with the object serializer. + + true if this serializer's discriminator is compatible with the object serializer; otherwise, false. + - + - Gets whether null values should be ignored when serialized. + An interface implemented by serialization providers. - + - Gets the default value. + Gets a serializer for a type. + The type. + A serializer. - + - Gets whether the member is readonly. + An interface implemented by serialization providers that are aware of registries. - Readonly indicates that the member is written to the database, but not read from the database. + This interface was added to preserve backward compatability (changing IBsonSerializationProvider would have been a backward breaking change). - - - Applies the default value to the member of an object. - - The object. - - + - Freezes this instance. + Gets a serializer for a type. + The type. + The serializer registry. + + A serializer. + - + - Gets the serializer. + An interface implemented by a serializer. - The serializer. - + - Resets the member map back to its initial state. + Gets the type of the value. - The member map. + + The type of the value. + - + - Sets the default value creator. + Deserializes a value. - The default value creator (note: the supplied delegate must be thread safe). - The member map. + The deserialization context. + The deserialization args. + A deserialized value. - + - Sets the default value. + Serializes a value. - The default value. - The member map. + The serialization context. + The serialization args. + The value. - + - Sets the name of the element. + An interface implemented by a serializer for values of type TValue. - The name of the element. - The member map. + The type that this serializer knows how to serialize. - + - Sets the Id generator. + Deserializes a value. - The Id generator. - The member map. + The deserialization context. + The deserialization args. + A deserialized value. - + - Sets whether default values should be ignored when serialized. + Serializes a value. - Whether default values should be ignored when serialized. - The member map. + The serialization context. + The serialization args. + The value. - + - Sets whether null values should be ignored when serialized. + Extensions methods for IBsonSerializer. - Wether null values should be ignored when serialized. - The member map. - + - Sets whether an element is required for this member when deserialized + Deserializes a value. - Whether an element is required for this member when deserialized - The member map. + The serializer. + The deserialization context. + A deserialized value. - + - Sets the serialization order. + Deserializes a value. - The serialization order. - The member map. + The type that this serializer knows how to serialize. + The serializer. + The deserialization context. + A deserialized value. - + - Sets the serializer. + Serializes a value. The serializer. - - The member map. - - serializer - serializer + The serialization context. + The value. - + - Sets the method that will be called to determine whether the member should be serialized. + Serializes a value. - The method. - The member map. + The type that this serializer knows how to serialize. + The serializer. + The serialization context. + The value. - + - Determines whether a value should be serialized + Converts a value to a BsonValue by serializing it. - The object. + The serializer. The value. - True if the value should be serialized. + The serialized value. - + - Provides serializers for BsonValue and its derivations. + Converts a value to a BsonValue by serializing it. + The type of the value. + The serializer. + The value. + The serialized value. - - - - + - Represents args common to all serializers. + A serializer registry. - + - Initializes a new instance of the struct. + Gets the serializer for the specified . - The nominal type. - Whether to serialize as the nominal type. - Whether to serialize the id first. + The type. + The serializer. - + - Gets or sets the nominal type. + Gets the serializer for the specified . - - The nominal type. - + + The serializer. - + - Gets or sets a value indicating whether to serialize the value as if it were an instance of the nominal type. + Represents a serializer that has a child serializer that configuration attributes can be forwarded to. - + - Gets or sets a value indicating whether to serialize the id first. + Gets the child serializer. + + The child serializer. + - + - Represents all the contextual information needed by a serializer to serialize a value. + Returns a serializer that has been reconfigured with the specified child serializer. + The child serializer. + The reconfigured serializer. - + - Gets a function that, when executed, will indicate whether the type - is a dynamic type. + Represents a serializer that has a DictionaryRepresentation property. - + - Gets the writer. + Gets the dictionary representation. - The writer. + The dictionary representation. - + - Creates a root context. + Returns a serializer that has been reconfigured with the specified dictionary representation. - The writer. - The serialization context configurator. - - A root context. - + The dictionary representation. + The reconfigured serializer. - + - Creates a new context with some values changed. + Represents a serializer that has a DictionaryRepresentation property. - The serialization context configurator. - - A new context. - + The type of the serializer. - + - Represents a builder for a BsonSerializationContext. + Returns a serializer that has been reconfigured with the specified dictionary representation. + The dictionary representation. + The reconfigured serializer. - + - Gets or sets the function used to determine if a type is a dynamic type. + An interface implemented by Id generators. - + - Gets the writer. + Generates an Id for a document. - - The writer. - + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. - + - Builds the BsonSerializationContext instance. + Tests whether an Id is empty. - A BsonSerializationContext. + The Id. + True if the Id is empty. - + - Represents the information needed to serialize a member. + Represents a serializer that has a Representation property. - + - Initializes a new instance of the BsonSerializationInfo class. + Gets the representation. - The element name. - The serializer. - The nominal type. + + The representation. + - + - Gets or sets the dotted element name. + Returns a serializer that has been reconfigured with the specified representation. + The representation. + The reconfigured serializer. - + - Gets or sets the serializer. + Represents a serializer that has a Representation property. + The type of the serializer. - + - Gets or sets the nominal type. + Returns a serializer that has been reconfigured with the specified representation. + The representation. + The reconfigured serializer. - + - Deserializes the value. + Represents a serializer that has a representation converter. - The value. - A deserialized value. - + - Merges the new BsonSerializationInfo by taking its properties and concatenating its ElementName. + Gets the converter. - The new info. - A new BsonSerializationInfo. + + The converter. + - + - Serializes the value. + Returns a serializer that has been reconfigured with the specified item serializer. - The value. - The serialized value. + The converter. + The reconfigured serializer. - + - Serializes the values. + Represents a serializer that has a representation converter. - The values. - The serialized values. + The type of the serializer. - + - Creates a new BsonSerializationInfo object using the elementName provided and copying all other attributes. + Returns a serializer that has been reconfigured with the specified item serializer. - Name of the element. - A new BsonSerializationInfo. + The converter. + The reconfigured serializer. - + - Base class for serialization providers. + Provides serializers for primitive types. - - - - + - - - Creates the serializer from a serializer type definition and type arguments. - - The serializer type definition. - The type arguments. - A serializer. - - + - Creates the serializer from a serializer type definition and type arguments. + Represents a serialization provider based on a mapping from value types to serializer types. - The serializer type definition. - The type arguments. - The serializer registry. - - A serializer. - - + - Creates the serializer. + Initializes a new instance of the class. - The serializer type. - A serializer. - - - Creates the serializer. - - The serializer type. - The serializer registry. - - A serializer. - + + - + - A static class that represents the BSON serialization functionality. + Registers the serializer mapping. + The type. + Type of the serializer. - + - Gets the serializer registry. + Supports using type names as discriminators. - + - Gets or sets whether to use the NullIdChecker on reference Id types that don't have an IdGenerator registered. + Resolves a type name discriminator. + The type name. + The type if type type name can be resolved; otherwise, null. - + - Gets or sets whether to use the ZeroIdChecker on value Id types that don't have an IdGenerator registered. + Gets a type name to be used as a discriminator (like AssemblyQualifiedName but shortened for common DLLs). + The type. + The type name. - + - Deserializes an object from a BsonDocument. + Specifies that this constructor should be used for creator-based deserialization. - The nominal type of the object. - The BsonDocument. - The configurator. - A deserialized value. - + - Deserializes a value. + Initializes a new instance of the BsonConstructorAttribute class. - The nominal type of the object. - The BsonReader. - The configurator. - A deserialized value. - + - Deserializes an object from a BSON byte array. + Initializes a new instance of the BsonConstructorAttribute class. - The nominal type of the object. - The BSON byte array. - The configurator. - A deserialized value. + The names of the members that the creator argument values come from. - + - Deserializes an object from a BSON Stream. + Gets the names of the members that the creator arguments values come from. - The nominal type of the object. - The BSON Stream. - The configurator. - A deserialized value. - + - Deserializes an object from a JSON string. + Applies a modification to the creator map. - The nominal type of the object. - The JSON string. - The configurator. - A deserialized value. + The creator map. - + - Deserializes an object from a JSON TextReader. + Specifies serialization options for a DateTime field or property. - The nominal type of the object. - The JSON TextReader. - The configurator. - A deserialized value. - + - Deserializes an object from a BsonDocument. + Initializes a new instance of the BsonDateTimeOptionsAttribute class. - The BsonDocument. - The nominal type of the object. - The configurator. - A deserialized value. - + - Deserializes a value. + Gets or sets whether the DateTime consists of a Date only. - The BsonReader. - The nominal type of the object. - The configurator. - A deserialized value. - + - Deserializes an object from a BSON byte array. + Gets or sets the DateTimeKind (Local, Unspecified or Utc). - The BSON byte array. - The nominal type of the object. - The configurator. - A deserialized value. - + - Deserializes an object from a BSON Stream. + Gets or sets the external representation. - The BSON Stream. - The nominal type of the object. - The configurator. - A deserialized value. - + - Deserializes an object from a JSON string. + Reconfigures the specified serializer by applying this attribute to it. - The JSON string. - The nominal type of the object. - The configurator. - A deserialized value. + The serializer. + A reconfigured serializer. - + - Deserializes an object from a JSON TextReader. + Specifies the default value for a field or property. - The JSON TextReader. - The nominal type of the object. - The configurator. - A deserialized value. - + - Returns whether the given type has any discriminators registered for any of its subclasses. + Initializes a new instance of the BsonDefaultValueAttribute class. - A Type. - True if the type is discriminated. + The default value. - + - Looks up the actual type of an object to be deserialized. + Gets the default value. - The nominal type of the object. - The discriminator. - The actual type of the object. - + - Looks up the discriminator convention for a type. + Gets or sets whether to serialize the default value. - The type. - A discriminator convention. - + - Looks up an IdGenerator. + Applies a modification to the member map. - The Id type. - An IdGenerator for the Id type. + The member map. - + - Looks up a serializer for a Type. + Specifies serialization options for a Dictionary field or property. - The type. - A serializer for type T. - + - Looks up a serializer for a Type. + Initializes a new instance of the BsonDictionaryOptionsAttribute class. - The Type. - A serializer for the Type. - + - Registers the discriminator for a type. + Initializes a new instance of the BsonDictionaryOptionsAttribute class. - The type. - The discriminator. + The representation to use for the Dictionary. - + - Registers the discriminator convention for a type. + Gets or sets the external representation. - Type type. - The discriminator convention. - + - Registers a generic serializer definition for a generic type. + Reconfigures the specified serializer by applying this attribute to it. - The generic type. - The generic serializer definition. + The serializer. + A reconfigured serializer. - + - Registers an IdGenerator for an Id Type. + Specifies the discriminator and related options for a class. - The Id Type. - The IdGenerator for the Id Type. - + - Registers a serialization provider. + Initializes a new instance of the BsonDiscriminatorAttribute class. - The serialization provider. - + - Registers a serializer for a type. + Initializes a new instance of the BsonDiscriminatorAttribute class. - The type. - The serializer. + The discriminator. - + - Registers a serializer for a type. + Gets the discriminator. - The type. - The serializer. - + - Serializes a value. + Gets or sets whether the discriminator is required. - The nominal type of the object. - The BsonWriter. - The object. - The serialization context configurator. - The serialization args. - + - Serializes a value. + Gets or sets whether this is a root class. - The BsonWriter. - The nominal type of the object. - The object. - The serialization context configurator. - The serialization args. - + - Default, global implementation of an . + Applies a modification to the class map. + The class map. - + - Initializes a new instance of the class. + Specifies the element name and related options for a field or property. - + - Gets the serializer for the specified . + Initializes a new instance of the BsonElementAttribute class. - The type. - - The serializer. - - + - Gets the serializer for the specified . + Initializes a new instance of the BsonElementAttribute class. - - - The serializer. - + The name of the element. - + - Registers the serializer. + Gets the element name. - The type. - The serializer. - + - Registers the serialization provider. This behaves like a stack, so the - last provider registered is the first provider consulted. + Gets the element serialization order. - The serialization provider. - + - Provides serializers for collections. + Applies a modification to the member map. + The member map. - - - - + - Convention pack for applying attributes. + Indicates that this property or field will be used to hold any extra elements found during deserialization. - + - Initializes a new instance of the class. + Applies a modification to the member map. + The member map. - + - Gets the instance. + Specifies that this factory method should be used for creator-based deserialization. - + - Gets the conventions. + Initializes a new instance of the BsonFactoryMethodAttribute class. - + - A convention that sets the element name the same as the member name with the first character lower cased. + Initializes a new instance of the BsonFactoryMethodAttribute class. + The names of the members that the creator argument values come from. - + - Applies a modification to the member map. + Gets the names of the members that the creator arguments values come from. - The member map. - + - Base class for a convention. + Applies a modification to the creator map. + The creator map. - + - Initializes a new instance of the ConventionBase class. + Specifies that this is the Id field or property. - + - Initializes a new instance of the ConventionBase class. + Initializes a new instance of the BsonIdAttribute class. - The name of the convention. - + - Gets the name of the convention. + Gets or sets the Id generator for the Id. - + - A mutable pack of conventions. + Gets or sets the Id element serialization order. - + - Initializes a new instance of the class. + Applies a modification to the member map. + The member map. - + - Gets the conventions. + Indicates that this field or property should be ignored when this class is serialized. - + - Adds the specified convention. + Specifies whether extra elements should be ignored when this class is deserialized. - The convention. - - + - Adds a class map convention created using the specified action upon a class map. + Initializes a new instance of the BsonIgnoreExtraElementsAttribute class. - The name of the convention. - The action the convention should take upon the class map. - + - Adds a member map convention created using the specified action upon a member map. + Initializes a new instance of the BsonIgnoreExtraElementsAttribute class. - The name of the convention. - The action the convention should take upon the member map. + Whether extra elements should be ignored when this class is deserialized. - + - Adds a post processing convention created using the specified action upon a class map. + Gets whether extra elements should be ignored when this class is deserialized. - The name of the convention. - The action the convention should take upon the class map. - + - Adds a range of conventions. + Gets whether extra elements should also be ignored when any class derived from this one is deserialized. - The conventions. - - + - Appends the conventions in another pack to the end of this pack. + Applies a modification to the class map. - The other pack. + The class map. - + - Gets an enumerator for the conventions. + Indicates whether a field or property equal to the default value should be ignored when serializing this class. - An enumerator. - + - Inserts the convention after another convention specified by the name. + Initializes a new instance of the BsonIgnoreIfDefaultAttribute class. - The name. - The convention. - + - Inserts the convention before another convention specified by the name. + Initializes a new instance of the BsonIgnoreIfDefaultAttribute class. - The name. - The convention. + Whether a field or property equal to the default value should be ignored when serializing this class. - + - Removes the named convention. + Gets whether a field or property equal to the default value should be ignored when serializing this class. - The name of the convention. - + - Represents a registry of conventions. + Applies a modification to the member map. + The member map. - + - Looks up the effective set of conventions that apply to a type. + Indicates whether a field or property equal to null should be ignored when serializing this class. - The type. - The conventions for that type. - + - Registers the conventions. + Initializes a new instance of the BsonIgnoreIfNullAttribute class. - The name. - The conventions. - The filter. - + - Removes the conventions specified by the given name. + Initializes a new instance of the BsonIgnoreIfNullAttribute class. - The name. - Removing a convention allows the removal of the special __defaults__ conventions - and the __attributes__ conventions for those who want to completely customize the - experience. + Whether a field or property equal to null should be ignored when serializing this class. - + - Runs the conventions against a BsonClassMap and its BsonMemberMaps. + Gets whether a field or property equal to null should be ignored when serializing this class. - + - Initializes a new instance of the class. + Applies a modification to the member map. - The conventions. + The member map. - + - Applies a modification to the class map. + Specifies the known types for this class (the derived classes). - The class map. - + - Convention pack of defaults. + Initializes a new instance of the BsonKnownTypesAttribute class. + One or more known types. - + - Initializes a new instance of the class. + Initializes a new instance of the BsonKnownTypesAttribute class. + A known types. - + - Gets the instance. + Gets a list of the known types. - + - Gets the conventions. + Applies a modification to the class map. + The class map. - + - A class map convention that wraps a delegate. + Specifies that the class's IdMember should be null. - + - Initializes a new instance of the class. + Applies the post processing attribute to the class map. - The name. - The delegate. + The class map. - + - Applies a modification to the class map. + Specifies the external representation and related options for this field or property. - The class map. - + - A member map convention that wraps a delegate. + Initializes a new instance of the BsonRepresentationAttribute class. + The external representation. - + - Initializes a new instance of the class. + Gets the external representation. - The name. - The delegate. - + - Applies a modification to the member map. + Gets or sets whether to allow overflow. - The member map. - + - A post processing convention that wraps a delegate. + Gets or sets whether to allow truncation. - + - Initializes a new instance of the class. + Reconfigures the specified serializer by applying this attribute to it. - The name. - The delegate. + The serializer. + A reconfigured serializer. - + - Applies a post processing modification to the class map. + Indicates that a field or property is required. - The class map. - + - A convention that allows you to set the Enum serialization representation + Applies a modification to the member map. + The member map. - + - Initializes a new instance of the class. + Abstract base class for serialization options attributes. - The serialization representation. 0 is used to detect representation - from the enum itself. - + - Gets the representation. + Initializes a new instance of the BsonSerializationOptionsAttribute class. - + Applies a modification to the member map. The member map. - + - Represents a discriminator convention where the discriminator is an array of all the discriminators provided by the class maps of the root class down to the actual type. + Reconfigures the specified serializer by applying this attribute to it. + The serializer. + A reconfigured serializer. + - + - Initializes a new instance of the HierarchicalDiscriminatorConvention class. + Specifies the type of the serializer to use for a class. - The element name. - + - Gets the discriminator value for an actual type. + Initializes a new instance of the BsonSerializerAttribute class. - The nominal type. - The actual type. - The discriminator value. - + - Represents a convention that applies to a BsonClassMap. + Initializes a new instance of the BsonSerializerAttribute class. + The type of the serializer to use for a class. - + - Applies a modification to the class map. + Gets or sets the type of the serializer to use for a class. - The class map. - + - Represents a convention. + Applies a modification to the member map. + The member map. - + - Gets the name of the convention. + Creates a serializer for a type based on the serializer type specified by the attribute. + The type that a serializer should be created for. + A serializer for the type. - + - Represents a grouping of conventions. + Specifies the external representation and related options for this field or property. - + - Gets the conventions. + Initializes a new instance of the BsonTimeSpanOptionsAttribute class. + The external representation. - + - Represents a convention that applies to a BsonCreatorMap. + Initializes a new instance of the BsonTimeSpanOptionsAttribute class. + The external representation. + The TimeSpanUnits. - + - Applies a modification to the creator map. + Gets the external representation. - The creator map. - + - Represents a discriminator convention. + Gets or sets the TimeSpanUnits. - + - Gets the discriminator element name. + Reconfigures the specified serializer by applying this attribute to it. + The serializer. + A reconfigured serializer. - + - Gets the actual type of an object by reading the discriminator from a BsonReader. + Indicates the usage restrictions for the attribute. - The reader. - The nominal type. - The actual type. - + - Gets the discriminator value for an actual type. + Initializes a new instance of the class. - The nominal type. - The actual type. - The discriminator value. - + - A convention that sets whether to ignore extra elements encountered during deserialization. + Gets or sets a value indicating whether the attribute this attribute applies to is allowed to be applied + to more than one member. - + - Initializes a new instance of the class. + Represents an attribute used to modify a class map. - Whether to ignore extra elements encountered during deserialization. - + - Applies a modification to the class map. + Applies the attribute to the class map. The class map. - + - A convention that sets whether to ignore default values during serialization. + Represents an attribute used to modify a creator map. - + - Initializes a new instance of the class. + Applies the attribute to the creator map. - Whether to ignore default values during serialization. + The creator map. - + - Applies a modification to the member map. + Represents an attribute used to modify a member map. - The member map. - + - A convention that sets whether to ignore nulls during serialization. + Applies the attribute to the member map. + The member map. - + - Initializes a new instance of the class. + Represents an attribute used to post process a class map. - Whether to ignore nulls during serialization. - + - Applies a modification to the member map. + Applies the post processing attribute to the class map. - The member map. + The class map. - + - Represents a convention that applies to a BsonMemberMap. + Convention pack for applying attributes. - + - Applies a modification to the member map. + Initializes a new instance of the class. - The member map. - + - Maps a fully immutable type. This will include anonymous types. + Gets the instance. - - - - + - Represents a post processing convention that applies to a BsonClassMap. + Gets the conventions. - + - Applies a post processing modification to the class map. + A convention that sets the element name the same as the member name with the first character lower cased. - The class map. - + - A convention that looks up an id generator for the id member. + Applies a modification to the member map. + The member map. - + - Applies a post processing modification to the class map. + Base class for a convention. - The class map. - + - A convention that sets the default value for members of a given type. + Initializes a new instance of the ConventionBase class. - + - Initializes a new instance of the class. + Initializes a new instance of the ConventionBase class. - The type of the member. - The default value for members of this type. + The name of the convention. - + - Applies a modification to the member map. + Gets the name of the convention. - The member map. - + - A convention that sets the element name the same as the member name. + A mutable pack of conventions. - + - Applies a modification to the member map. + Initializes a new instance of the class. - The member map. - + - A convention that finds the extra elements member by name (and that is also of type or ). + Gets the conventions. - + - Initializes a new instance of the NamedExtraElementsMemberConvention class. + Adds the specified convention. - The name of the extra elements member. + The convention. + - + - Initializes a new instance of the class. + Adds a class map convention created using the specified action upon a class map. - The names. + The name of the convention. + The action the convention should take upon the class map. - + - Initializes a new instance of the class. + Adds a member map convention created using the specified action upon a member map. - The names. - The member types. + The name of the convention. + The action the convention should take upon the member map. - + - Initializes a new instance of the class. + Adds a post processing convention created using the specified action upon a class map. - The names. - The binding flags. + The name of the convention. + The action the convention should take upon the class map. - + - Initializes a new instance of the class. + Adds a range of conventions. - The names. - The member types. - The binding flags. + The conventions. - + - Applies a modification to the class map. + Appends the conventions in another pack to the end of this pack. - The class map. + The other pack. - + - A convention that finds the id member by name. + Gets an enumerator for the conventions. + An enumerator. - + - Initializes a new instance of the class. + Inserts the convention after another convention specified by the name. - The names. + The name. + The convention. - + - Initializes a new instance of the class. + Inserts the convention before another convention specified by the name. - The names. + The name. + The convention. - + - Initializes a new instance of the class. + Removes the named convention. - The names. - The member types. + The name of the convention. - + - Initializes a new instance of the class. + Represents a registry of conventions. - The names. - The binding flags. - + - Initializes a new instance of the class. + Looks up the effective set of conventions that apply to a type. - The names. - The member types. - The binding flags. - + The type. + The conventions for that type. - + - Applies a modification to the class map. + Registers the conventions. - The class map. + The name. + The conventions. + The filter. - + - A convention that uses the names of the creator parameters to find the matching members. + Removes the conventions specified by the given name. + The name. + Removing a convention allows the removal of the special __defaults__ conventions + and the __attributes__ conventions for those who want to completely customize the + experience. - + - Applies a modification to the creator map. + Runs the conventions against a BsonClassMap and its BsonMemberMaps. - The creator map. - + - A convention that sets a class's IdMember to null. + Initializes a new instance of the class. + The conventions. - + - Applies a post processing modification to the class map. + Applies a modification to the class map. The class map. - + - Represents the object discriminator convention. + Convention pack of defaults. - + - Initializes a new instance of the ObjectDiscriminatorConvention class. + Initializes a new instance of the class. - The element name. - + - Gets an instance of the ObjectDiscriminatorConvention. + Gets the instance. - + - Gets the discriminator element name. + Gets the conventions. - + - Gets the actual type of an object by reading the discriminator from a BsonReader. + A class map convention that wraps a delegate. - The reader. - The nominal type. - The actual type. - + - Gets the discriminator value for an actual type. + Initializes a new instance of the class. - The nominal type. - The actual type. - The discriminator value. + The name. + The delegate. - + - A convention that finds readable and writeable members and adds them to the class map. + Applies a modification to the class map. + The class map. - + - Initializes a new instance of the class. + A member map convention that wraps a delegate. - + - Initializes a new instance of the class. + Initializes a new instance of the class. - The member types. + The name. + The delegate. - + - Initializes a new instance of the class. + Applies a modification to the member map. - The binding flags. + The member map. - + - Initializes a new instance of the class. + A post processing convention that wraps a delegate. - The member types. - The binding flags. - + - Applies a modification to the class map. + Initializes a new instance of the class. + + The name. + The delegate. + + + + Applies a post processing modification to the class map. The class map. - + - A convention that resets a class map (resetting any changes that earlier conventions may have applied). + A convention that allows you to set the Enum serialization representation - + - Applies a modification to the class map. + Initializes a new instance of the class. - The class map. + The serialization representation. 0 is used to detect representation + from the enum itself. - + - A convention that resets class members (resetting any changes that earlier conventions may have applied). + Gets the representation. - + Applies a modification to the member map. The member map. - + - Represents a discriminator convention where the discriminator is provided by the class map of the actual type. + Represents a discriminator convention where the discriminator is an array of all the discriminators provided by the class maps of the root class down to the actual type. - + - Initializes a new instance of the ScalarDiscriminatorConvention class. + Initializes a new instance of the HierarchicalDiscriminatorConvention class. The element name. - + Gets the discriminator value for an actual type. @@ -15280,546 +15249,474 @@ The actual type. The discriminator value. - + - Represents the standard discriminator conventions (see ScalarDiscriminatorConvention and HierarchicalDiscriminatorConvention). + Represents a convention that applies to a BsonClassMap. - + - Initializes a new instance of the StandardDiscriminatorConvention class. + Applies a modification to the class map. - The element name. + The class map. - + - Gets an instance of the ScalarDiscriminatorConvention. + Represents a convention. - + - Gets an instance of the HierarchicalDiscriminatorConvention. + Gets the name of the convention. - + - Gets the discriminator element name. + Represents a grouping of conventions. - + - Gets the actual type of an object by reading the discriminator from a BsonReader. + Gets the conventions. - The reader. - The nominal type. - The actual type. - + - Gets the discriminator value for an actual type. + Represents a convention that applies to a BsonCreatorMap. - The nominal type. - The actual type. - The discriminator value. - + - A convention that sets the id generator for a string member with a BSON representation of ObjectId. + Applies a modification to the creator map. + The creator map. - + - Applies a post processing modification to the class map. + Represents a discriminator convention. - The class map. - + - A helper class used to create and compile delegates for creator maps. + Gets the discriminator element name. - + - Creates and compiles a delegate that calls a constructor. + Gets the actual type of an object by reading the discriminator from a BsonReader. - The constructor. - A delegate that calls the constructor. + The reader. + The nominal type. + The actual type. - + - Creates and compiles a delegate from a lambda expression. + Gets the discriminator value for an actual type. - The type of the class. - The lambda expression. - The arguments for the delegate's parameters. - A delegate. + The nominal type. + The actual type. + The discriminator value. - + - Creates and compiles a delegate that calls a factory method. + A convention that sets whether to ignore extra elements encountered during deserialization. - the method. - A delegate that calls the factory method. - + - Visits a MemberExpression. + Initializes a new instance of the class. - The MemberExpression. - The MemberExpression (possibly modified). + Whether to ignore extra elements encountered during deserialization. - + - Visits a ParameterExpression. + Applies a modification to the class map. - The ParameterExpression. - The ParameterExpression (possibly modified). + The class map. - + - Provides a serializer for interfaces. + A convention that sets whether to ignore default values during serialization. - - + + + Initializes a new instance of the class. + + Whether to ignore default values during serialization. - + - An abstract base class for an Expression visitor. + Applies a modification to the member map. + The member map. - + - Initializes a new instance of the ExpressionVisitor class. + A convention that sets whether to ignore nulls during serialization. - + - Visits an Expression. + Initializes a new instance of the class. - The Expression. - The Expression (posibly modified). + Whether to ignore nulls during serialization. - + - Visits an Expression list. + Applies a modification to the member map. - The Expression list. - The Expression list (possibly modified). + The member map. - + - Visits a BinaryExpression. + Represents a convention that applies to a BsonMemberMap. - The BinaryExpression. - The BinaryExpression (possibly modified). - + - Visits a ConditionalExpression. + Applies a modification to the member map. - The ConditionalExpression. - The ConditionalExpression (possibly modified). + The member map. - + - Visits a ConstantExpression. + Maps a fully immutable type. This will include anonymous types. - The ConstantExpression. - The ConstantExpression (possibly modified). - + + + + - Visits an ElementInit. + Represents a post processing convention that applies to a BsonClassMap. - The ElementInit. - The ElementInit (possibly modified). - + - Visits an ElementInit list. + Applies a post processing modification to the class map. - The ElementInit list. - The ElementInit list (possibly modified). + The class map. - + - Visits an InvocationExpression. + A convention that looks up an id generator for the id member. - The InvocationExpression. - The InvocationExpression (possibly modified). - + - Visits a LambdaExpression. + Applies a post processing modification to the class map. - The LambdaExpression. - The LambdaExpression (possibly modified). + The class map. - + - Visits a ListInitExpression. + A convention that sets the default value for members of a given type. - The ListInitExpression. - The ListInitExpression (possibly modified). - + - Visits a MemberExpression. + Initializes a new instance of the class. - The MemberExpression. - The MemberExpression (possibly modified). + The type of the member. + The default value for members of this type. - + - Visits a MemberAssignment. + Applies a modification to the member map. - The MemberAssignment. - The MemberAssignment (possibly modified). + The member map. - + - Visits a MemberBinding. + A convention that sets the element name the same as the member name. - The MemberBinding. - The MemberBinding (possibly modified). - + - Visits a MemberBinding list. + Applies a modification to the member map. - The MemberBinding list. - The MemberBinding list (possibly modified). + The member map. - + - Visits a MemberInitExpression. + A convention that finds the extra elements member by name (and that is also of type or ). - The MemberInitExpression. - The MemberInitExpression (possibly modified). - + - Visits a MemberListBinding. + Initializes a new instance of the NamedExtraElementsMemberConvention class. - The MemberListBinding. - The MemberListBinding (possibly modified). + The name of the extra elements member. - + - Visits a MemberMemberBinding. + Initializes a new instance of the class. - The MemberMemberBinding. - The MemberMemberBinding (possibly modified). + The names. - + - Visits a MethodCallExpression. + Initializes a new instance of the class. - The MethodCallExpression. - The MethodCallExpression (possibly modified). + The names. + The member types. - + - Visits a NewExpression. + Initializes a new instance of the class. - The NewExpression. - The NewExpression (possibly modified). + The names. + The binding flags. - + - Visits a NewArrayExpression. + Initializes a new instance of the class. - The NewArrayExpression. - The NewArrayExpression (possibly modified). + The names. + The member types. + The binding flags. + - + - Visits a ParameterExpression. + Applies a modification to the class map. - The ParameterExpression. - The ParameterExpression (possibly modified). + The class map. - + - Visits a TypeBinaryExpression. + A convention that finds the id member by name. - The TypeBinaryExpression. - The TypeBinaryExpression (possibly modified). - + - Visits a UnaryExpression. + Initializes a new instance of the class. - The UnaryExpression. - The UnaryExpression (possibly modified). + The names. - + - Contract for serializers to implement if they serialize an array of items. + Initializes a new instance of the class. + The names. - - - Tries to get the serialization info for the individual items of the array. - - The serialization information. - - true if the serialization info exists; otherwise false. - + + + Initializes a new instance of the class. + + The names. + The member types. - + - Represents a dictionary serializer that can be used in LINQ queries. + Initializes a new instance of the class. + The names. + The binding flags. - + - Gets the dictionary representation. + Initializes a new instance of the class. - - The dictionary representation. - + The names. + The member types. + The binding flags. + - + - Gets the key serializer. + Applies a modification to the class map. - - The key serializer. - + The class map. - + - Gets the value serializer. + A convention that uses the names of the creator parameters to find the matching members. - - The value serializer. - - + - Contract for composite serializers that contain a number of named serializers. + Applies a modification to the creator map. + The creator map. - + - Tries to get the serialization info for a member. + A convention that sets a class's IdMember to null. - Name of the member. - The serialization information. - true if the serialization info exists; otherwise false. - + - Contract for serializers that can get and set Id values. + Applies a post processing modification to the class map. + The class map. - + - Gets the document Id. + Represents the object discriminator convention. - The document. - The Id. - The nominal type of the Id. - The IdGenerator for the Id type. - True if the document has an Id. - + - Sets the document Id. + Initializes a new instance of the ObjectDiscriminatorConvention class. - The document. - The Id. + The element name. - + - An interface implemented by a polymorphic serializer. + Gets an instance of the ObjectDiscriminatorConvention. - + - Gets a value indicating whether this serializer's discriminator is compatible with the object serializer. + Gets the discriminator element name. - - true if this serializer's discriminator is compatible with the object serializer; otherwise, false. - - + - An interface implemented by serialization providers. + Gets the actual type of an object by reading the discriminator from a BsonReader. + The reader. + The nominal type. + The actual type. - + - Gets a serializer for a type. + Gets the discriminator value for an actual type. - The type. - A serializer. + The nominal type. + The actual type. + The discriminator value. - + - An interface implemented by serialization providers that are aware of registries. + A convention that finds readable and writeable members and adds them to the class map. - - This interface was added to preserve backward compatability (changing IBsonSerializationProvider would have been a backward breaking change). - - + - Gets a serializer for a type. + Initializes a new instance of the class. - The type. - The serializer registry. - - A serializer. - - + - An interface implemented by a serializer. + Initializes a new instance of the class. + The member types. - + - Gets the type of the value. + Initializes a new instance of the class. - - The type of the value. - + The binding flags. - + - Deserializes a value. + Initializes a new instance of the class. - The deserialization context. - The deserialization args. - A deserialized value. + The member types. + The binding flags. - + - Serializes a value. + Applies a modification to the class map. - The serialization context. - The serialization args. - The value. + The class map. - + - An interface implemented by a serializer for values of type TValue. + A convention that resets a class map (resetting any changes that earlier conventions may have applied). - The type that this serializer knows how to serialize. - + - Deserializes a value. + Applies a modification to the class map. - The deserialization context. - The deserialization args. - A deserialized value. + The class map. - + - Serializes a value. + A convention that resets class members (resetting any changes that earlier conventions may have applied). - The serialization context. - The serialization args. - The value. - + - Extensions methods for IBsonSerializer. + Applies a modification to the member map. + The member map. - + - Deserializes a value. + Represents a discriminator convention where the discriminator is provided by the class map of the actual type. - The serializer. - The deserialization context. - A deserialized value. - + - Deserializes a value. + Initializes a new instance of the ScalarDiscriminatorConvention class. - The type that this serializer knows how to serialize. - The serializer. - The deserialization context. - A deserialized value. + The element name. - + - Serializes a value. + Gets the discriminator value for an actual type. - The serializer. - The serialization context. - The value. + The nominal type. + The actual type. + The discriminator value. - + - Serializes a value. + Represents the standard discriminator conventions (see ScalarDiscriminatorConvention and HierarchicalDiscriminatorConvention). - The type that this serializer knows how to serialize. - The serializer. - The serialization context. - The value. - + - Converts a value to a BsonValue by serializing it. + Initializes a new instance of the StandardDiscriminatorConvention class. - The serializer. - The value. - The serialized value. + The element name. - + - Converts a value to a BsonValue by serializing it. + Gets an instance of the ScalarDiscriminatorConvention. - The type of the value. - The serializer. - The value. - The serialized value. - + - A serializer registry. + Gets an instance of the HierarchicalDiscriminatorConvention. - + - Gets the serializer for the specified . + Gets the discriminator element name. - The type. - The serializer. - + - Gets the serializer for the specified . + Gets the actual type of an object by reading the discriminator from a BsonReader. - - The serializer. + The reader. + The nominal type. + The actual type. - + - Represents a serializer that has a child serializer that configuration attributes can be forwarded to. + Gets the discriminator value for an actual type. + The nominal type. + The actual type. + The discriminator value. - + - Gets the child serializer. + A convention that sets the id generator for a string member with a BSON representation of ObjectId. - - The child serializer. - - + - Returns a serializer that has been reconfigured with the specified child serializer. + Applies a post processing modification to the class map. - The child serializer. - The reconfigured serializer. + The class map. @@ -16045,98 +15942,12 @@ Initializes a new instance of the NullIdChecker class. - - - Gets an instance of NullIdChecker. - - - - - Generates an Id for a document. - - The container of the document (will be a MongoCollection when called from the C# driver). - The document. - An Id. - - - - Tests whether an Id is empty. - - The Id. - True if the Id is empty. - - - - Represents an Id generator for ObjectIds. - - - - - Initializes a new instance of the ObjectIdGenerator class. - - - - - Gets an instance of ObjectIdGenerator. - - - - - Generates an Id for a document. - - The container of the document (will be a MongoCollection when called from the C# driver). - The document. - An Id. - - - - Tests whether an Id is empty. - - The Id. - True if the Id is empty. - - - - Represents an Id generator for ObjectIds represented internally as strings. - - - - - Initializes a new instance of the StringObjectIdGenerator class. - - - - - Gets an instance of StringObjectIdGenerator. - - - - - Generates an Id for a document. - - The container of the document (will be a MongoCollection when called from the C# driver). - The document. - An Id. - - - - Tests whether an Id is empty. - - The Id. - True if the Id is empty. - - - - Represents an Id generator that only checks that the Id is not all zeros. - - The type of the Id. - - + - Initializes a new instance of the ZeroIdChecker class. + Gets an instance of NullIdChecker. - + Generates an Id for a document. @@ -16144,52 +15955,29 @@ The document. An Id. - + Tests whether an Id is empty. The Id. True if the Id is empty. - - - Represents a serializer that has a DictionaryRepresentation property. - - - - - Gets the dictionary representation. - - - The dictionary representation. - - - - - Returns a serializer that has been reconfigured with the specified dictionary representation. - - The dictionary representation. - The reconfigured serializer. - - + - Represents a serializer that has a DictionaryRepresentation property. + Represents an Id generator for ObjectIds. - The type of the serializer. - + - Returns a serializer that has been reconfigured with the specified dictionary representation. + Initializes a new instance of the ObjectIdGenerator class. - The dictionary representation. - The reconfigured serializer. - + - An interface implemented by Id generators. + Gets an instance of ObjectIdGenerator. - + Generates an Id for a document. @@ -16197,78 +15985,68 @@ The document. An Id. - + Tests whether an Id is empty. The Id. True if the Id is empty. - - - Represents a serializer that has a Representation property. - - - + - Gets the representation. + Represents an Id generator for ObjectIds represented internally as strings. - - The representation. - - + - Returns a serializer that has been reconfigured with the specified representation. + Initializes a new instance of the StringObjectIdGenerator class. - The representation. - The reconfigured serializer. - + - Represents a serializer that has a Representation property. + Gets an instance of StringObjectIdGenerator. - The type of the serializer. - + - Returns a serializer that has been reconfigured with the specified representation. + Generates an Id for a document. - The representation. - The reconfigured serializer. + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. - + - Represents a serializer that has a representation converter. + Tests whether an Id is empty. + The Id. + True if the Id is empty. - + - Gets the converter. + Represents an Id generator that only checks that the Id is not all zeros. - - The converter. - + The type of the Id. - + - Returns a serializer that has been reconfigured with the specified item serializer. + Initializes a new instance of the ZeroIdChecker class. - The converter. - The reconfigured serializer. - + - Represents a serializer that has a representation converter. + Generates an Id for a document. - The type of the serializer. + The container of the document (will be a MongoCollection when called from the C# driver). + The document. + An Id. - + - Returns a serializer that has been reconfigured with the specified item serializer. + Tests whether an Id is empty. - The converter. - The reconfigured serializer. + The Id. + True if the Id is empty. @@ -16770,14 +16548,6 @@ Use nanoseconds as the units. - - - Provides serializers for primitive types. - - - - - Represents a serializer for an abstract class. @@ -18477,8 +18247,11 @@ The value serializer. The reconfigured serializer. - - + + + Creates the instance. + + The instance. @@ -18634,25 +18407,12 @@ The serialization args. The object. - - - Creates an accumulator. - - The accumulator. - Creates the instance. The instance. - - - Finalizes an accumulator. - - The accumulator to finalize - The instance. - Represents a serializer for Interfaces. @@ -18856,30 +18616,6 @@ The value. true if the member should be serialized; otherwise false. - - - A serializer that serializes a document and appends elements to the end of it. - - The type of the document. - - - - - Initializes a new instance of the class. - - The document serializer. - The elements to append. - The writer settings configurator. - - - - - - - - - - Represents a serializer for a class that implements IEnumerable. @@ -20280,69 +20016,6 @@ The accumulator. The final result. - - - Represents a serializer for a class that implements . - - The type of the dictionary. - The type of the key. - The type of the value. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The dictionary representation. - - - - Initializes a new instance of the class. - - The dictionary representation. - The key serializer. - The value serializer. - - - - Returns a serializer that has been reconfigured with the specified dictionary representation. - - The dictionary representation. - The reconfigured serializer. - - - - Returns a serializer that has been reconfigured with the specified dictionary representation and key value serializers. - - The dictionary representation. - The key serializer. - The value serializer. - The reconfigured serializer. - - - - Returns a serializer that has been reconfigured with the specified key serializer. - - The key serializer. - The reconfigured serializer. - - - - Returns a serializer that has been reconfigured with the specified value serializer. - - The value serializer. - The reconfigured serializer. - - - - - - - Represents a serializer for SBytes. @@ -21921,6 +21594,14 @@ Initializes a new instance of the class. + + + Deserializes a value. + + The deserialization context. + The deserialization args. + A deserialized value. + Tries to get the serialization info for a member. @@ -21931,8 +21612,13 @@ true if the serialization info exists; otherwise false. - - + + + Serializes a value. + + The serialization context. + The serialization args. + The object. @@ -21942,9 +21628,6 @@ The element name. The serializer. - - - Creates the instance. @@ -21952,44 +21635,5 @@ The backing document. An instance of TClass. - - - Represents a serialization provider based on a mapping from value types to serializer types. - - - - - Initializes a new instance of the class. - - - - - - - - Registers the serializer mapping. - - The type. - Type of the serializer. - - - - Supports using type names as discriminators. - - - - - Resolves a type name discriminator. - - The type name. - The type if type type name can be resolved; otherwise, null. - - - - Gets a type name to be used as a discriminator (like AssemblyQualifiedName but shortened for common DLLs). - - The type. - The type name. - diff --git a/packages/MongoDB.Bson.2.8.1/.signature.p7s b/packages/MongoDB.Bson.2.8.1/.signature.p7s deleted file mode 100644 index 0eae6af654651edd08b0cb2aad5c1670737d5edf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9475 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 z 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 }kTn)_Jy=lge5&v<`+M)l`I(x3b8zO(&V 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 ^?ni^u#!u*Yld__%^nz&v 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

GW6wT*U!z!^Fmji%`#73!l?&} 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%0DJ7H5C@wdCx3S1-+Dt#NBR%N)Hl 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⋙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 z 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≷% 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

A1R48R|xvG_%_tBXJiDcgyUK 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

S0O{ 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