# Encoding: UTF-8

[{content: "#endif\n",
  keyEquivalent: "~@.",
  name: "#endif",
  scope: 
   "source.c, source.c++, source.objc, source.objc++, (source.c | source.c++ | source.objc | source.objc++) & comment.block.preprocessor",
  uuid: "5039DA0E-538B-48E2-A45A-E5A27787E765"},
 {content: 
   "#ifndef ${1/([A-Za-z0-9_]+).*/$1/}\n#define ${1:SYMBOL} ${2:value}\n#endif",
  name: "#ifndef … #define … #endif",
  scope: "source.c, source.c++, source.objc, source.objc++",
  tabTrigger: "def",
  uuid: "680358EA-B24B-4662-8DDA-AD42288795E4"},
 {content: "#include \"${1:${TM_FILENAME/\\..+$/.h/}}\"",
  name: "#include \"…\"",
  scope: "source.c, source.objc, source.c++, source.objc++",
  tabTrigger: "inc",
  uuid: "9AB31B76-7298-11D9-813A-000D93589AF6"},
 {content: "#include <${1:.h}>",
  name: "#include <…>",
  scope: "source.c, source.objc, source.c++, source.objc++",
  tabTrigger: "Inc",
  uuid: "B10CBD5D-7298-11D9-813A-000D93589AF6"},
 {content: "#if 0\n${1:#pragma mark -\n}#pragma mark $2\n#endif\n\n$0",
  name: "#pragma mark",
  scope: "source.c, source.objc, source.c++, source.objc++",
  tabTrigger: "mark",
  uuid: "ADD104E9-830A-4AC4-AAF4-DB6D3B0B7506"},
 {content: 
   "${1:v}${1/^.*?(-)?(>)?$/(?2::(?1:>:.))/}begin(), ${1:v}${1/^.*?(-)?(>)?$/(?2::(?1:>:.))/}end()",
  name: "$1.begin(), $1.end()",
  scope: "source.c++, source.objc++",
  tabTrigger: "beginend",
  uuid: "62D59E1C-1DF1-490E-86E9-DFF8A461AD9C"},
 {content: 
   "class ${1:${TM_FILENAME/(.+)\\..+|.*/(?1:\\L$1_t:name)/}}\n{\npublic:\n\t${1/(\\w+).*/$1/} (${2:arguments});\n\tvirtual ~${1/(\\w+).*/$1/} ();\n\nprivate:\n\t${0:/* data */}\n};",
  name: "Class",
  scope: "source.c++, source.objc++",
  tabTrigger: "cl",
  uuid: "523B30D4-C28A-11D9-8CEF-000D93589AF6"},
 {content: "do {\n\t${0:/* code */}\n} while(${1:/* condition */});",
  name: "Do While Loop",
  scope: "source.c, source.objc, source.c++, source.objc++",
  tabTrigger: "do",
  uuid: "D1F5A25E-A70F-11D9-A11A-000A95A89C98"},
 {content: "enum ${1:name} { $0 };",
  name: "Enumeration",
  scope: "source.c++, source.objc++",
  tabTrigger: "enum",
  uuid: "DD10B510-1C36-45E0-A378-527401EE55B1"},
 {content: 
   "for(size_t ${2:i} = 0; $2 < ${1:count}; ${3:++$2})\n{\n\t${0:/* code */}\n}",
  name: "For Loop",
  scope: "source.c, source.objc, source.c++, source.objc++",
  tabTrigger: "for",
  uuid: "78EF7134-0859-4475-89C3-30927865E855"},
 {content: 
   "#ifndef ${1:`#!/usr/bin/env ruby -wKU -riconv\nname = ENV[\"TM_FILENAME\"] || \"untitled\"\nname = Iconv.iconv(\"ASCII//TRANSLIT\", \"UTF-8\", name).first\nname = name.gsub(/[^a-z0-9]+/i, \"_\")\nuuid = (rand * 2821109907455).round.to_s(36)\nprint \"\#{name}_\#{uuid}\".tr(\"[a-z]\", \"[A-Z]\")\n`}\n#define $1\n\n${TM_SELECTED_TEXT/\\Z\\n//}${0:}\n\n#endif /* end of include guard: $1 */\n",
  name: "Header Include-Guard",
  scope: "source.c, source.objc, source.c++, source.objc++",
  tabTrigger: "once",
  uuid: "74AF5E38-994C-4641-96F0-EB98A2183F60"},
 {content: "if(${1:/* condition */})\n{\n\t${0:/* code */}\n}",
  name: "If Condition",
  scope: "source.c, source.objc, source.c++, source.objc++",
  tabTrigger: "if",
  uuid: "F060AC09-C289-11D9-8CEF-000D93589AF6"},
 {content: 
   "namespace${1/.+/ /m}${1:${TM_FILENAME/^((.*?)\\..*)?$/(?1:\\L$2:my)/}}\n{\n\t$0\n}${1/.+/ \\/* /m}$1${1/.+/ *\\//m}",
  name: "Namespace",
  scope: "source.c++, source.objc++",
  tabTrigger: "ns",
  uuid: "CEE5F928-47A2-4648-96F0-99FF5C2A7419"},
 {content: 
   "std::vector<char> v;\nif(FILE${TM_C_POINTER: *}fp = fopen(${1:\"filename\"}, \"r\"))\n{\n\tchar buf[1024];\n\twhile(size_t len = fread(buf, 1, sizeof(buf), fp))\n\t\tv.insert(v.end(), buf, buf + len);\n\tfclose(fp);\n}",
  name: "Read File Into Vector",
  scope: "source.c++, source.objc++",
  tabTrigger: "readfile",
  uuid: "E8C3B596-9045-11D9-AB38-000D93589AF6"},
 {content: 
   "typedef std::tr1::shared_ptr<${2:${1:my_type}_t}> ${3:${2/_t$/_ptr/}};",
  name: "Shared Pointer",
  scope: "source.c, source.objc, source.c++, source.objc++",
  tabTrigger: "sp",
  uuid: "986C0149-7802-4385-A237-90074D9D5ACD"},
 {content: 
   "struct ${1:${TM_FILENAME/(.+)\\..+|.*/(?1:\\L$1_t:name)/}}\n{\n\t${0:/* data */}\n};",
  name: "Struct",
  scope: "source.c, source.objc, source.c++, source.objc++",
  tabTrigger: "st",
  uuid: "1D14B92E-8819-11D9-8661-000D93589AF6"},
 {content: "typedef ${1:int} ${2:MyCustomType};",
  name: "Typedef",
  scope: "source.c, source.objc, source.c++, source.objc++",
  tabTrigger: "td",
  uuid: "08E16CAE-DBD8-4570-B778-9E0E0EFFF80C"},
 {content: 
   "fprintf(${1:stderr}, \"${2:%s}\\\\n\"${2/([^%]|%%)*(%.)?.*/(?2:, :\\);)/}$3${2/([^%]|%%)*(%.)?.*/(?2:\\);)/}",
  name: "fprintf …",
  scope: "source.c, source.objc, source.c++, source.objc++",
  tabTrigger: "fprintf",
  uuid: "FE378349-BD63-4390-9A3B-516F7FF7F413"},
 {content: 
   "int main (int argc, char const${TM_C_POINTER: *}argv[])\n{\n\t${0:/* code */}\n\treturn 0;\n}",
  name: "main()",
  scope: "source.c, source.objc, source.c++, source.objc++",
  tabTrigger: "main",
  uuid: "BC8B81AB-5F16-11D9-B9C3-000D93589AF6"},
 {content: 
   "printf(\"${1:%s}\\\\n\"${1/([^%]|%%)*(%.)?.*/(?2:, :\\);)/}$2${1/([^%]|%%)*(%.)?.*/(?2:\\);)/}",
  name: "printf …",
  scope: "source.c, source.objc, source.c++, source.objc++",
  tabTrigger: "printf",
  uuid: "5A086BE2-BCF6-11D9-82A9-000D93589AF6"},
 {content: "std::map<${1:key}, ${2:value}> map$0;",
  name: "std::map",
  scope: "source.c++, source.objc++",
  tabTrigger: "map",
  uuid: "A295A902-ACAF-11D9-987D-000D93589AF6"},
 {content: "std::vector<${1:char}> v$0;",
  name: "std::vector",
  scope: "source.c++, source.objc++",
  tabTrigger: "vector",
  uuid: "5E468268-ACAF-11D9-987D-000D93589AF6"},
 {content: "template <typename ${1:_InputIter}>",
  name: "template <typename …>",
  scope: "source.c++, source.objc++",
  tabTrigger: "tp",
  uuid: "C5DEE118-4C9E-4F3E-97A4-0E01A250F142"}]
