Objective-C++ Preprocessor  5.0 with ARC & GC
C++ classes to enhance syntax and manage reference counting.
Public Member Functions | List of all members
OODictionary< ETYPE > Class Template Reference

#include <objcpp.h>

Inheritance diagram for OODictionary< ETYPE >:
OOReference< NSMutableDictionary * >

Public Member Functions

oo_inline OODictionary ()
 
oo_inline OODictionary (id obj)
 
oo_inline OODictionary (CFNullRef obj)
 
oo_inline OODictionary (const OODictionary &dict)
 
oo_inline OODictionary (const OOArraySub< ETYPE > &sub)
 
oo_inline OODictionary (const OODictionarySub< ETYPE > &sub)
 
oo_inline OODictionary (const OOReference< NSMutableDictionary * > &val)
 
oo_inline OODictionary (const OOReference< NSMutableArray * > &val)
 
oo_inline OODictionary (const OOStringSearch &search)
 
oo_inline OODictionary (int nilOrCapacity)
 
oo_inline OODictionary (NSMutableDictionary *dict)
 
oo_inline OODictionary (NSDictionary *dict)
 
oo_inline OODictionary (const char *val)
 
oo_inline OODictionary (const char **val)
 
oo_inline OODictionary (id e1, id e2,...) NS_REQUIRES_NIL_TERMINATION
 
oo_inline OOSlice keys ()
 
oo_inline OODictionary filter (BOOL(^callback)(id key, ETYPE value))
 
oo_inline OODictionary map (id(^callback)(id key, ETYPE value))
 
oo_inline OODictionary operator& (BOOL(^callback)(id object))
 
oo_inline OODictionary operator& (id(^callback)(id object))
 
oo_inline OODictionary (const std::map< std::string, ETYPE > &map)
 
oo_inline OODictionary & operator= (const std::map< std::string, ETYPE > &map)
 
oo_inline operator std::map< std::string, ETYPE > ()
 
oo_inline OODictionary (const std::map< std::string, std::string > &map)
 
oo_inline OODictionary & operator= (const std::map< std::string, std::string > &map)
 
oo_inline operator std::map< std::string, std::string > ()
 
oo_inline NSMutableDictionary * operator& () const
 
oo_inline OODictionary & operator= (id val)
 oo_inline operator int () const { return !*this ? 0 : (int)[[get() allKeys] count]; }
 
oo_inline OODictionary & operator= (NSMutableDictionary *val)
 
oo_inline OODictionary & operator= (NSDictionary *val)
 
oo_inline OODictionary & operator= (int nilOrCapacity)
 
oo_inline OODictionary & operator= (long nilOrCapacity)
 
oo_inline OODictionary & operator= (const OODictionary &val)
 
oo_inline OODictionary & operator= (const OOArraySub< ETYPE > &val)
 
oo_inline OODictionary & operator= (const OODictionarySub< ETYPE > &val)
 
oo_inline OODictionary & operator= (const OOReference< NSMutableDictionary * > &val)
 
oo_inline OODictionary & operator= (const OOStringSearch &search)
 
oo_inline OODictionary & operator= (const OOReference< NSMutableArray * > &val)
 
oo_inline OODictionary & operator= (const char *val)
 
oo_inline OODictionary & operator= (const char **val)
 
oo_inline BOOL operator== (NSDictionary *val) const
 
oo_inline BOOL operator!= (NSDictionary *val) const
 
oo_inline BOOL operator== (NSMutableDictionary *val) const
 
oo_inline BOOL operator!= (NSMutableDictionary *val) const
 
oo_inline BOOL operator== (const OODictionary &val) const
 
oo_inline BOOL operator!= (const OODictionary &val) const
 
oo_inline OODictionary & operator-= (id val)
 
oo_inline OODictionary & operator-= (const OOReference< NSMutableArray * > &val)
 
oo_inline OODictionary & operator-= (const OOReference< NSMutableDictionary * > &val)
 
oo_inline OODictionary & operator*= (const OODictionary< ETYPE > &val)
 
oo_inline OODictionary & operator&= (const OODictionary &val)
 
oo_inline OODictionary & operator|= (const OODictionary &val)
 
oo_inline OODictionary operator& (const OODictionary &val) const
 
oo_inline OODictionary operator| (const OODictionary &val) const
 
oo_inline OODictionarySub< ETYPE > operator[] (id sub) const
 
oo_inline OODictionarySub< ETYPE > operator[] (NSString *sub) const
 
oo_inline OODictionarySub< ETYPE > operator[] (cOOString sub) const
 
oo_inline OODictionarySub< ETYPE > operator[] (const OOArraySub< id > &sub) const
 
oo_inline OODictionarySub< ETYPE > operator[] (const OOArraySub< OOString > &sub) const
 
oo_inline OODictionarySub< ETYPE > operator[] (const OODictionarySub< OOString > &sub) const
 
oo_inline OODictionarySlice
< ETYPE > 
operator[] (const OOReference< NSMutableArray * > &subs) const
 

