diff --git a/Redis/include/Poco/Redis/Type.h b/Redis/include/Poco/Redis/Type.h index b3e83a6dc..5fc619a83 100644 --- a/Redis/include/Poco/Redis/Type.h +++ b/Redis/include/Poco/Redis/Type.h @@ -40,6 +40,16 @@ public: RedisType(); virtual ~RedisType(); + bool isArray() const; + + bool isBulkString() const; + + bool isError() const; + + bool isInteger() const; + + bool isSimpleString() const; + virtual int type() const = 0; virtual void read(RedisSocket& socket) = 0; @@ -66,6 +76,31 @@ private: }; +inline bool RedisType::isArray() const +{ + return type() == REDIS_ARRAY; +} + +inline bool RedisType::isBulkString() const +{ + return type() == REDIS_BULK_STRING; +} + +inline bool RedisType::isError() const +{ + return type() == REDIS_ERROR; +} + +inline bool RedisType::isInteger() const +{ + return type() == REDIS_INTEGER; +} + +inline bool RedisType::isSimpleString() const +{ + return type() == REDIS_SIMPLE_STRING; +} + template struct ElementTraits {