{"schemaVersion":1,"title":"C++ · Doxygen","url":"https://appgram.github.io/docsy/cpp-sdk","markdownUrl":"https://appgram.github.io/docsy/format-md/cpp-sdk","jsonUrl":"https://appgram.github.io/docsy/agent/pages/cpp-sdk.json","version":"current","locale":"en","markdown":"# C++ · Doxygen\n\nReal Doxygen XML output from the checked-in cpp fixture source. Generated artifacts, commands, versions, and SHA-256 hashes are recorded under sources/native. This is a teaching library, not a published SDK.\n\n> Source: https://appgram.github.io/docsy/cpp-sdk  \n> Language: cpp  \n> Symbols: 5 across 2 categories\n\n## Categories\n\n- [Classes](#classes) — 1 items\n- [Greeter](#greeter) — 4 items\n\n## Classes\n\n### `Greeter`  <sub>class</sub>\n\nBuild personalized greetings without network access.\n\n**Properties**\n\n| Name | Type | Required | Description | Default |\n\n| --- | --- | --- | --- | --- |\n\n| `Greeter.prefix` | `const char *` | ✓ | Greeting prefix used for future calls. |  |\n\n**Methods**\n\n- `Greeter.greet` → `const char *`  \n  Greet a reader.\n\n  - `name: const char *` — Reader name.\n\n- `Greeter.greetMany` → `unsigned int`  \n  Greet a batch of readers.\n\n  - `names: const char **` — Reader names.\n\n  - `count: unsigned int` — Number of names.\n\n- `Greeter.greetChecked` → `const char *`  \n  Reject an empty reader name.\n\n  - `name: const char *` — Reader name.\n\n```cpp\nclass Greeter\n```\n\n**Example**\n\n```cpp\nGreeter greeter;\nauto message = greeter.greet(\"Docsy\");\n```\n\n## Greeter\n\n### `Greeter.greet`  <sub>method</sub>\n\nGreet a reader.\n\n**Parameters**\n\n| Name | Type | Required | Description |\n\n| --- | --- | --- | --- |\n\n| `name` | `const char *` | ✓ | Reader name. |\n\n**Returns** — `const char *` — A friendly greeting.\n\n```cpp\nconst char * Greeter::greet(const char *name)\n```\n\n**Example**\n\n```cpp\nGreeter().greet(\"Ada\");\n```\n\n---\n\n### `Greeter.greetChecked`  <sub>method</sub>\n\nReject an empty reader name.\n\n**Errors**\n\n- `std::invalid_argument` — When name is empty.\n\n**Parameters**\n\n| Name | Type | Required | Description |\n\n| --- | --- | --- | --- |\n\n| `name` | `const char *` | ✓ | Reader name. |\n\n**Returns** — `const char *` — A validated greeting.\n\n```cpp\nconst char * Greeter::greetChecked(const char *name)\n```\n\n---\n\n### `Greeter.greetMany`  <sub>method</sub>\n\nGreet a batch of readers.\n\n**Parameters**\n\n| Name | Type | Required | Description |\n\n| --- | --- | --- | --- |\n\n| `names` | `const char **` | ✓ | Reader names. |\n\n| `count` | `unsigned int` | ✓ | Number of names. |\n\n**Returns** — `unsigned int` — Number of greetings produced.\n\n```cpp\nunsigned int Greeter::greetMany(const char **names, unsigned int count)\n```\n\n**Example**\n\n```cpp\nconst char *names[] = {\"Ada\", \"Linus\"};\nGreeter().greetMany(names, 2);\n```\n\n---\n\n### `Greeter.prefix`  <sub>property</sub>\n\nGreeting prefix used for future calls.\n\n**Returns** — `const char *`\n\n```cpp\nconst char* Greeter::prefix\n```\n"}