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/latest/classgoogle_1_1cloud_1_1Options.html below:

Class Options (2.42.0-rc) | C++ Client Libraries

Skip to main content Class Options (2.42.0-rc)

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 `Options` class manages a collection of option structs, each identified by its unique type, with libraries able to define their own options or utilize common ones."],["You can interact with options using methods like `.set\u003cT\u003e(x)` to assign a value, `.has\u003cT\u003e()` to check if an option exists, `.unset\u003cT\u003e()` to remove an option, `.get\u003cT\u003e()` to retrieve a value, and `.lookup\u003cT\u003e(x)` to get or initialize a value."],["The `.get\u003cT\u003e()` method always returns a reference to a valid value, providing a default value if the option hasn't been set, and you can use `has\u003cT\u003e()` to check whether or not the option has been set."],["The class provides constructors to create empty instances or copy/move existing ones and offers operators to assign to other option instances."],["Multiple version references are available for browsing, ranging from version 2.10.1 up to the latest release candidate 2.37.0-rc."]]],[]]


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