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

Class Options (2.29.0) | C++ Client Libraries

Skip to main content Class Options (2.29.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 document details the `Options` class, which is designed to hold option structs indexed by their type."],["Options are defined as structs with a public `Type` member typedef, and libraries can define their own, or use common options."],["The `Options` class provides methods to set, check for existence, remove, and retrieve the value of options, using functions such as `set\u003cT\u003e(x)`, `has\u003cT\u003e()`, `unset\u003cT\u003e()`, `get\u003cT\u003e()`, and `lookup\u003cT\u003e(x)`."],["The class offers constructors for creating empty instances, copying, and moving options, along with assignment operators for both copying and moving."],["The document includes versioning information for the Options class, spanning 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