/usr/include/hocon/config_resolve_options.hpp is in libcpp-hocon-dev 0.1.6-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | #pragma once
#include "export.h"
namespace hocon {
/**
* A set of options related to resolving substitutions. Substitutions use the
* <code>${foo.bar}</code> syntax and are documented in the <a
* href="https://github.com/typesafehub/config/blob/master/HOCON.md">HOCON</a>
* spec.
* <p>
* Typically this class would be used with the method
* {@link config#resolve(config_resolve_options)}.
* <p>
* This object is immutable, so the "setters" return a new object.
* <p>
* Here is an example of creating a custom {@code config_resolve_options}:
*
* <pre>
* config_resolve_options options = config_resolve_options()
* .set_use_system_environment(false)
* </pre>
* <p>
* In addition to {@link config_resolve_options}, there's a prebuilt
* {@link config_resolve_options#no_system} which avoids looking at any system
* environment variables or other external system information. (Right now,
* environment variables are the only example.)
*/
class LIBCPP_HOCON_EXPORT config_resolve_options {
public:
/**
* Returns the default resolve options. By default the system environment
* will be used and unresolved substitutions are not allowed.
*
* @return the default resolve options
*/
config_resolve_options(bool use_system_environment = true, bool allow_unresolved = false);
/**
* Returns resolve options that disable any reference to "system" data
* (currently, this means environment variables).
*
* @return the resolve options with env variables disabled
*/
config_resolve_options set_use_system_environment(bool value) const;
/**
* Returns whether the options enable use of system environment variables.
* This method is mostly used by the config lib internally, not by
* applications.
*
* @return true if environment variables should be used
*/
bool get_use_system_environment() const;
/**
* Returns options with "allow unresolved" set to the given value. By
* default, unresolved substitutions are an error. If unresolved
* substitutions are allowed, then a future attempt to use the unresolved
* value may fail, but {@link config#resolve(config_resolve_options)} itself
* will not throw.
*
* @param value
* true to silently ignore unresolved substitutions.
* @return options with requested setting for whether to allow substitutions
*/
config_resolve_options set_allow_unresolved(bool value) const;
/**
* Returns whether the options allow unresolved substitutions. This method
* is mostly used by the config lib internally, not by applications.
*
* @return true if unresolved substitutions are allowed
*/
bool get_allow_unresolved() const;
private:
bool _use_system_environment;
bool _allow_unresovled;
};
} // namespace hocon
|