My goal is to create a "validator" object for maps. An example of how I'd like to use it:
MyValidator my_validator = (IsEmpty("key name 1") && DoesExist("key name 2")) || HasNElements("key name 3", num)
Later:
if(my_validator.validate(some_map)) { // do something }
In this case, my_validator.validate(some_map)
would return true if some_map["key name 1"]
was empty and some_map["key name 2"]
exists, or if some_map["key name 3"]
had 3 elements.
Any implementation suggestions would be appreciated.
See this post for my prior question regarding an implementation I was attempting: How do I create overloaded operators for boost pointers in C++?