Skip to content

Commit

Permalink
CXX-1007 Add additional directives to .clang-format
Browse files Browse the repository at this point in the history
This makes some additions/changes based on the MongoDB server's
.clang-formatting rules.

To have tighter code for empty subs:

- AllowShortFunctionsOnASingleLine: Empty

To keep control code structure visually distinct:

- AllowShortIfStatementsOnASingleLine: false
- AllowShortLoopsOnASingleLine: false

To make long parameter/argument list easier to read:

- BinPackArguments: false
- BinPackParameters: false

To have pointer and reference symbols consistent everywhere:

- DerivePointerAlignment: false
  • Loading branch information
xdg committed Dec 21, 2016
1 parent 10c9f4f commit 6e4e17c
Show file tree
Hide file tree
Showing 88 changed files with 470 additions and 456 deletions.
7 changes: 6 additions & 1 deletion .clang-format
@@ -1,7 +1,12 @@
BasedOnStyle: Google
AllowShortFunctionsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
BinPackArguments: false
BinPackParameters: false
ColumnLimit: 100
Cpp11BracedListStyle: true
DerivePointerAlignment: false
IndentWidth: 4
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
Expand Down
23 changes: 15 additions & 8 deletions examples/bsoncxx/builder_basic.cpp
Expand Up @@ -40,7 +40,8 @@ int main(int, char**) {
doc.append(kvp("garply", types::b_double{3.14159}));

// We can also pass a variable number of keys to append.
doc.append(kvp("a key", "a value"), kvp("another key", "another value"),
doc.append(kvp("a key", "a value"),
kvp("another key", "another value"),
kvp("moar keys", "moar values"));

// Appending to arrays is simple, just append one or more bson values.
Expand All @@ -62,13 +63,19 @@ int main(int, char**) {
subdoc.append(kvp("subdoc key", "subdoc value"),
kvp("another subdoc key", types::b_int64{1212}));
}),
kvp("subarray key", [](sub_array subarr) {
// subarrays work similarly
subarr.append(1, types::b_bool{false}, "hello", 5, [](sub_document subdoc) {
// nesting works too!
subdoc.append(kvp("such", "nesting"), kvp("much", "recurse"));
});
}));
kvp("subarray key",
[](sub_array subarr) {
// subarrays work similarly
subarr.append(1,
types::b_bool{false},
"hello",
5,
[](sub_document subdoc) {
// nesting works too!
subdoc.append(kvp("such", "nesting"),
kvp("much", "recurse"));
});
}));