Detailed Description

template<typename ETYPE>
class OODictionary< ETYPE >

NSMutableDictionary wrapper for use in instance variables which allows subscripting by the key value. Use &~dict["key"] to remove the entry and return it with expression or autorelease scope. Subscripting can be applied recusively. ETYPE is type of leaf node.

Operators:

operatorinplacearguments
take referernce=dictionary
take copy<<=dictionary
merge entries+=dictionary
remove entries-=key or array
sbuscript[]object (key) or "slice" of keys

Usage:

  • (void)function:(OODictionary<NSString *> &)dict { dict["ONE"][@"TWO"][@"THREE"] = @"Four"; // set valule NSString *str = *dict[@"ONE"][@"TWO"][@"THREE"]; // get value ~dict[@"ONE"][@"TWO"][@"THREE"]; // delete value pointer "str" is invalid at this point }
  • (void)function:(NSMutableDictionary *)dict { OODictionary<OOString> ref <<= dict; // initialise mutable copy ref["KEY"] <<= @""; for ( int i=0 ; i<10 ; i++ ) ref["KEY"] += "ABC"; }
 

Definition at line 270 of file objcpp.h.

Constructor & Destructor Documentation

template<typename ETYPE>
oo_inline OODictionary< ETYPE >::OODictionary ( )
inline

Definition at line 921 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary< ETYPE >::OODictionary ( id  obj)
inline

Definition at line 922 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary< ETYPE >::OODictionary ( CFNullRef  obj)
inline

Definition at line 923 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary< ETYPE >::OODictionary ( const OODictionary< ETYPE > &  dict)
inline

Definition at line 924 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary< ETYPE >::OODictionary ( const OOArraySub< ETYPE > &  sub)
inline

Definition at line 925 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary< ETYPE >::OODictionary ( const OODictionarySub< ETYPE > &  sub)
inline

Definition at line 926 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary< ETYPE >::OODictionary ( const OOReference< NSMutableDictionary * > &  val)
inline

Definition at line 927 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary< ETYPE >::OODictionary ( const OOReference< NSMutableArray * > &  val)
inline

Definition at line 928 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary< ETYPE >::OODictionary ( const OOStringSearch &  search)
inline

Definition at line 929 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary< ETYPE >::OODictionary ( int  nilOrCapacity)
inline

Definition at line 930 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary< ETYPE >::OODictionary ( NSMutableDictionary *  dict)
inline

Definition at line 931 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary< ETYPE >::OODictionary ( NSDictionary *  dict)
inline

Definition at line 932 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary< ETYPE >::OODictionary ( const char *  val)
inline

Definition at line 933 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary< ETYPE >::OODictionary ( const char **  val)
inline

Definition at line 934 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary< ETYPE >::OODictionary ( id  e1,
id  e2,
  ... 
)
inline

Definition at line 935 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary< ETYPE >::OODictionary ( const std::map< std::string, ETYPE > &  map)
inline

Definition at line 976 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary< ETYPE >::OODictionary ( const std::map< std::string, std::string > &  map)
inline

Definition at line 990 of file objcpp.h.

Member Function Documentation

template<typename ETYPE>
oo_inline OODictionary OODictionary< ETYPE >::filter ( BOOL(^)(id key, ETYPE value)  callback)
inline

Definition at line 949 of file objcpp.h.

template<typename ETYPE>
oo_inline OOSlice OODictionary< ETYPE >::keys ( )
inline

Definition at line 944 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary OODictionary< ETYPE >::map ( id(^)(id key, ETYPE value)  callback)
inline

Definition at line 959 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary< ETYPE >::operator std::map< std::string, ETYPE > ( )
inline

Definition at line 983 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary< ETYPE >::operator std::map< std::string, std::string > ( )
inline

Definition at line 997 of file objcpp.h.

template<typename ETYPE>
oo_inline BOOL OODictionary< ETYPE >::operator!= ( NSDictionary *  val) const
inline

Definition at line 1036 of file objcpp.h.

template<typename ETYPE>
oo_inline BOOL OODictionary< ETYPE >::operator!= ( NSMutableDictionary *  val) const
inline

Definition at line 1038 of file objcpp.h.

template<typename ETYPE>
oo_inline BOOL OODictionary< ETYPE >::operator!= ( const OODictionary< ETYPE > &  val) const
inline

Definition at line 1040 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary OODictionary< ETYPE >::operator& ( BOOL(^)(id object)  callback)
inline

Definition at line 968 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary OODictionary< ETYPE >::operator& ( id(^)(id object)  callback)
inline

Definition at line 971 of file objcpp.h.

template<typename ETYPE>
oo_inline NSMutableDictionary* OODictionary< ETYPE >::operator& ( ) const
inline

Definition at line 1006 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary OODictionary< ETYPE >::operator& ( const OODictionary< ETYPE > &  val) const
inline

Definition at line 1090 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary& OODictionary< ETYPE >::operator&= ( const OODictionary< ETYPE > &  val)
inline

Definition at line 1064 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary& OODictionary< ETYPE >::operator*= ( const OODictionary< ETYPE > &  val)
inline

Definition at line 1055 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary& OODictionary< ETYPE >::operator-= ( id  val)
inline

Definition at line 1043 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary& OODictionary< ETYPE >::operator-= ( const OOReference< NSMutableArray * > &  val)
inline

Definition at line 1047 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary& OODictionary< ETYPE >::operator-= ( const OOReference< NSMutableDictionary * > &  val)
inline

Definition at line 1051 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary& OODictionary< ETYPE >::operator= ( const std::map< std::string, ETYPE > &  map)
inline

Definition at line 977 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary& OODictionary< ETYPE >::operator= ( const std::map< std::string, std::string > &  map)
inline

Definition at line 991 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary& OODictionary< ETYPE >::operator= ( id  val)
inline

oo_inline operator int () const { return !*this ? 0 : (int)[[get() allKeys] count]; }

Definition at line 1009 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary& OODictionary< ETYPE >::operator= ( NSMutableDictionary *  val)
inline

Definition at line 1010 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary& OODictionary< ETYPE >::operator= ( NSDictionary *  val)
inline

Definition at line 1011 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary& OODictionary< ETYPE >::operator= ( int  nilOrCapacity)
inline

Definition at line 1012 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary& OODictionary< ETYPE >::operator= ( long  nilOrCapacity)
inline

Definition at line 1013 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary& OODictionary< ETYPE >::operator= ( const OODictionary< ETYPE > &  val)
inline

Definition at line 1014 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary& OODictionary< ETYPE >::operator= ( const OOArraySub< ETYPE > &  val)
inline

Definition at line 1015 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary& OODictionary< ETYPE >::operator= ( const OODictionarySub< ETYPE > &  val)
inline

Definition at line 1016 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary& OODictionary< ETYPE >::operator= ( const OOReference< NSMutableDictionary * > &  val)
inline

Definition at line 1017 of file objcpp.h.

template<typename ETYPE>
OODictionary< ETYPE > & OODictionary< ETYPE >::operator= ( const OOStringSearch &  search)
inline

Definition at line 942 of file objstr.h.

template<typename ETYPE>
oo_inline OODictionary& OODictionary< ETYPE >::operator= ( const OOReference< NSMutableArray * > &  val)
inline

Definition at line 1020 of file objcpp.h.

template<typename ETYPE>
OODictionary< ETYPE > & OODictionary< ETYPE >::operator= ( const char *  val)
inline

Definition at line 456 of file objstr.h.

template<typename ETYPE>
OODictionary< ETYPE > & OODictionary< ETYPE >::operator= ( const char **  val)
inline

Definition at line 461 of file objstr.h.

template<typename ETYPE>
oo_inline BOOL OODictionary< ETYPE >::operator== ( NSDictionary *  val) const
inline

Definition at line 1035 of file objcpp.h.

template<typename ETYPE>
oo_inline BOOL OODictionary< ETYPE >::operator== ( NSMutableDictionary *  val) const
inline

Definition at line 1037 of file objcpp.h.

template<typename ETYPE>
oo_inline BOOL OODictionary< ETYPE >::operator== ( const OODictionary< ETYPE > &  val) const
inline

Definition at line 1039 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionarySub<ETYPE> OODictionary< ETYPE >::operator[] ( id  sub) const
inline

Definition at line 1097 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionarySub<ETYPE> OODictionary< ETYPE >::operator[] ( NSString *  sub) const
inline

Definition at line 1100 of file objcpp.h.

template<typename ETYPE >
OODictionarySub< ETYPE > OODictionary< ETYPE >::operator[] ( cOOString  sub) const
inline

Definition at line 467 of file objstr.h.

template<typename ETYPE>
oo_inline OODictionarySub<ETYPE> OODictionary< ETYPE >::operator[] ( const OOArraySub< id > &  sub) const
inline

Definition at line 1104 of file objcpp.h.

template<typename ETYPE >
OODictionarySub< ETYPE > OODictionary< ETYPE >::operator[] ( const OOArraySub< OOString > &  sub) const
inline

Definition at line 472 of file objstr.h.

template<typename ETYPE >
OODictionarySub< ETYPE > OODictionary< ETYPE >::operator[] ( const OODictionarySub< OOString > &  sub) const
inline

Definition at line 477 of file objstr.h.

template<typename ETYPE>
oo_inline OODictionarySlice<ETYPE> OODictionary< ETYPE >::operator[] ( const OOReference< NSMutableArray * > &  subs) const
inline

Definition at line 1110 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary OODictionary< ETYPE >::operator| ( const OODictionary< ETYPE > &  val) const
inline

Definition at line 1093 of file objcpp.h.

template<typename ETYPE>
oo_inline OODictionary& OODictionary< ETYPE >::operator|= ( const OODictionary< ETYPE > &  val)
inline

Definition at line 1080 of file objcpp.h.


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