# Initially made using
# clang-format -style=llvm -dump-config > .clang-format
# Then lines were modified to get the desired results
#
# Incorporate these options by adding the flag -style=file
# and putting this file in the directory of the file being formatted or
# one of its parent directories
#
# See http://clang.llvm.org/docs/ClangFormat.html for usage and
# http://clang.llvm.org/docs/ClangFormatStyleOptions.html for options
#
---
Language:        Cpp
# BasedOnStyle:  LLVM
AccessModifierOffset:   0
AlignAfterOpenBracket:  DontAlign
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlinesLeft: false
AlignOperands: false
AlignTrailingComments: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: false
BinPackArguments: true
BinPackParameters: true
BreakBeforeBraces: Custom
BraceWrapping: 
  AfterClass:      false
  AfterControlStatement: false
  AfterEnum:       false
  AfterFunction:   true
  AfterNamespace:  false
  AfterObjCDeclaration: false
  AfterStruct:     false
  AfterUnion:      false
  BeforeCatch:     false
  BeforeElse:      true
  IndentBraces:    false
BreakAfterJavaFieldAnnotations: false
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Custom
BreakBeforeTernaryOperators: false
BreakConstructorInitializersBeforeComma: false
BreakStringLiterals: true
ColumnLimit:     78
CommentPragmas:  '^ IWYU pragma:' # not sure what this should be
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 8
Cpp11BracedListStyle: true
DerivePointerAlignment: false
DisableFormat:   false
ExperimentalAutoDetectBinPacking: false
ForEachMacros:   [ foreach, Q_FOREACH, BOOST_FOREACH ]
IncludeCategories: # need to consider more
  - Regex:           '^"(llvm|llvm-c|clang|clang-c)/'
    Priority:        2
  - Regex:           '^(<|"(gtest|isl|json)/)'
    Priority:        3
  - Regex:           '.*'
    Priority:        1
IncludeIsMainRegex: '$'
IndentCaseLabels: true
IndentWidth:     4
IndentWrappedFunctionNames: false
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: true
MacroBlockBegin: ''
MacroBlockEnd:   ''
MaxEmptyLinesToKeep: 4
NamespaceIndentation: None
ObjCBlockIndentWidth: 2 # Not applicable (N/A)
ObjCSpaceAfterProperty: false # N/A
ObjCSpaceBeforeProtocolList: true # N/A
PenaltyBreakBeforeFirstCallParameter: 19    #      19 was the original value
PenaltyBreakComment: 300                    #     300 was the original value
PenaltyBreakFirstLessLess: 120              #     120 was the original value
PenaltyBreakString: 1000                    #    1000 was the original value
PenaltyExcessCharacter: 10000000            # 1000000 was the original value
PenaltyReturnTypeOnItsOwnLine: 60           #      60 was the original value
PointerAlignment: Right
ReflowComments:  true
SortIncludes:    true
SpaceAfterCStyleCast: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: ControlStatements
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles:  false
SpacesInContainerLiterals: true # N/A
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard:        Cpp11
TabWidth:        8 # N/A since not using tabs
UseTab:          Never
# ... generated by the command here. Not sure why

