diff options
author | Thomas Grill <xovo@users.sourceforge.net> | 2005-03-15 04:56:36 +0000 |
---|---|---|
committer | Thomas Grill <xovo@users.sourceforge.net> | 2005-03-15 04:56:36 +0000 |
commit | 31a2d9dcc2b3a519033918e180f81c4e7b9f8e7e (patch) | |
tree | 7eae5d3f1e302843147fdc6bc13c99e101906d32 /externals/grill/flext/source/fllib.cpp | |
parent | 3e0446e7fda10c3d85a628b8c1effaa5bf7f5529 (diff) |
new data type flext::AtomListStatic using pre-allocated space if possible
fixes for OSX
replaced memory-intensive STL maps by custom-made vector/map-container
fix for gcc strangeness
no more static assignment of symbols (problems with Metrowerks)
small fix for gcc
fixed bugs in SIMD code for non-power-of-2 lengths
fixes for attribute editor (to deal with large dialogs)
svn path=/trunk/; revision=2628
Diffstat (limited to 'externals/grill/flext/source/fllib.cpp')
-rwxr-xr-x | externals/grill/flext/source/fllib.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/externals/grill/flext/source/fllib.cpp b/externals/grill/flext/source/fllib.cpp index b7f32592..85589679 100755 --- a/externals/grill/flext/source/fllib.cpp +++ b/externals/grill/flext/source/fllib.cpp @@ -126,21 +126,16 @@ libclass::libclass(t_class *&cl,flext_obj *(*newf)(int,t_atom *),void (*freef)(f {} -typedef DataMap<const t_symbol *,libclass *> LibMap; +typedef TableMap<const t_symbol *,libclass,8> LibMap; static LibMap libnames; //! Store or retrieve registered classes static libclass *FindName(const t_symbol *s,libclass *o = NULL) { -// typedef std::map<const t_symbol *,libclass *> LibMap; - LibMap::iterator it = libnames.find(s); - if(it == libnames.end()) { - if(o) libnames[s] = o; - return o; - } - else - return it.data(); + libclass *cl = libnames.find(s); + if(!cl) libnames.insert(s,cl = o); + return cl; } |