[PD-cvs] externals/grill/flext/source flclass.h,1.53,1.54 flext.cpp,1.33,1.34 flmap.h,1.6,1.7 flmeth.cpp,1.15,1.16 flmsg.cpp,1.14,1.15 flsupport.h,1.82,1.83

Thomas Grill xovo at users.sourceforge.net
Wed Mar 16 05:56:42 CET 2005


Update of /cvsroot/pure-data/externals/grill/flext/source
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3028/source

Modified Files:
	flclass.h flext.cpp flmap.h flmeth.cpp flmsg.cpp flsupport.h 
Log Message:
static method map
minor other things
fixes for OSX
fix for gcc


Index: flmap.h
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/source/flmap.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** flmap.h	15 Mar 2005 04:56:36 -0000	1.6
--- flmap.h	16 Mar 2005 04:56:30 -0000	1.7
***************
*** 16,19 ****
--- 16,21 ----
  #define __FLMAP_H
  
+ #include "flprefix.h"
+ 
  /*!	\defgroup FLEXT_SUPPORT Flext support classes
  	@{
***************
*** 79,83 ****
  #endif
  
! class TableAnyMap
  {
  protected:
--- 81,85 ----
  #endif
  
! class FLEXT_SHARE TableAnyMap
  {
  protected:
***************
*** 102,106 ****
      int size() const;
  
!     inline void insert(size_t k,void *t)
      {
          FLEXT_ASSERT(t);
--- 104,108 ----
      int size() const;
  
!     void insert(size_t k,void *t)
      {
          FLEXT_ASSERT(t);
***************
*** 109,117 ****
      }
  
!     inline void *find(size_t k) { return n?_find(k):NULL; }
  
      void clear();
  
!     inline void _toleft(size_t k,void *t)
      {
          if(left)
--- 111,119 ----
      }
  
!     void *find(size_t k) { return n?_find(k):NULL; }
  
      void clear();
  
!     void _toleft(size_t k,void *t)
      {
          if(left)
***************
*** 124,128 ****
      }
  
!     inline void _toright(size_t k,void *t)
      {
          if(right) 
--- 126,130 ----
      }
  
!     void _toright(size_t k,void *t)
      {
          if(right) 
***************
*** 135,140 ****
      }
  
!     inline void _toleft(Data &v) { _toleft(v.key,v.value); }
!     inline void _toright(Data &v) { _toright(v.key,v.value); }
  
      void _set(size_t k,void *t);
--- 137,142 ----
      }
  
!     void _toleft(Data &v) { _toleft(v.key,v.value); }
!     void _toright(Data &v) { _toright(v.key,v.value); }
  
      void _set(size_t k,void *t);
***************
*** 151,157 ****
      {
      public:
!         inline iterator(): map(NULL) {}
!         inline iterator(TableAnyMap &m): map(&m),ix(0) { leftmost(); }
!         inline iterator(iterator &it): map(it.map),ix(it.ix) {}
      
          iterator &operator =(const iterator &it) { map = it.map,ix = it.ix; return *this; }
--- 153,159 ----
      {
      public:
!         iterator(): map(NULL) {}
!         iterator(TableAnyMap &m): map(&m),ix(0) { leftmost(); }
!         iterator(iterator &it): map(it.map),ix(it.ix) {}
      
          iterator &operator =(const iterator &it) { map = it.map,ix = it.ix; return *this; }
***************
*** 182,186 ****
  
  template <typename K,typename T,int N = 8,bool O = false>
! class TableMap
      : TableAnyMap
  {
--- 184,188 ----
  
  template <typename K,typename T,int N = 8,bool O = false>
! class FLEXT_SHARE TableMap
      : TableAnyMap
  {
***************
*** 201,207 ****
      {
      public:
!         inline iterator() {}
!         inline iterator(TableMap &m): TableAnyMap::iterator(m) {}
!         inline iterator(iterator &it): TableAnyMap::iterator(it) {}
  
          inline iterator &operator =(const iterator &it) { TableAnyMap::operator =(it); return *this; }
--- 203,209 ----
      {
      public:
!         iterator() {}
!         iterator(TableMap &m): TableAnyMap::iterator(m) {}
!         iterator(iterator &it): TableAnyMap::iterator(it) {}
  
          inline iterator &operator =(const iterator &it) { TableAnyMap::operator =(it); return *this; }
***************
*** 216,220 ****
  
  protected:
!     inline TableMap(TableAnyMap *p): TableAnyMap(p,N,slots,O) {}
  
      virtual TableAnyMap *New(TableAnyMap *parent) { return new TableMap(parent); }
--- 218,222 ----
  
  protected:
!     TableMap(TableAnyMap *p): TableAnyMap(p,N,slots,O) {}
  
      virtual TableAnyMap *New(TableAnyMap *parent) { return new TableMap(parent); }

Index: flsupport.h
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/source/flsupport.h,v
retrieving revision 1.82
retrieving revision 1.83
diff -C2 -d -r1.82 -r1.83
*** flsupport.h	15 Mar 2005 04:56:36 -0000	1.82
--- flsupport.h	16 Mar 2005 04:56:38 -0000	1.83
***************
*** 647,650 ****
--- 647,653 ----
  		//! Construct list
          AtomListStatic(const AtomList &a): AtomListStaticBase(PRE,pre) { operator =(a); }
+ 
+ 		//! Set list by another AtomList
+         AtomListStatic &operator =(const AtomListStatic &a) { AtomListStaticBase::operator =(a); return *this; }
      protected:
          t_atom pre[PRE];

Index: flext.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/source/flext.cpp,v
retrieving revision 1.33
retrieving revision 1.34
diff -C2 -d -r1.33 -r1.34
*** flext.cpp	13 Mar 2005 04:56:39 -0000	1.33
--- flext.cpp	16 Mar 2005 04:56:29 -0000	1.34
***************
*** 39,43 ****
      t_classid clid = thisClassId();
      clmethhead = ClMeths(clid);
-     methhead = new ItemCont;
      bindhead = NULL;
  
--- 39,42 ----
***************
*** 63,67 ****
  #if FLEXT_SYS == FLEXT_SYS_MAX
      // according to David Z. one should do that first...
!   if(insigs) dsp_free(thisHdr());
  //    if(insigs) dsp_freebox(thisHdr());
  #endif
--- 62,66 ----
  #if FLEXT_SYS == FLEXT_SYS_MAX
      // according to David Z. one should do that first...
!     if(insigs) dsp_free(thisHdr());
  //    if(insigs) dsp_freebox(thisHdr());
  #endif
***************
*** 75,79 ****
  
      // delete message lists
-     if(methhead) delete methhead;
      if(bindhead) delete bindhead;  // ATTENTION: the object must free all memory associated to bindings itself
      if(attrhead) delete attrhead;
--- 74,77 ----

Index: flmsg.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/source/flmsg.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** flmsg.cpp	13 Mar 2005 04:56:39 -0000	1.14
--- flmsg.cpp	16 Mar 2005 04:56:30 -0000	1.15
***************
*** 141,155 ****
  
      // search for exactly matching tag
!     if((lst = methhead->FindList(s,inlet)) != NULL && TryMethTag(lst,s,argc,argv)) return true;
      if((lst = clmethhead->FindList(s,inlet)) != NULL && TryMethTag(lst,s,argc,argv)) return true;
      
      // if no list args, then search for pure symbol 
      if(!argc) {
!         if((lst = methhead->FindList(sym_symbol,inlet)) != NULL && TryMethSym(lst,s)) return true;
          if((lst = clmethhead->FindList(sym_symbol,inlet)) != NULL && TryMethSym(lst,s)) return true;
      }
      
      // otherwise search for anything
!     if((lst = methhead->FindList(sym_anything,inlet)) != NULL && TryMethAny(lst,s,argc,argv)) return true;
      if((lst = clmethhead->FindList(sym_anything,inlet)) != NULL && TryMethAny(lst,s,argc,argv)) return true;
  
--- 141,155 ----
  
      // search for exactly matching tag
!     if((lst = methhead.FindList(s,inlet)) != NULL && TryMethTag(lst,s,argc,argv)) return true;
      if((lst = clmethhead->FindList(s,inlet)) != NULL && TryMethTag(lst,s,argc,argv)) return true;
      
      // if no list args, then search for pure symbol 
      if(!argc) {
!         if((lst = methhead.FindList(sym_symbol,inlet)) != NULL && TryMethSym(lst,s)) return true;
          if((lst = clmethhead->FindList(sym_symbol,inlet)) != NULL && TryMethSym(lst,s)) return true;
      }
      
      // otherwise search for anything
!     if((lst = methhead.FindList(sym_anything,inlet)) != NULL && TryMethAny(lst,s,argc,argv)) return true;
      if((lst = clmethhead->FindList(sym_anything,inlet)) != NULL && TryMethAny(lst,s,argc,argv)) return true;
  

Index: flmeth.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/source/flmeth.cpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** flmeth.cpp	15 Mar 2005 04:56:36 -0000	1.15
--- flmeth.cpp	16 Mar 2005 04:56:30 -0000	1.16
***************
*** 18,24 ****
  #include "flinternal.h"
  
- #include <set>
- 
- 
  flext_base::MethItem::MethItem(AttrItem *conn): 
      Item(conn),index(0),
--- 18,21 ----
***************
*** 42,46 ****
  void flext_base::AddMethodDef(int inlet,const t_symbol *tag)
  {
!     methhead->Add(new MethItem,tag,inlet);
  }
  
--- 39,43 ----
  void flext_base::AddMethodDef(int inlet,const t_symbol *tag)
  {
!     methhead.Add(new MethItem,tag,inlet);
  }
  
***************
*** 98,102 ****
      int i;
      for(i = 0; i <= 1; ++i) {
!         ItemCont *a = i?methhead:clmethhead;
          if(a && a->Contained(inlet)) {
              ItemSet &ai = a->GetInlet(inlet);
--- 95,99 ----
      int i;
      for(i = 0; i <= 1; ++i) {
!         ItemCont *a = i?&methhead:clmethhead;
          if(a && a->Contained(inlet)) {
              ItemSet &ai = a->GetInlet(inlet);

Index: flclass.h
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/source/flclass.h,v
retrieving revision 1.53
retrieving revision 1.54
diff -C2 -d -r1.53 -r1.54
*** flclass.h	15 Mar 2005 04:56:35 -0000	1.53
--- flclass.h	16 Mar 2005 04:56:29 -0000	1.54
***************
*** 665,669 ****
  		\note not thread-safe!
  	*/
!     class ItemCont
      {
  	public:
--- 665,669 ----
  		\note not thread-safe!
  	*/
!     class FLEXT_SHARE ItemCont
      {
  	public:
***************
*** 822,826 ****
  //!		@} FLEXT_CLASS
  
! 	ItemCont *ThMeths() { return methhead; }
  	static ItemCont *ClMeths(t_classid c) { return GetClassArr(c,0); }
  
--- 822,826 ----
  //!		@} FLEXT_CLASS
  
! 	ItemCont *ThMeths() { return &methhead; }
  	static ItemCont *ClMeths(t_classid c) { return GetClassArr(c,0); }
  
***************
*** 871,875 ****
  	static ItemCont *GetClassArr(t_classid,int ix);
  
! 	mutable ItemCont *methhead,*clmethhead;
  	mutable ItemCont *bindhead;
  	
--- 871,875 ----
  	static ItemCont *GetClassArr(t_classid,int ix);
  
! 	mutable ItemCont methhead,*clmethhead;
  	mutable ItemCont *bindhead;
  	





More information about the Pd-cvs mailing list