dxd - dynax driver framework 2.2.0d85
cross platform open source driver development framework
Loading...
Searching...
No Matches
cf::dictionary<::CFDictionaryRef, cf_object_t > Class Template Reference

#include <cf_dictionary.h>

+ Inheritance diagram for cf::dictionary<::CFDictionaryRef, cf_object_t >:
+ Collaboration diagram for cf::dictionary<::CFDictionaryRef, cf_object_t >:

Public Types

typedef std::map<::CFStringRef, ::CFTypeRef, __string<::CFStringRef >::less > container
 

Public Member Functions

::CFDictionaryRef copy () const noexcept
 create immutable dictionary copy
 
::CFIndex count () const noexcept
 
template<typename petty_t = cf_object_t, typename = typename std::enable_if_t <std::is_same_v<petty_t, ::CFDictionaryRef>>>
 dictionary (::CFDictionaryRef cf_dictionary, ::CFStringRef key=nullptr)
 
template<typename petty_t = cf_object_t, typename = typename std::enable_if_t <std::is_same_v<petty_t, ::CFDictionaryRef>>>
 dictionary (::CFStringRef key, ::CFTypeRef properties=nullptr, const ::CFDictionaryKeyCallBacks *key_callbacks=&string, const ::CFDictionaryValueCallBacks *value_callbacks=nullptr)
 
template<typename value_t , typename = enable_if_convertible<value_t>>
 dictionary (::CFStringRef key, value_t value)
 
 dictionary (const dictionary<::CFDictionaryRef > &copy)
 create a dictionary copy The keys and values from the dictionary are copied as pointers into the new dictionary. However, the keys and values are also retained by the new dictionary. The count of the new dictionary is the same as the count of cf_dictionary. The new dictionary uses the same callbacks as cf_dictionary.
 
template<typename petty_t = cf_object_t, typename = typename std::enable_if_t <std::is_same_v<petty_t, ::CFDictionaryRef>>>
 dictionary (const std::map<::CFStringRef, ::CFTypeRef > &key_value_pairs, const ::CFDictionaryKeyCallBacks *key_callbacks=&string, const ::CFDictionaryValueCallBacks *value_callbacks=nullptr)
 
template<typename petty_t = cf_object_t, typename = typename std::enable_if_t <std::is_same_v<petty_t, ::CFDictionaryRef>>>
 dictionary (const std::map<::CFStringRef, cf::type<> > &key_value_pairs, const ::CFDictionaryKeyCallBacks *key_callbacks=&string, const ::CFDictionaryValueCallBacks *value_callbacks=nullptr)
 
template<typename key_t , typename = enable_if_convertible<key_t>>
 dictionary (key_t key, ::CFTypeRef properties)
 
template<typename key_t , typename value_t , typename = enable_if_convertible<key_t>, typename = enable_if_convertible<value_t>>
 dictionary (key_t key, value_t value)
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
CFTypeID id () noexcept
 
referenceinitialize (cf_object_t cf_object, bool retain=true)
 
 operator bool () const noexcept override
 
 operator cf_object_t () const noexcept
 
 operator container () const try
 
template<typename petty_t = cf_object_t, typename = typename std::enable_if_t <!std::is_same_v<petty_t, ::CFTypeRef>>>
 operator type<> () const noexcept
 
template<typename value_t , typename = std::enable_if_t< is_convertible<value_t>() || is_compatible<value_t>(), value_t>>
 operator value_t () const
 
bool operator!= (cf_object_t cf_object) const noexcept
 
::CFTypeRef operator() (::CFTypeRef dflt) const noexcept
 
template<typename result_t , typename value_t = result_t, typename = enable_if_convertible<value_t>>
result_t operator() (const value_t &dflt) const noexcept
 
template<typename value_t , typename = enable_if_convertible<value_t>>
::CFTypeRef operator() (const value_t &dflt) const noexcept
 
 operator::CFTypeID () const noexcept
 
 operator::CFTypeRef () const
 
