Skip to content

Commit cfeb1cc

Browse files
deploy: 4951c87
1 parent 4f3b526 commit cfeb1cc

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

reference/cpp/cpp-generated/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<a href=https://github.com/protocolbuffers/protocolbuffers.github.io/edit/main/content/reference/cpp/cpp-generated.md class=td-page-meta--edit target=_blank rel=noopener><i class="fa-solid fa-pen-to-square fa-fw"></i> Edit this page</a>
44
<a href="https://github.com/protocolbuffers/protocolbuffers.github.io/new/main/content/reference/cpp/cpp-generated.md?filename=change-me.md&amp;value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+Edit+the+%22front+matter%22+section+at+the+top+of+the+page+%28weight+controls+how+its+ordered+amongst+other+pages+in+the+same+directory%3B+lowest+number+first%29.%0A%2A+Add+a+good+commit+message+at+the+bottom+of+the+page+%28%3C80+characters%3B+use+the+extended+description+field+for+more+detail%29.%0A%2A+Create+a+new+branch+so+you+can+preview+your+new+file+and+request+a+review+via+Pull+Request.%0A" class=td-page-meta--child target=_blank rel=noopener><i class="fa-solid fa-pen-to-square fa-fw"></i> Create child page</a>
55
<a href="https://github.com/protocolbuffers/protocolbuffers.github.io/issues/new?title=C++%20Generated%20Code%20Guide" class=td-page-meta--issue target=_blank rel=noopener><i class="fa-solid fa-list-check fa-fw"></i> Create documentation issue</a>
6-
<a href=https://github.com/protocolbuffers/protobuf/issues/new class=td-page-meta--project-issue target=_blank rel=noopener><i class="fa-solid fa-list-check fa-fw"></i> Create project issue</a></div><div class=td-toc><nav id=TableOfContents><ul><li><a href=#invocation>Compiler Invocation</a></li><li><a href=#package>Packages</a></li><li><a href=#message>Messages</a><ul><li><a href=#generated-filenames>Generated Filenames</a></li><li><a href=#nested-types>Nested Types</a></li></ul></li><li><a href=#fields>Fields</a><ul><li><a href=#numeric>Explicit Presence Numeric Fields</a></li><li><a href=#implicit-numeric>Implicit Presence Numeric Fields</a></li><li><a href=#string>Explicit Presence String/Bytes Fields</a></li><li><a href=#implicit-string>Implicit Presence String/Bytes Fields</a></li><li><a href=#cord>Singular Bytes Fields with Cord Support</a></li><li><a href=#enum_field>Explicit Presence Enum Fields</a></li><li><a href=#implicit-enum>Implicit Presence Enum Fields</a></li><li><a href=#embeddedmessage>Explicit Presence Embedded Message Fields</a></li><li><a href=#repeatednumeric>Repeated Numeric Fields</a></li><li><a href=#repeatedstring>Repeated String Fields</a></li><li><a href=#repeated_enum>Repeated Enum Fields</a></li><li><a href=#repeatedmessage>Repeated Embedded Message Fields</a></li><li><a href=#oneof-numeric>Oneof Numeric Fields</a></li><li><a href=#oneof-string>Oneof String Fields</a></li><li><a href=#oneof-enum>Oneof Enum Fields</a></li><li><a href=#oneof-embedded>Oneof Embedded Message Fields</a></li><li><a href=#map>Map Fields</a></li></ul></li><li><a href=#any>Any</a></li><li><a href=#oneof>Oneof</a></li><li><a href=#enum>Enumerations</a></li><li><a href=#extension>Extensions (proto2 and editions only)</a></li><li><a href=#arena>Arena Allocation</a></li><li><a href=#service>Services</a><ul><li><a href=#interface>Interface</a></li><li><a href=#stub>Stub</a></li></ul></li><li><a href=#plugins>Plugin Insertion Points</a></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8 ps-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a href=/reference/>Reference Guides</a></li><li class=breadcrumb-item><a href=/reference/cpp/>C++</a></li><li class="breadcrumb-item active" aria-current=page>Generated Code Guide</li></ol></nav><div class=td-content><h1>C++ Generated Code Guide</h1><div class=lead>Describes exactly what C++ code the protocol buffer compiler generates for any given protocol definition.</div><header class=article-meta></header><p>Any differences between proto2, proto3, and editions generated code are
6+
<a href=https://github.com/protocolbuffers/protobuf/issues/new class=td-page-meta--project-issue target=_blank rel=noopener><i class="fa-solid fa-list-check fa-fw"></i> Create project issue</a></div><div class=td-toc><nav id=TableOfContents><ul><li><a href=#invocation>Compiler Invocation</a></li><li><a href=#package>Packages</a></li><li><a href=#message>Messages</a><ul><li><a href=#generated-fieldnames>Generated Fieldnames</a></li><li><a href=#nested-types>Nested Types</a></li></ul></li><li><a href=#fields>Fields</a><ul><li><a href=#numeric>Explicit Presence Numeric Fields</a></li><li><a href=#implicit-numeric>Implicit Presence Numeric Fields</a></li><li><a href=#string>Explicit Presence String/Bytes Fields</a></li><li><a href=#implicit-string>Implicit Presence String/Bytes Fields</a></li><li><a href=#cord>Singular Bytes Fields with Cord Support</a></li><li><a href=#enum_field>Explicit Presence Enum Fields</a></li><li><a href=#implicit-enum>Implicit Presence Enum Fields</a></li><li><a href=#embeddedmessage>Explicit Presence Embedded Message Fields</a></li><li><a href=#repeatednumeric>Repeated Numeric Fields</a></li><li><a href=#repeatedstring>Repeated String Fields</a></li><li><a href=#repeated_enum>Repeated Enum Fields</a></li><li><a href=#repeatedmessage>Repeated Embedded Message Fields</a></li><li><a href=#oneof-numeric>Oneof Numeric Fields</a></li><li><a href=#oneof-string>Oneof String Fields</a></li><li><a href=#oneof-enum>Oneof Enum Fields</a></li><li><a href=#oneof-embedded>Oneof Embedded Message Fields</a></li><li><a href=#map>Map Fields</a></li></ul></li><li><a href=#any>Any</a></li><li><a href=#oneof>Oneof</a></li><li><a href=#enum>Enumerations</a></li><li><a href=#extension>Extensions (proto2 and editions only)</a></li><li><a href=#arena>Arena Allocation</a></li><li><a href=#service>Services</a><ul><li><a href=#interface>Interface</a></li><li><a href=#stub>Stub</a></li></ul></li><li><a href=#plugins>Plugin Insertion Points</a></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8 ps-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a href=/reference/>Reference Guides</a></li><li class=breadcrumb-item><a href=/reference/cpp/>C++</a></li><li class="breadcrumb-item active" aria-current=page>Generated Code Guide</li></ol></nav><div class=td-content><h1>C++ Generated Code Guide</h1><div class=lead>Describes exactly what C++ code the protocol buffer compiler generates for any given protocol definition.</div><header class=article-meta></header><p>Any differences between proto2, proto3, and editions generated code are
77
highlighted. Note that these differences are in the generated code as described
88
in this document, not the base message classes/interfaces, which are the same in
99
all versions. You should read the
@@ -74,7 +74,7 @@
7474
of <code>Foo</code> which is identical to a newly-constructed instance of <code>Foo</code> (so all
7575
singular fields are unset and all repeated fields are empty). Note that the
7676
default instance of a message can be used as a factory by calling its
77-
<code>New()</code> method.</li></ul><h3 id=generated-filenames>Generated Filenames</h3><p><a href=https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/compiler/cpp/helpers.cc#L4>Reserved keywords</a>
77+
<code>New()</code> method.</li></ul><p><a id=generated-filenames></a></p><h3 id=generated-fieldnames>Generated Fieldnames</h3><p><a href=https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/compiler/cpp/helpers.cc#L4>Reserved keywords</a>
7878
are appended with an underscore in the generated output.</p><p>For example, the following proto3 definition syntax:</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-proto data-lang=proto><span style=display:flex><span><span style=color:#204a87;font-weight:700>message</span> <span style=color:#000>MyMessage</span> <span style=color:#000;font-weight:700>{</span><span style=color:#a40000>
7979
</span></span></span><span style=display:flex><span><span style=color:#a40000></span> <span style=color:#204a87;font-weight:700>string</span> <span style=color:#204a87;font-weight:700>false</span> <span style=color:#ce5c00;font-weight:700>=</span> <span style=color:#0000cf;font-weight:700>1</span><span style=color:#000;font-weight:700>;</span><span style=color:#a40000>
8080
</span></span></span><span style=display:flex><span><span style=color:#a40000></span> <span style=color:#204a87;font-weight:700>string</span> <span style=color:#000>myFalse</span> <span style=color:#ce5c00;font-weight:700>=</span> <span style=color:#0000cf;font-weight:700>2</span><span style=color:#000;font-weight:700>;</span><span style=color:#a40000>

0 commit comments

Comments
 (0)