<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 22:04:53 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[CXX-2097] BSON-serializer functions for user-defined objects</title>
                <link>https://jira.mongodb.org/browse/CXX-2097</link>
                <project id="11980" key="CXX">C++ Driver</project>
                    <description>&lt;p&gt;Like the epic &lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-1812&quot; title=&quot;Codec support for POJOs&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-1812&quot;&gt;&lt;del&gt;JAVA-1812&lt;/del&gt;&lt;/a&gt;, we should consider providing an interface that allows users to define serializer functions that convert ordinary C++ objects to BSON objects.&lt;/p&gt;

&lt;p&gt;We&apos;d have to allow both internal and external functions (relative to the namespace of the class) for users that want to amend source code they maintain and add serializers for ones they don&apos;t.&lt;/p&gt;

&lt;p&gt;For example, a user may wish to serialize a class:&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;struct Person {&lt;/tt&gt;&lt;br/&gt;
 &lt;tt&gt;&#160; std::string name;&lt;/tt&gt;&lt;br/&gt;
 &lt;tt&gt;&#160; std::string address;&lt;/tt&gt;&lt;br/&gt;
};&lt;/p&gt;

&lt;p&gt;into the BSON object:&lt;/p&gt;

{&quot;name&quot; : &quot;bob&quot;, &quot;address&quot; : &quot;123 My Street&quot;}

&lt;p&gt;In which case, they should add methods in &lt;tt&gt;struct Person&lt;/tt&gt; to do so.&lt;/p&gt;

&lt;p&gt;Alternatively, a user may wish to add a custom serializer function for the standard C++ container &lt;tt&gt;unordered_multimap&lt;/tt&gt;. It would be impractical to add those functions to the &lt;tt&gt;std&lt;/tt&gt; namespace. Therefore, we should consider how we&apos;d handle this case. A suggestion would be to allow users to add functions to one of our namespaces.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1452954">CXX-2097</key>
            <summary>BSON-serializer functions for user-defined objects</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</type>
                                            <priority id="4" iconUrl="https://jira.mongodb.org/images/icons/priorities/minor.svg">Minor - P4</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="9">Done</resolution>
                                        <assignee username="raymund.rodriguez@mongodb.com">Raymund Rodriguez</assignee>
                                    <reporter username="clyde.bazile@mongodb.com">Clyde Bazile III</reporter>
                        <labels>
                    </labels>
                <created>Wed, 26 Aug 2020 16:07:12 +0000</created>
                <updated>Wed, 1 Feb 2023 12:53:22 +0000</updated>
                            <resolved>Fri, 9 Oct 2020 19:02:53 +0000</resolved>
                                                                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="3437514" author="xgen-internal-githook" created="Fri, 9 Oct 2020 19:00:26 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;rayangler&apos;, &apos;email&apos;: &apos;rayangler@users.noreply.github.com&apos;, &apos;username&apos;: &apos;rayangler&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CXX-2097&quot; title=&quot;BSON-serializer functions for user-defined objects&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CXX-2097&quot;&gt;&lt;del&gt;CXX-2097&lt;/del&gt;&lt;/a&gt; Create BSON serializer functions for user-defined objects (#726)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-cxx-driver/commit/5af3405736488be0ea2c06fbcb682278b662a722&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-cxx-driver/commit/5af3405736488be0ea2c06fbcb682278b662a722&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="1499071">CXX-2114</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="1499085">CXX-2115</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>CXX-1861</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_21553" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Quarter</customfieldname>
                        <customfieldvalues>
                                        <label>FY24Q3</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hxotjb:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>