bool operator== (::CFDictionaryRef dictionary) const noexcept
 
virtual bool operator== (::CFTypeID cf_type) const noexcept
 
bool operator== (cf_object_t cf_object) const noexcept
 
bool operator== (const dictionary &dictionary) const noexcept
 
referencerelease () noexcept
 
const referenceretain () const noexcept
 

Static Public Member Functions

::CFTypeID id () noexcept
 

Static Protected Member Functions

static Boolean equal (const void *key1, const void *key2)
 

Protected Attributes

cf_object_t cf_object = nullptr
 
reference<::CFStringRef > key
 

Static Protected Attributes

static constexpr ::CFDictionaryKeyCallBacks string {.equal= &equal,}
 

Member Typedef Documentation

◆ container

template<typename cf_object_t >
typedef std::map<::CFStringRef, ::CFTypeRef, __string<::CFStringRef>::less> cf::dictionary<::CFDictionaryRef, cf_object_t >::container

Constructor & Destructor Documentation

◆ dictionary() [1/8]

template<typename cf_object_t >
cf::dictionary<::CFDictionaryRef, cf_object_t >::dictionary ( const dictionary<::CFDictionaryRef > & copy)
inline

create a dictionary copy The keys and values from the dictionary are copied as pointers into the new dictionary. However, the keys and values are also retained by the new dictionary. The count of the new dictionary is the same as the count of cf_dictionary. The new dictionary uses the same callbacks as cf_dictionary.

https://developer.apple.com/documentation/corefoundation/1516796-cfdictionarycreatecopy?language=objc

◆ dictionary() [2/8]

template<typename cf_object_t >
template<typename petty_t = cf_object_t, typename = typename std::enable_if_t <std::is_same_v<petty_t, ::CFDictionaryRef>>>
cf::dictionary<::CFDictionaryRef, cf_object_t >::dictionary ( ::CFDictionaryRef cf_dictionary,
::CFStringRef key = nullptr )
inline

◆ dictionary() [3/8]

template<typename cf_object_t >
template<typename petty_t = cf_object_t, typename = typename std::enable_if_t <std::is_same_v<petty_t, ::CFDictionaryRef>>>
cf::dictionary<::CFDictionaryRef, cf_object_t >::dictionary ( ::CFStringRef key,
::CFTypeRef properties = nullptr,
const ::CFDictionaryKeyCallBacks * key_callbacks = &string,
const ::CFDictionaryValueCallBacks * value_callbacks = nullptr )
inline

◆ dictionary() [4/8]

template<typename cf_object_t >
template<typename petty_t = cf_object_t, typename = typename std::enable_if_t <std::is_same_v<petty_t, ::CFDictionaryRef>>>
cf::dictionary<::CFDictionaryRef, cf_object_t >::dictionary ( const std::map<::CFStringRef, ::CFTypeRef > & key_value_pairs,
const ::CFDictionaryKeyCallBacks * key_callbacks = &string,
const ::CFDictionaryValueCallBacks * value_callbacks = nullptr )
inline

◆ dictionary() [5/8]

template<typename cf_object_t >
template<typename petty_t = cf_object_t, typename = typename std::enable_if_t <std::is_same_v<petty_t, ::CFDictionaryRef>>>
cf::dictionary<::CFDictionaryRef, cf_object_t >::dictionary ( const std::map<::CFStringRef, cf::type<> > & key_value_pairs,
const ::CFDictionaryKeyCallBacks * key_callbacks = &string,
const ::CFDictionaryValueCallBacks * value_callbacks = nullptr )
inline

◆ dictionary() [6/8]

template<typename cf_object_t >
template<typename key_t , typename = enable_if_convertible<key_t>>
cf::dictionary<::CFDictionaryRef, cf_object_t >::dictionary ( key_t key,
::CFTypeRef properties )
inline

◆ dictionary() [7/8]

template<typename cf_object_t >
template<typename value_t , typename = enable_if_convertible<value_t>>
cf::dictionary<::CFDictionaryRef, cf_object_t >::dictionary ( ::CFStringRef key,
value_t value )
inline

◆ dictionary() [8/8]

template<typename cf_object_t >
template<typename key_t , typename value_t , typename = enable_if_convertible<key_t>, typename = enable_if_convertible<value_t>>
cf::dictionary<::CFDictionaryRef, cf_object_t >::dictionary ( key_t key,
value_t value )
inline

Member Function Documentation

◆ copy()

template<typename cf_object_t >
::CFDictionaryRef cf::dictionary<::CFDictionaryRef, cf_object_t >::copy ( ) const
inlinenoexcept

create immutable dictionary copy

◆ count()

template<typename cf_object_t >
::CFIndex cf::reference< cf_object_t >::count ( ) const
inlinenoexceptinherited

◆ equal()

template<typename cf_object_t >
static Boolean cf::dictionary<::CFDictionaryRef, cf_object_t >::equal ( const void * key1,
const void * key2 )
inlinestaticprotected

◆ id() [1/18]

template<typename cf_object_t >
::CFTypeID cf::reference< cf_object_t >::id ( )
staticnoexceptinherited
+ Here is the caller graph for this function:

◆ id() [2/18]

CFTypeID cf::reference<::CFDictionaryRef >::id ( )
inlinenoexceptinherited

◆ id() [3/18]

CFTypeID cf::reference<::CFMutableDictionaryRef >::id ( )
inlinenoexceptinherited

◆ id() [4/18]

CFTypeID cf::reference<::CFNumberRef >::id ( )
inlinenoexceptinherited

◆ id() [5/18]

CFTypeID cf::reference<::CFStringRef >::id ( )
inlinenoexceptinherited

◆ id() [6/18]

CFTypeID cf::reference<::CFMutableStringRef >::id ( )
inlinenoexceptinherited

◆ id() [7/18]

CFTypeID cf::reference<::CFArrayRef >::id ( )
inlinenoexceptinherited

◆ id() [8/18]

CFTypeID cf::reference<::CFMutableArrayRef >::id ( )
inlinenoexceptinherited

◆ id() [9/18]

CFTypeID cf::reference<::CFURLRef >::id ( )
inlinenoexceptinherited

◆ id() [10/18]

CFTypeID cf::reference<::CFBundleRef >::id ( )
inlinenoexceptinherited

◆ id() [11/18]

CFTypeID cf::reference<::CFDataRef >::id ( )
inlinenoexceptinherited

◆ id() [12/18]

CFTypeID cf::reference<::CFUUIDRef >::id ( )
inlinenoexceptinherited

◆ id() [13/18]

CFTypeID cf::reference<::CFRunLoopRef >::id ( )
inlinenoexceptinherited

◆ id() [14/18]

CFTypeID cf::reference<::CFRunLoopSourceRef >::id ( )
inlinenoexceptinherited

◆ id() [15/18]

CFTypeID cf::reference<::CFRunLoopObserverRef >::id ( )
inlinenoexceptinherited

◆ id() [16/18]

CFTypeID cf::reference<::CFErrorRef >::id ( )
inlinenoexceptinherited

◆ id() [17/18]

CFTypeID cf::reference<::CFTypeRef >::id ( )
inlinenoexceptinherited

◆ id() [18/18]

CFTypeID cf::reference<::SCPreferencesRef >::id ( )
inlinenoexceptinherited

◆ initialize()

template<typename cf_object_t >
reference & cf::reference< cf_object_t >::initialize ( cf_object_t cf_object,
bool retain = true )
inlineinherited
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ operator bool()

template<typename cf_object_t >
cf::dictionary<::CFDictionaryRef, cf_object_t >::operator bool ( ) const
inlineoverridevirtualnoexcept

Reimplemented from cf::reference< cf_object_t >.

◆ operator cf_object_t()

template<typename cf_object_t >
cf::reference< cf_object_t >::operator cf_object_t ( ) const
inlinenoexceptinherited

◆ operator container()

template<typename cf_object_t >
cf::dictionary<::CFDictionaryRef, cf_object_t >::operator container ( ) const
inline

◆ operator type<>()

template<typename cf_object_t >
template<typename petty_t = cf_object_t, typename = typename std::enable_if_t <!std::is_same_v<petty_t, ::CFTypeRef>>>
cf::reference< cf_object_t >::operator type<> ( ) const
noexceptinherited

◆ operator value_t()

template<typename cf_object_t >
template<typename value_t , typename = std::enable_if_t< is_convertible<value_t>() || is_compatible<value_t>(), value_t>>
cf::dictionary<::CFDictionaryRef, cf_object_t >::operator value_t ( ) const
inline

◆ operator!=()

template<typename cf_object_t >
bool cf::reference< cf_object_t >::operator!= ( cf_object_t cf_object) const
inlinenoexceptinherited

◆ operator()() [1/3]

template<typename cf_object_t >
::CFTypeRef cf::dictionary<::CFDictionaryRef, cf_object_t >::operator() ( ::CFTypeRef dflt) const
inlinenoexcept

◆ operator()() [2/3]

template<typename cf_object_t >
template<typename result_t , typename value_t = result_t, typename = enable_if_convertible<value_t>>
result_t cf::dictionary<::CFDictionaryRef, cf_object_t >::operator() ( const value_t & dflt) const
inlinenoexcept

◆ operator()() [3/3]

template<typename cf_object_t >
template<typename value_t , typename = enable_if_convertible<value_t>>
::CFTypeRef cf::dictionary<::CFDictionaryRef, cf_object_t >::operator() ( const value_t & dflt) const
inlinenoexcept

◆ operator::CFTypeID()

template<typename cf_object_t >
cf::reference< cf_object_t >::operator::CFTypeID ( ) const
inlinenoexceptinherited

◆ operator::CFTypeRef()

template<typename cf_object_t >
cf::dictionary<::CFDictionaryRef, cf_object_t >::operator::CFTypeRef ( ) const
inline

◆ operator==() [1/4]

template<typename cf_object_t >
bool cf::dictionary<::CFDictionaryRef, cf_object_t >::operator== ( ::CFDictionaryRef dictionary) const
inlinenoexcept

◆ operator==() [2/4]

template<typename cf_object_t >
virtual bool cf::reference< cf_object_t >::operator== ( ::CFTypeID cf_type) const
inlinevirtualnoexceptinherited
+ Here is the call graph for this function:

◆ operator==() [3/4]

template<typename cf_object_t >
bool cf::reference< cf_object_t >::operator== ( cf_object_t cf_object) const
inlinenoexceptinherited

◆ operator==() [4/4]

template<typename cf_object_t >
bool cf::dictionary<::CFDictionaryRef, cf_object_t >::operator== ( const dictionary<::CFDictionaryRef, cf_object_t > & dictionary) const
inlinenoexcept

◆ release()

template<typename cf_object_t >
reference & cf::reference< cf_object_t >::release ( )
inlinenoexceptinherited
+ Here is the caller graph for this function:

◆ retain()

template<typename cf_object_t >
const reference & cf::reference< cf_object_t >::retain ( ) const
inlinenoexceptinherited
+ Here is the caller graph for this function:

Member Data Documentation

◆ cf_object

template<typename cf_object_t >
cf_object_t cf::reference< cf_object_t >::cf_object = nullptr
protectedinherited

◆ key

template<typename cf_object_t >
reference<::CFStringRef> cf::dictionary<::CFDictionaryRef, cf_object_t >::key
protected

◆ string

template<typename cf_object_t >
constexpr ::CFDictionaryKeyCallBacks cf::dictionary<::CFDictionaryRef, cf_object_t >::string {.equal= &equal,}
staticprotected

The documentation for this class was generated from the following file:

(c) copyright 2009 dynamic acoustics e.U. generated on Thu Jan 23 2025

a closed source license may be obtained by requesting a written permission from dynamic acoustics e.U.
however - governmental use generally and military use especially is strictly prohibited though.