Index: c++/clang-format/clang-format-eyeo
===================================================================
new file mode 100644
--- /dev/null
+++ b/c++/clang-format/clang-format-eyeo
@@ -0,0 +1,48 @@
+---
+# The syntax herein is for Clang 4, with opt-in support for Clang 5.
+
+Language: Cpp
+BasedOnStyle: Mozilla
+
+# _de facto_ style is no breaking for return types.
+# Clang 5 version
+AlwaysBreakAfterReturnType: None 
+# Clang 4 version
+# Clang 4 documentation defect: It defines "AlwaysBreakAfterReturnType" and 
+# states that "AlwaysBreakAfterDefinitionReturnType" is deprecated. Disregard
+# this; the line below is necessary for Clang 4 and the Clang 5 version need not
+# be commented out.  
+AlwaysBreakAfterDefinitionReturnType: None
+
+# Long function definitions or calls should not become even longer.
+BinPackArguments: true
+BinPackParameters: true
+
+# Non-assignment operators appear at the beginning of line (after indent).
+BreakBeforeBinaryOperators: NonAssignment
+
+# General override: "Opening braces always go on their own line." 
+BreakBeforeBraces: Allman
+
+# Don't treat commas specially within initializers.
+# Clang 5 version
+#BreakConstructorInitializers: BeforeColon
+# Clang 4 version
+BreakConstructorInitializersBeforeComma: false
+
+# Don't wrap long lines automatically.
+# If lines need to be wrapped, do so explicitly. 
+ColumnLimit: 0
+
+# Format braced lists like function calls.  
+Cpp11BracedListStyle: true
+
+# Don't preserve excess vertical whitespace. 
+KeepEmptyLinesAtTheStartOfBlocks: false
+
+# C++ override. "Indent namespace bodies."
+NamespaceIndentation: All
+
+# Use modern C++. Argument stands for C++11, C++14, etc. 
+Standard: Cpp11
+...
