persistant storarage base class - do not use directly! use cf::preference
More...
#include <cf_preference.h>
|
| | _preference (::CFStringRef application=::kCFPreferencesCurrentApplication, ::CFStringRef user=::kCFPreferencesCurrentUser, ::CFStringRef host=::kCFPreferencesAnyHost) |
| | _preference (const char *application) |
| | catch (...) |
| | catch (...) |
| DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN | catch (const dx::exception &__dx_exception) |
| DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN | catch (const dx::exception &__dx_exception) |
| | catch (const std::exception &__std_exception) |
| | catch (const std::exception &__std_exception) |
| | dx_catchall_rethrow () template< typename self_t > static void assign_property(const self_t &self |
| template<typename container_t, typename = typename std::enable_if< dx::is_string_container_v<container_t>, container_t>::type> |
| | operator container_t () const try |
| | position-only: self's own child names, as any string container.
|
| size_t | size () const try |
| | self's own immediate child count.
|
| void | synchronize () noexcept |
persistant storarage base class - do not use directly! use cf::preference
Implements cf::tree's 10 position-only primitives (cf_tree.h) over CFPreferences - operating on this key alone (application/user/host, one bare CFPreferences key, empty meaning the whole domain), never the parent chain. cf::tree supplies the dx::key_value_tree<_preference> contract (fetch/assign/purge/nested) on top, by recursing through those primitives up to the true root.
◆ _preference() [1/3]
| cf::_preference::_preference |
( |
const _preference & | preference, |
|
|
const std::string & | key ) |
|
inlineprotected |
cheap: no I/O at all, just extends identity with a bare child name - this is what dx::key_value_tree::operator[] builds on.
◆ ~_preference()
| cf::_preference::~_preference |
( |
| ) |
|
|
inlineprotected |
◆ _preference() [2/3]
| cf::_preference::_preference |
( |
::CFStringRef | application = ::kCFPreferencesCurrentApplication, |
|
|
::CFStringRef | user = ::kCFPreferencesCurrentUser, |
|
|
::CFStringRef | host = ::kCFPreferencesAnyHost ) |
|
inline |
◆ _preference() [3/3]
| cf::_preference::_preference |
( |
const char * | application | ) |
|
|
inline |
◆ assign()
◆ catch() [1/21]
| cf::_preference::catch |
( |
| ... | ) |
|
|
inlineprotected |
◆ catch() [2/21]
| cf::_preference::catch |
( |
| ... | ) |
|
|
inline |
◆ catch() [3/21]
| cf::_preference::catch |
( |
| ... | ) |
|
|
inline |
◆ catch() [4/21]
| cf::_preference::catch |
( |
| ... | ) |
|
|
inlineprotected |
◆ catch() [5/21]
| cf::_preference::catch |
( |
| ... | ) |
|
|
inlineprotected |
◆ catch() [6/21]
| cf::_preference::catch |
( |
| ... | ) |
|
|
inlineprotected |
◆ catch() [7/21]
| cf::_preference::catch |
( |
| ... | ) |
|
|
inlineprotected |
◆ catch() [8/21]
| DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN cf::_preference::catch |
( |
const dx::exception & | __dx_exception | ) |
|
|
inlineprotected |
◆ catch() [9/21]
| DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN cf::_preference::catch |
( |
const dx::exception & | __dx_exception | ) |
|
|
inline |
◆ catch() [10/21]
| DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN cf::_preference::catch |
( |
const dx::exception & | __dx_exception | ) |
|
|
inline |
◆ catch() [11/21]
| DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN cf::_preference::catch |
( |
const dx::exception & | __dx_exception | ) |
|
|
inlineprotected |
◆ catch() [12/21]
| DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN cf::_preference::catch |
( |
const dx::exception & | __dx_exception | ) |
|
|
inlineprotected |
◆ catch() [13/21]
| DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN cf::_preference::catch |
( |
const dx::exception & | __dx_exception | ) |
|
|
inlineprotected |
◆ catch() [14/21]
| DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN cf::_preference::catch |
( |
const dx::exception & | __dx_exception | ) |
|
|
inlineprotected |
◆ catch() [15/21]
| cf::_preference::catch |
( |
const std::exception & | __std_exception | ) |
|
|
inlineprotected |
◆ catch() [16/21]
| cf::_preference::catch |
( |
const std::exception & | __std_exception | ) |
|
|
inline |
◆ catch() [17/21]
| cf::_preference::catch |
( |
const std::exception & | __std_exception | ) |
|
|
inline |
◆ catch() [18/21]
| cf::_preference::catch |
( |
const std::exception & | __std_exception | ) |
|
|
inlineprotected |
◆ catch() [19/21]
| cf::_preference::catch |
( |
const std::exception & | __std_exception | ) |
|
|
inlineprotected |
◆ catch() [20/21]
| cf::_preference::catch |
( |
const std::exception & | __std_exception | ) |
|
|
inlineprotected |
◆ catch() [21/21]
| cf::_preference::catch |
( |
const std::exception & | __std_exception | ) |
|
|
inlineprotected |
◆ children()
◆ container()
| DX_PRAGMA_IGNORE_RETURN_VALUE_END bool cf::_preference::container |
( |
| ) |
const |
|
inlineprotected |
◆ dx_catchall_rethrow()
downward write-back mirroring property_list()'s upward read, creating ancestor dictionaries as needed. baseline is the parent value this write's own value was computed from (passed down from the caller's own property_list() read) - at the root, a mismatch against the current stored value means a concurrent writer raced this one, and dx::busy is raised so assign()/purge() retry against fresh state.
◆ erase()
| DX_PRAGMA_IGNORE_RETURN_VALUE_END void cf::_preference::erase |
( |
| ) |
|
|
inlineprotectednoexcept |
◆ fetch()
◆ nested()
◆ operator array<>::dx_container()
| DX_PRAGMA_IGNORE_RETURN_VALUE_END cf::_preference::operator array<>::dx_container |
( |
| ) |
const |
|
inlineprotected |
same enumeration as operator ::CFArrayRef(), as the friendlier vector-of-cf::type<> container.
◆ operator bool()
| cf::_preference::operator bool |
( |
| ) |
const |
|
inlineprotectednoexcept |
◆ operator container_t()
template<typename container_t, typename = typename std::enable_if< dx::is_string_container_v<container_t>, container_t>::type>
| cf::_preference::operator container_t |
( |
| ) |
const |
|
inline |
position-only: self's own child names, as any string container.
◆ operator()()
| DX_PRAGMA_IGNORE_RETURN_VALUE_END::CFPropertyListRef cf::_preference::operator() |
( |
::CFPropertyListRef | dflt | ) |
const |
|
inlineprotected |
◆ operator::CFArrayRef()
| DX_PRAGMA_IGNORE_RETURN_VALUE_END cf::_preference::operator::CFArrayRef |
( |
| ) |
const |
|
inlineprotected |
+1: this key's own dictionary keys, or (key empty) the whole domain's top-level keys.
◆ operator::CFPropertyListRef()
| cf::_preference::operator::CFPropertyListRef |
( |
| ) |
const |
|
inlineprotected |
position-only: this key alone (empty means the whole domain) - +1, never sees the parent chain (see contract note above).
◆ operator=() [1/2]
◆ operator=() [2/2]
| void cf::_preference::operator= |
( |
const _preference & | preference | ) |
|
|
inlineprotectednoexcept |
◆ property_list()
◆ size()
| size_t cf::_preference::size |
( |
| ) |
const |
|
inline |
self's own immediate child count.
◆ synchronize()
| void cf::_preference::synchronize |
( |
| ) |
|
|
inlinenoexcept |
◆ tree< _preference >
◆ baseline
◆ key
| std::string cf::_preference::key |
◆ value
The documentation for this class was generated from the following file: