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

#include <objcpp.h>

Inherited by OOArraySub< NSMutableArray * >, OOArraySub< NSMutableDictionary * >, OOArraySub< OOClassPtr< CNAME > >, OOArraySub< OOString >, OOArraySub< RTYPE * >, OODictionarySub< NSMutableArray * >, OODictionarySub< NSMutableDictionary * >, OODictionarySub< OOClassPtr< CNAME > >, OODictionarySub< OOString >, and OODictionarySub< RTYPE * >.

Public Member Functions

oo_inline id alloc (Class c) const OO_RETURNS
 
RTYPE * parent (BOOL allocate) const OO_RETURNS
 
oo_inline OOArray< ETYPE > array ()
 
oo_inline OODict< ETYPE > dict ()
 
oo_inline NSUInteger count ()
 
oo_inline OOSlice keys ()
 
oo_inline ETYPE operator* () const OO_RETURNS
 
oo_inline ETYPE operator-> () const OO_RETURNS
 
oo_inline id operator& () const OO_AUTORETURNS
 
oo_inline BOOL operator! () const
 
oo_inline operator const char * () const
 
oo_inline OOArraySub< STYPE > operator[] (int sub) const
 
oo_inline OOArraySlice< STYPE > operator[] (const NSRange &sub) const
 
oo_inline OODictionarySub< STYPE > operator[] (id sub) const
 
oo_inline OODictionarySub< STYPE > operator[] (const CFStringRef sub) const
 
oo_inline OODictionarySub< STYPE > operator[] (cOOString sub) const
 
oo_inline OODictionarySub< STYPE > operator[] (const char *sub) const
 
oo_inline OODictionarySlice
< STYPE > 
operator[] (const OOReference< NSMutableArray * > &sub) const
 
oo_inline OOSubscriptoperator<<= (id< NSMutableCopying > val)
 
oo_inline OOSubscriptoperator<<= (const char *val)
 
oo_inline OOSubscriptoperator= (NSArray *val)
 
oo_inline OOSubscriptoperator= (NSDictionary *val)
 
oo_inline OOSubscriptoperator= (NSMutableString *val)
 
oo_inline OOSubscriptoperator= (NSString *val)
 
oo_inline OOSubscriptoperator= (NSNumber *val)
 
oo_inline OOSubscriptoperator= (NSNull *val)
 
oo_inline BOOL operator== (const ETYPE val) const
 
oo_inline BOOL operator!= (const ETYPE val) const
 
oo_inline BOOL operator>= (const ETYPE val) const
 
oo_inline BOOL operator<= (const ETYPE val) const
 
oo_inline BOOL operator> (const ETYPE val) const
 
oo_inline BOOL operator< (const ETYPE val) const
 
oo_inline BOOL operator== (const char *val) const
 
oo_inline BOOL operator!= (const char *val) const
 
oo_inline BOOL operator>= (const char *val) const
 
oo_inline BOOL operator<= (const char *val) const
 
oo_inline BOOL operator> (const char *val) const
 
oo_inline BOOL operator< (const char *val) const
 
oo_inline BOOL operator== (const OOSubscript &val) const
 
oo_inline BOOL operator!= (const OOSubscript &val) const
 
oo_inline BOOL operator>= (const OOSubscript &val) const
 
oo_inline BOOL operator<= (const OOSubscript &val) const
 
oo_inline BOOL operator> (const OOSubscript &val) const
 
oo_inline BOOL operator< (const OOSubscript &val) const
 
oo_inline OOSubscriptoperator+= (const ETYPE val)
 
oo_inline OOSubscriptoperator-= (const ETYPE val)
 
oo_inline OOSubscriptoperator*= (const ETYPE val)
 
oo_inline OOSubscriptoperator/= (const ETYPE val)
 
oo_inline OOSubscriptoperator%= (const ETYPE val)
 
oo_inline OOSubscriptoperator&= (const ETYPE val)
 
oo_inline OOSubscriptoperator|= (const ETYPE val)
 
oo_inline ETYPE operator+ (const ETYPE val) const
 
oo_inline ETYPE operator- (const ETYPE val) const
 
oo_inline ETYPE operator* (const ETYPE val) const
 
oo_inline ETYPE operator/ (const ETYPE val) const
 
oo_inline ETYPE operator% (const ETYPE val) const
 
oo_inline ETYPE operator& (const ETYPE val) const
 
oo_inline ETYPE operator| (const ETYPE val) const
 
oo_inline ETYPE operator+ (NSString *val)
 

Public Attributes

int references
 

Protected Member Functions

oo_inline OOSubscript ()
 
oo_inline ~OOSubscript ()
 
oo_inline id autoget () const OO_AUTORETURNS
 
virtual oo_inline id get (BOOL warn=YES) const OO_RETURNS
 
virtual oo_inline id set (id val) const OO_RETURNS
 

Protected Attributes

const OOReference< RTYPE * > * root
 
OOArraySub< RTYPE * > * aref
 
OODictionarySub< RTYPE * > * dref
 
OO_UNSAFE id parentCache
 

Detailed Description

template<typename ETYPE, typename RTYPE, typename STYPE>
class OOSubscript< ETYPE, RTYPE, STYPE >

Internal abstract superclass for subscripting operations by operator []

Definition at line 276 of file objcpp.h.

Constructor & Destructor Documentation

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OOSubscript< ETYPE, RTYPE, STYPE >::OOSubscript ( )
inlineprotected

Definition at line 1130 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OOSubscript< ETYPE, RTYPE, STYPE >::~OOSubscript ( )
inlineprotected

Definition at line 1135 of file objcpp.h.

Member Function Documentation

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline id OOSubscript< ETYPE, RTYPE, STYPE >::alloc ( Class  c) const
inline

Definition at line 1152 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OOArray<ETYPE> OOSubscript< ETYPE, RTYPE, STYPE >::array ( )
inline

Definition at line 1179 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline id OOSubscript< ETYPE, RTYPE, STYPE >::autoget ( ) const
inlineprotected

Definition at line 1142 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline NSUInteger OOSubscript< ETYPE, RTYPE, STYPE >::count ( )
inline

Definition at line 1185 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OODict<ETYPE> OOSubscript< ETYPE, RTYPE, STYPE >::dict ( )
inline

Definition at line 1182 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
virtual oo_inline id OOSubscript< ETYPE, RTYPE, STYPE >::get ( BOOL  warn = YES) const
inlineprotectedvirtual

Definition at line 1146 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OOSlice OOSubscript< ETYPE, RTYPE, STYPE >::keys ( )
inline

Definition at line 1188 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OOSubscript< ETYPE, RTYPE, STYPE >::operator const char * ( ) const
inline

Definition at line 1198 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline BOOL OOSubscript< ETYPE, RTYPE, STYPE >::operator! ( ) const
inline

Definition at line 1196 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline BOOL OOSubscript< ETYPE, RTYPE, STYPE >::operator!= ( const ETYPE  val) const
inline

Definition at line 1239 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline BOOL OOSubscript< ETYPE, RTYPE, STYPE >::operator!= ( const char *  val) const
inline

Definition at line 1246 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline BOOL OOSubscript< ETYPE, RTYPE, STYPE >::operator!= ( const OOSubscript< ETYPE, RTYPE, STYPE > &  val) const
inline

Definition at line 1253 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline ETYPE OOSubscript< ETYPE, RTYPE, STYPE >::operator% ( const ETYPE  val) const
inline

Definition at line 1273 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OOSubscript& OOSubscript< ETYPE, RTYPE, STYPE >::operator%= ( const ETYPE  val)
inline

Definition at line 1264 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline id OOSubscript< ETYPE, RTYPE, STYPE >::operator& ( ) const
inline

Definition at line 1195 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline ETYPE OOSubscript< ETYPE, RTYPE, STYPE >::operator& ( const ETYPE  val) const
inline

Definition at line 1274 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OOSubscript& OOSubscript< ETYPE, RTYPE, STYPE >::operator&= ( const ETYPE  val)
inline

Definition at line 1265 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline ETYPE OOSubscript< ETYPE, RTYPE, STYPE >::operator* ( ) const
inline

Definition at line 1193 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline ETYPE OOSubscript< ETYPE, RTYPE, STYPE >::operator* ( const ETYPE  val) const
inline

Definition at line 1271 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OOSubscript& OOSubscript< ETYPE, RTYPE, STYPE >::operator*= ( const ETYPE  val)
inline

Definition at line 1262 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline ETYPE OOSubscript< ETYPE, RTYPE, STYPE >::operator+ ( const ETYPE  val) const
inline

Definition at line 1269 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline ETYPE OOSubscript< ETYPE, RTYPE, STYPE >::operator+ ( NSString *  val)
inline

Definition at line 1278 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OOSubscript& OOSubscript< ETYPE, RTYPE, STYPE >::operator+= ( const ETYPE  val)
inline

Definition at line 1260 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline ETYPE OOSubscript< ETYPE, RTYPE, STYPE >::operator- ( const ETYPE  val) const
inline

Definition at line 1270 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OOSubscript& OOSubscript< ETYPE, RTYPE, STYPE >::operator-= ( const ETYPE  val)
inline

Definition at line 1261 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline ETYPE OOSubscript< ETYPE, RTYPE, STYPE >::operator-> ( ) const
inline

Definition at line 1194 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline ETYPE OOSubscript< ETYPE, RTYPE, STYPE >::operator/ ( const ETYPE  val) const
inline

Definition at line 1272 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OOSubscript& OOSubscript< ETYPE, RTYPE, STYPE >::operator/= ( const ETYPE  val)
inline

Definition at line 1263 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline BOOL OOSubscript< ETYPE, RTYPE, STYPE >::operator< ( const ETYPE  val) const
inline

Definition at line 1243 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline BOOL OOSubscript< ETYPE, RTYPE, STYPE >::operator< ( const char *  val) const
inline

Definition at line 1250 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline BOOL OOSubscript< ETYPE, RTYPE, STYPE >::operator< ( const OOSubscript< ETYPE, RTYPE, STYPE > &  val) const
inline

Definition at line 1257 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OOSubscript& OOSubscript< ETYPE, RTYPE, STYPE >::operator<<= ( id< NSMutableCopying >  val)
inline

Definition at line 1223 of file objcpp.h.

template<typename ETYPE , typename RTYPE , typename STYPE >
OOSubscript< ETYPE, RTYPE, STYPE > & OOSubscript< ETYPE, RTYPE, STYPE >::operator<<= ( const char *  val)
inline

Definition at line 492 of file objstr.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline BOOL OOSubscript< ETYPE, RTYPE, STYPE >::operator<= ( const ETYPE  val) const
inline

Definition at line 1241 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline BOOL OOSubscript< ETYPE, RTYPE, STYPE >::operator<= ( const char *  val) const
inline

Definition at line 1248 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline BOOL OOSubscript< ETYPE, RTYPE, STYPE >::operator<= ( const OOSubscript< ETYPE, RTYPE, STYPE > &  val) const
inline

Definition at line 1255 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OOSubscript& OOSubscript< ETYPE, RTYPE, STYPE >::operator= ( NSArray *  val)
inline

Definition at line 1229 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OOSubscript& OOSubscript< ETYPE, RTYPE, STYPE >::operator= ( NSDictionary *  val)
inline

Definition at line 1230 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OOSubscript& OOSubscript< ETYPE, RTYPE, STYPE >::operator= ( NSMutableString *  val)
inline

Definition at line 1231 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OOSubscript& OOSubscript< ETYPE, RTYPE, STYPE >::operator= ( NSString *  val)
inline

Definition at line 1233 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OOSubscript& OOSubscript< ETYPE, RTYPE, STYPE >::operator= ( NSNumber *  val)
inline

Definition at line 1234 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OOSubscript& OOSubscript< ETYPE, RTYPE, STYPE >::operator= ( NSNull *  val)
inline

Definition at line 1235 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline BOOL OOSubscript< ETYPE, RTYPE, STYPE >::operator== ( const ETYPE  val) const
inline

Definition at line 1238 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline BOOL OOSubscript< ETYPE, RTYPE, STYPE >::operator== ( const char *  val) const
inline

Definition at line 1245 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline BOOL OOSubscript< ETYPE, RTYPE, STYPE >::operator== ( const OOSubscript< ETYPE, RTYPE, STYPE > &  val) const
inline

Definition at line 1252 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline BOOL OOSubscript< ETYPE, RTYPE, STYPE >::operator> ( const ETYPE  val) const
inline

Definition at line 1242 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline BOOL OOSubscript< ETYPE, RTYPE, STYPE >::operator> ( const char *  val) const
inline

Definition at line 1249 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline BOOL OOSubscript< ETYPE, RTYPE, STYPE >::operator> ( const OOSubscript< ETYPE, RTYPE, STYPE > &  val) const
inline

Definition at line 1256 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline BOOL OOSubscript< ETYPE, RTYPE, STYPE >::operator>= ( const ETYPE  val) const
inline

Definition at line 1240 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline BOOL OOSubscript< ETYPE, RTYPE, STYPE >::operator>= ( const char *  val) const
inline

Definition at line 1247 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline BOOL OOSubscript< ETYPE, RTYPE, STYPE >::operator>= ( const OOSubscript< ETYPE, RTYPE, STYPE > &  val) const
inline

Definition at line 1254 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OOArraySub<STYPE> OOSubscript< ETYPE, RTYPE, STYPE >::operator[] ( int  sub) const
inline

oo_inline operator NSArray * () const { return get(); } oo_inline operator NSString * () const { return get(); } oo_inline operator BOOL () const { return !!*this; }

Definition at line 1204 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OOArraySlice<STYPE> OOSubscript< ETYPE, RTYPE, STYPE >::operator[] ( const NSRange &  sub) const
inline

Definition at line 1207 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OODictionarySub<STYPE> OOSubscript< ETYPE, RTYPE, STYPE >::operator[] ( id  sub) const
inline

Definition at line 1210 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OODictionarySub<STYPE> OOSubscript< ETYPE, RTYPE, STYPE >::operator[] ( const CFStringRef  sub) const
inline

Definition at line 1213 of file objcpp.h.

template<typename ETYPE , typename RTYPE , typename STYPE >
OODictionarySub< STYPE > OOSubscript< ETYPE, RTYPE, STYPE >::operator[] ( cOOString  sub) const
inline

Definition at line 482 of file objstr.h.

template<typename ETYPE , typename RTYPE , typename STYPE >
OODictionarySub< STYPE > OOSubscript< ETYPE, RTYPE, STYPE >::operator[] ( const char *  sub) const
inline

Definition at line 487 of file objstr.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OODictionarySlice<STYPE> OOSubscript< ETYPE, RTYPE, STYPE >::operator[] ( const OOReference< NSMutableArray * > &  sub) const
inline

Definition at line 1218 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline ETYPE OOSubscript< ETYPE, RTYPE, STYPE >::operator| ( const ETYPE  val) const
inline

Definition at line 1275 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
oo_inline OOSubscript& OOSubscript< ETYPE, RTYPE, STYPE >::operator|= ( const ETYPE  val)
inline

Definition at line 1266 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
RTYPE* OOSubscript< ETYPE, RTYPE, STYPE >::parent ( BOOL  allocate) const
inline

Definition at line 1168 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
virtual oo_inline id OOSubscript< ETYPE, RTYPE, STYPE >::set ( id  val) const
inlineprotectedvirtual

Definition at line 1147 of file objcpp.h.

Member Data Documentation

template<typename ETYPE, typename RTYPE, typename STYPE>
OOArraySub<RTYPE *>* OOSubscript< ETYPE, RTYPE, STYPE >::aref
protected

Definition at line 1126 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
OODictionarySub<RTYPE *>* OOSubscript< ETYPE, RTYPE, STYPE >::dref
protected

Definition at line 1127 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
OO_UNSAFE id OOSubscript< ETYPE, RTYPE, STYPE >::parentCache
protected

Definition at line 1128 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
int OOSubscript< ETYPE, RTYPE, STYPE >::references

Definition at line 1150 of file objcpp.h.

template<typename ETYPE, typename RTYPE, typename STYPE>
const OOReference<RTYPE *>* OOSubscript< ETYPE, RTYPE, STYPE >::root
protected

Definition at line 1125 of file objcpp.h.


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