// We can get a view of the resulting bson by calling view()
auto v = doc.view();
Expand Down
6 changes: 2 additions & 4 deletions examples/bsoncxx/builder_stream_customization.cpp
Expand Up @@ -25,8 +25,7 @@ using namespace bsoncxx;
template <typename begin_t, typename end_t>
class range_array_appender {
public:
range_array_appender(begin_t begin, end_t end) : _begin(begin), _end(end) {
}
range_array_appender(begin_t begin, end_t end) : _begin(begin), _end(end) {}

void operator()(bsoncxx::builder::stream::array_context<> ac) const {
for (auto iter = _begin; iter != _end; ++iter) {
Expand All @@ -49,8 +48,7 @@ range_array_appender<begin_t, end_t> make_range_array_appender(begin_t&& begin,
template <typename begin_t, typename end_t>
class range_kvp_appender {
public:
range_kvp_appender(begin_t begin, end_t end) : _begin(begin), _end(end) {
}
range_kvp_appender(begin_t begin, end_t end) : _begin(begin), _end(end) {}

void operator()(bsoncxx::builder::stream::key_context<> ac) const {
for (auto iter = _begin; iter != _end; ++iter) {
Expand Down
22 changes: 14 additions & 8 deletions examples/bsoncxx/view_and_value.cpp
Expand Up @@ -39,10 +39,13 @@ int main(int, char**) {
using builder::basic::sub_array;

auto doc = builder::basic::document{};
doc.append(kvp("team", "platforms"), kvp("id", types::b_oid{oid()}),
kvp("members", [](sub_array sa) {
sa.append("tyler", "jason", "drew", "sam", "ernie", "john", "mark", "crystal");
}));
doc.append(kvp("team", "platforms"),
kvp("id", types::b_oid{oid()}),
kvp("members",
[](sub_array sa) {
sa.append(
"tyler", "jason", "drew", "sam", "ernie", "john", "mark", "crystal");
}));

// document::value is an owning bson document conceptually similar to string.
document::value value{doc.extract()};
Expand Down Expand Up @@ -112,10 +115,13 @@ int main(int, char**) {

// i.e. if we want a vector of all the keys in a document, we can use std::transform
std::vector<std::string> doc_keys;
std::transform(begin(view), end(view), std::back_inserter(doc_keys), [](document::element ele) {
// note that key() returns a string_view
return ele.key().to_string();
});
std::transform(begin(view),
end(view),
std::back_inserter(doc_keys),
[](document::element ele) {
// note that key() returns a string_view
return ele.key().to_string();
});

std::cout << "document keys are: " << std::endl;
for (auto key : doc_keys) {
Expand Down
9 changes: 5 additions & 4 deletions examples/mongocxx/connect.cpp
Expand Up @@ -30,12 +30,13 @@ namespace {

class logger final : public mongocxx::logger {
public:
explicit logger(std::ostream* stream) : _stream(stream) {
}
explicit logger(std::ostream* stream) : _stream(stream) {}

void operator()(mongocxx::log_level level, mongocxx::stdx::string_view domain,
void operator()(mongocxx::log_level level,
mongocxx::stdx::string_view domain,
mongocxx::stdx::string_view message) noexcept override {
if (level >= mongocxx::log_level::k_trace) return;
if (level >= mongocxx::log_level::k_trace)
return;
*_stream << '[' << mongocxx::to_string(level) << '@' << domain << "] " << message << '\n';
}

Expand Down
9 changes: 5 additions & 4 deletions examples/mongocxx/instance_management.cpp
Expand Up @@ -73,9 +73,9 @@ class mongo_access {
void configure(mongocxx::uri uri) {
class noop_logger : public mongocxx::logger {
public:
virtual void operator()(mongocxx::log_level, mongocxx::stdx::string_view,
mongocxx::stdx::string_view) noexcept {
}
virtual void operator()(mongocxx::log_level,
mongocxx::stdx::string_view,
mongocxx::stdx::string_view) noexcept {}
};

auto instance =
Expand All @@ -87,7 +87,8 @@ void configure(mongocxx::uri uri) {

bool do_work() {
auto connection = mongo_access::instance().get_connection();
if (!connection) return false;
if (!connection)
return false;
return true;
}

Expand Down
4 changes: 2 additions & 2 deletions examples/mongocxx/query_projection.cpp
Expand Up @@ -13,7 +13,7 @@ using bsoncxx::builder::stream::open_document;
using bsoncxx::builder::stream::close_document;
using bsoncxx::builder::stream::finalize;

int main(int, char **) {
int main(int, char**) {
mongocxx::instance inst{};
mongocxx::client conn{mongocxx::uri{}};

Expand All @@ -36,7 +36,7 @@ int main(int, char **) {

// Execute find with options
auto cursor = coll.find(filter.view(), opts);
for (auto &&doc : cursor) {
for (auto&& doc : cursor) {
std::cout << bsoncxx::to_json(doc) << std::endl;
}

Expand Down
6 changes: 2 additions & 4 deletions src/bsoncxx/array/element.cpp
Expand Up @@ -24,12 +24,10 @@ namespace bsoncxx {
BSONCXX_INLINE_NAMESPACE_BEGIN
namespace array {

element::element() : document::element() {
}
element::element() : document::element() {}

element::element(const std::uint8_t* raw, std::uint32_t length, std::uint32_t offset)
: document::element(raw, length, offset) {
}
: document::element(raw, length, offset) {}

} // namespace document
BSONCXX_INLINE_NAMESPACE_END
Expand Down
9 changes: 3 additions & 6 deletions src/bsoncxx/array/value.cpp
Expand Up @@ -24,11 +24,9 @@ BSONCXX_INLINE_NAMESPACE_BEGIN
namespace array {

value::value(std::uint8_t* data, std::size_t length, deleter_type dtor)
: _data(data, dtor), _length(length) {
}
: _data(data, dtor), _length(length) {}

value::value(unique_ptr_type ptr, std::size_t length) : _data(std::move(ptr)), _length(length) {
}
value::value(unique_ptr_type ptr, std::size_t length) : _data(std::move(ptr)), _length(length) {}

namespace {

Expand All @@ -44,8 +42,7 @@ value::value(array::view view)
std::copy(view.data(), view.data() + view.length(), _data.get());
}

value::value(const value& rhs) : value(rhs.view()) {
}
value::value(const value& rhs) : value(rhs.view()) {}

value& value::operator=(const value& rhs) {
*this = value{rhs.view()};
Expand Down
12 changes: 4 additions & 8 deletions src/bsoncxx/array/view.cpp
Expand Up @@ -39,11 +39,9 @@ bson_iter_t to_bson_iter_t(element e) {
}
} // namespace

view::const_iterator::const_iterator() {
}
view::const_iterator::const_iterator() {}

view::const_iterator::const_iterator(const element& element) : _element(element) {
}
view::const_iterator::const_iterator(const element& element) : _element(element) {}

view::const_iterator::reference view::const_iterator::operator*() {
return _element;
Expand Down Expand Up @@ -141,11 +139,9 @@ element view::operator[](std::uint32_t i) const {
return *(this->find(i));
}

view::view(const std::uint8_t* data, std::size_t length) : _view(data, length) {
}
view::view(const std::uint8_t* data, std::size_t length) : _view(data, length) {}

view::view() : _view() {
}
view::view() : _view() {}

const std::uint8_t* view::data() const {
return _view.data();
Expand Down
8 changes: 5 additions & 3 deletions src/bsoncxx/array/view.hpp
Expand Up @@ -146,9 +146,11 @@ class BSONCXX_API view {
/// This iterator type provides a const forward iterator interface to array
/// view elements.
///
class BSONCXX_API view::const_iterator
: public std::iterator<std::forward_iterator_tag, element, std::ptrdiff_t, const element*,
const element&> {
class BSONCXX_API view::const_iterator : public std::iterator<std::forward_iterator_tag,
element,
std::ptrdiff_t,
const element*,
const element&> {
public:
const_iterator();
explicit const_iterator(const element& element);
Expand Down
3 changes: 1 addition & 2 deletions src/bsoncxx/builder/basic/array.hpp
Expand Up @@ -37,8 +37,7 @@ class array : public sub_array {
///
/// Default constructor
///
BSONCXX_INLINE array() : sub_array(&_core), _core(true) {
}
BSONCXX_INLINE array() : sub_array(&_core), _core(true) {}

///
/// @return A view of the BSON array.
Expand Down
3 changes: 1 addition & 2 deletions src/bsoncxx/builder/basic/document.hpp
Expand Up @@ -36,8 +36,7 @@ class array;
///
class document : public sub_document {
public:
BSONCXX_INLINE document() : sub_document(&_core), _core(false) {
}
BSONCXX_INLINE document() : sub_document(&_core), _core(false) {}

///
/// @return A view of the BSON document.
Expand Down
6 changes: 2 additions & 4 deletions src/bsoncxx/builder/basic/sub_array.hpp
Expand Up @@ -41,8 +41,7 @@ class sub_array {
///
/// Default constructor
///
BSONCXX_INLINE sub_array(core* core) : _core(core) {
}
BSONCXX_INLINE sub_array(core* core) : _core(core) {}

///
/// Appends multiple BSON values.
Expand All @@ -57,8 +56,7 @@ class sub_array {
/// Inductive base-case for the variadic append(...)
///
BSONCXX_INLINE
void append() {
}
void append() {}

private:
//
Expand Down
6 changes: 2 additions & 4 deletions src/bsoncxx/builder/basic/sub_document.hpp
Expand Up @@ -37,8 +37,7 @@ void value_append(core* core, T&& t);
///
class sub_document {
public:
BSONCXX_INLINE sub_document(core* core) : _core(core) {
}
BSONCXX_INLINE sub_document(core* core) : _core(core) {}

///
/// Appends multiple basic::kvp key-value pairs.
Expand All @@ -53,8 +52,7 @@ class sub_document {
/// Inductive base-case for the variadic append(...)
///
BSONCXX_INLINE
void append() {
}
void append() {}

private:
//
Expand Down
36 changes: 21 additions & 15 deletions src/bsoncxx/builder/core.cpp
Expand Up @@ -214,8 +214,7 @@ class core::impl {
bool _has_user_key;
};

core::core(bool is_array) : _impl(new impl(is_array)) {
}
core::core(bool is_array) : _impl(new impl(is_array)) {}
core::core(core&&) noexcept = default;
core& core::operator=(core&&) noexcept = default;
core::~core() = default;
Expand Down Expand Up @@ -243,8 +242,8 @@ void core::append(const types::b_double& value) {
void core::append(const types::b_utf8& value) {
stdx::string_view key = _impl->next_key();

bson_append_utf8(_impl->back(), key.data(), key.length(), value.value.data(),
value.value.length());
bson_append_utf8(
_impl->back(), key.data(), key.length(), value.value.data(), value.value.length());
}

void core::append(const types::b_document& value) {
Expand All @@ -266,8 +265,12 @@ void core::append(const types::b_array& value) {
void core::append(const types::b_binary& value) {
stdx::string_view key = _impl->next_key();

bson_append_binary(_impl->back(), key.data(), key.length(),
static_cast<bson_subtype_t>(value.sub_type), value.bytes, value.size);
bson_append_binary(_impl->back(),
key.data(),
key.length(),
static_cast<bson_subtype_t>(value.sub_type),
value.bytes,
value.size);
}

void core::append(const types::b_undefined&) {
Expand Down Expand Up @@ -305,7 +308,10 @@ void core::append(const types::b_null&) {
void core::append(const types::b_regex& value) {
stdx::string_view key = _impl->next_key();

bson_append_regex(_impl->back(), key.data(), key.length(), value.regex.to_string().data(),
bson_append_regex(_impl->back(),
key.data(),
key.length(),
value.regex.to_string().data(),
value.options.to_string().data());
}

Expand All @@ -315,8 +321,8 @@ void core::append(const types::b_dbpointer& value) {
bson_oid_t oid;
std::memcpy(&oid.bytes, value.value.bytes(), sizeof(oid.bytes));

bson_append_dbpointer(_impl->back(), key.data(), key.length(),
value.collection.to_string().data(), &oid);
bson_append_dbpointer(
_impl->back(), key.data(), key.length(), value.collection.to_string().data(), &oid);
}

void core::append(const types::b_code& value) {
Expand All @@ -328,8 +334,8 @@ void core::append(const types::b_code& value) {
void core::append(const types::b_symbol& value) {
stdx::string_view key = _impl->next_key();

bson_append_symbol(_impl->back(), key.data(), key.length(), value.symbol.data(),
value.symbol.length());
bson_append_symbol(
_impl->back(), key.data(), key.length(), value.symbol.data(), value.symbol.length());
}

void core::append(const types::b_codewscope& value) {
Expand All @@ -338,8 +344,8 @@ void core::append(const types::b_codewscope& value) {
bson_t bson;
bson_init_static(&bson, value.scope.data(), value.scope.length());

bson_append_code_with_scope(_impl->back(), key.data(), key.length(),
value.code.to_string().data(), &bson);
bson_append_code_with_scope(
_impl->back(), key.data(), key.length(), value.code.to_string().data(), &bson);
}

void core::append(const types::b_int32& value) {
Expand All @@ -351,8 +357,8 @@ void core::append(const types::b_int32& value) {
void core::append(const types::b_timestamp& value) {
stdx::string_view key = _impl->next_key();

bson_append_timestamp(_impl->back(), key.data(), key.length(), value.increment,
value.timestamp);
bson_append_timestamp(
_impl->back(), key.data(), key.length(), value.increment, value.timestamp);
}

void core::append(const types::b_int64& value) {
Expand Down

0 comments on commit 6e4e17c

Please sign in to comment.