13
0

Fixed performance (assert/branching/call overhead) issue with DataType.

git-svn-id: svn://localhost/ardour2/branches/midi@1776 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
David Robillard 2007-05-02 17:55:57 +00:00
parent c3e666867c
commit 5a1ca70f07

View File

@ -48,15 +48,6 @@ public:
*/
static const size_t num_types = 2;
/** Helper for collections that store typed things by index (BufferSet, PortList).
* Guaranteed to be a valid index from 0 to (the number of available types - 1),
* because NIL is not included. No, this isn't pretty - purely for speed.
* See DataType::to_index().
*/
inline static size_t symbol_index(const Symbol symbol)
{ return (size_t)symbol - 1; }
DataType(const Symbol& symbol)
: _symbol(symbol)
{}
@ -95,8 +86,8 @@ public:
}
}
Symbol to_symbol() const { return _symbol; }
inline size_t to_index() const { assert(_symbol != NIL); return symbol_index(_symbol); }
//Symbol to_symbol() const { return _symbol; }
inline size_t to_index() const { return (size_t)_symbol - 1; }
/** DataType iterator, for writing generic loops that iterate over all
* available types.