diff options
author | Geert Bosch <geert@mongodb.com> | 2017-11-10 11:30:52 -0500 |
---|---|---|
committer | Geert Bosch <geert@mongodb.com> | 2018-01-05 16:44:54 -0500 |
commit | e0c177cbb21110a5f18f920d5ec08e375b303157 (patch) | |
tree | 22e31b753995b146aa23b908700813f071d9c0e8 /src/mongo/bson/bson_field.h | |
parent | 87c1731e3e077ca9e8b750ebe4b3fef534f1cbe6 (diff) | |
download | mongo-e0c177cbb21110a5f18f920d5ec08e375b303157.tar.gz |
SERVER-31911 make UUID constructor private
Diffstat (limited to 'src/mongo/bson/bson_field.h')
-rw-r--r-- | src/mongo/bson/bson_field.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/mongo/bson/bson_field.h b/src/mongo/bson/bson_field.h index 7e33df63ca2..1933dce26ed 100644 --- a/src/mongo/bson/bson_field.h +++ b/src/mongo/bson/bson_field.h @@ -29,6 +29,8 @@ #include <string> +#include <boost/optional.hpp> + #include "mongo/bson/bsonobj.h" namespace mongo { @@ -88,10 +90,9 @@ private: template <typename T> class BSONField { public: - BSONField(const std::string& name) : _name(name), _defaultSet(false) {} + BSONField(const std::string& name) : _name(name) {} - BSONField(const std::string& name, const T& defaultVal) - : _name(name), _default(defaultVal), _defaultSet(true) {} + BSONField(const std::string& name, const T& defaultVal) : _name(name), _default(defaultVal) {} BSONFieldValue<T> make(const T& t) const { return BSONFieldValue<T>(_name, t); @@ -106,11 +107,11 @@ public: } const T& getDefault() const { - return _default; + return *_default; } bool hasDefault() const { - return _defaultSet; + return bool(_default); } std::string operator()() const { @@ -133,8 +134,7 @@ public: private: std::string _name; - T _default; - bool _defaultSet; + boost::optional<T> _default; }; } // namespace mongo |