A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://cloud.google.com/cpp/docs/reference/common/2.30.0/classgoogle_1_1cloud_1_1Options below:

Class Options (2.30.0) | C++ Client Libraries

Class Options (2.30.0)

Stay organized with collections Save and categorize content based on your preferences.

A class that holds option structs indexed by their type.

An "Option" is any struct that has a public Type member typedef. By convention they are named like "FooOption". Each library (e.g., spanner, storage) may define their own set of options. Additionally, there are common options defined that many libraries may use. All these options may be set in a single Options instance, and each library will look at the options that it needs.

Here's an overview of this class's interface, but see the method documentation below for details.

Example:
struct FooOption {
  using Type = int;
};
struct BarOption {
  using Type = std::set<std::string>;
};
...
Options opts;

assert(opts.get<FooOption>() == 0);
opts.set<FooOption>(42);
assert(opts.get<FooOption>() == 42);

// Inserts two elements directly into the BarOption's std::set.
opts.lookup<BarOption>().insert("hello");
opts.lookup<BarOption>().insert("world");

std::set<std::string> const& bar = opts.get<BarOption>();
assert(bar == std::set<std::string>{"hello", "world"});
Constructors Options()

Constructs an empty instance.

Options(Options const &) Parameter Name Description rhs Options const &
Options(Options &&) Parameter Name Description rhs Options &&
Operators operator=(Options const &) Parameter Name Description rhs Options const &
Returns Type Description Options & operator=(Options &&) Parameter Name Description rhs Options &&
Returns Type Description Options & Functions set(ValueTypeT< T >) &

Sets option T to the value v and returns a reference to *this.

struct FooOption {
  using Type = int;
};
auto opts = Options{};
opts.set<FooOption>(123);
Parameters Name Description v ValueTypeT< T >

the value to set the option T

typename T

the option type

Returns Type Description Options & set(ValueTypeT< T >) &&

Sets option T to the value v and returns a reference to *this.

struct FooOption {
  using Type = int;
};
auto opts = Options{}.set<FooOption>(123);
Parameters Name Description v ValueTypeT< T >

the value to set the option T

typename T

the option type

Returns Type Description Options && has() const

Returns true IFF an option with type T exists.

Parameter Name Description typename T

the option type

Returns Type Description bool unset()

Erases the option specified by the type T.

Parameter Name Description typename T

the option type

Returns Type Description void get() const

Returns a reference to the value for T, or a value-initialized default if T was not set.

This method will always return a reference to a valid value of the correct type for option T, whether or not T has actually been set. Use has<T>() to check whether or not the option has been set.

struct FooOption {
  using Type = std::set<std::string>;
};
Options opts;
std::set<std::string> const& x = opts.get<FooOption>();
assert(x.empty());
assert(!x.has<FooOption>());

opts.set<FooOption>({"foo"});
assert(opts.get<FooOption>().size() == 1);
Parameter Name Description typename T

the option type

Returns Type Description ValueTypeT< T > const & lookup(ValueTypeT< T >)

Returns a reference to the value for option T, setting the value to init_value if necessary.

struct BigOption {
  using Type = std::set<std::string>;
};
Options opts;
std::set<std::string>& x = opts.lookup<BigOption>();
assert(x.empty());

x.insert("foo");
opts.lookup<BigOption>().insert("bar");
assert(x.size() == 2);
Parameters Name Description value ValueTypeT< T >

the initial value to use if T is not set (optional)

typename T

the option type

Returns Type Description ValueTypeT< T > &

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-08-14 UTC.

[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-14 UTC."],[[["The provided content is a documentation reference for the `Options` class in the Google Cloud C++ library, detailing its functionality for managing option structs."],["The `Options` class can store and manage different option structs, identified by their `Type` member, allowing each library to set or look up their set of options."],["Key methods for interacting with options include setting with `.set\u003cT\u003e(x)`, checking existence with `.has\u003cT\u003e()`, removing with `.unset\u003cT\u003e()`, retrieving values with `.get\u003cT\u003e()`, and getting a modifiable reference with `.lookup\u003cT\u003e(x)`."],["The documentation also lists the versions of the class available, starting from version `2.10.1` to the latest release candidate version `2.37.0-rc`."],["The documentation provides examples of how to use `Options` to manage options like `FooOption` and `BarOption` to perform actions like setting a value, or adding strings into a set."]]],[]]


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4