Memcspn eficiente

¿Alguien sabe de una implementación eficiente de una función memcspn? Debería comportarse como strcspn pero buscar el intervalo en un búfer de memoria y no en una cadena terminada en nulo. El comstackdor de destino es visualC ++.

Gracias luca

Una implementación casi óptima:

size_t memcspan(const unsigned char *buf, size_t len, const unsigned char *set, size_t n) { size_t i; char set2[1< 

Podría ser mejor usar una matriz de bits en lugar de una matriz de bytes para set2 , dependiendo de si la aritmética o un poco más de caché de cacheo es más caro en su máquina.

Parecería bastante difícil escribir una implementación ineficiente de esta función, TBH; la implementación parece bastante sencilla, por lo que sugeriría escribir esto usted mismo si no puede encontrar una implementación en un plazo de tiempo razonable.