1 /* 2 * Copyright 2010, Ingo Weinhold, ingo_weinhold@gmx.de. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef PATTERN_EVALUATOR_H 6 #define PATTERN_EVALUATOR_H 7 8 9 #include <String.h> 10 11 12 class PatternEvaluator { 13 public: 14 class PlaceholderMapper; 15 16 public: 17 static BString Evaluate(const char* pattern, 18 PlaceholderMapper& mapper); 19 20 }; 21 22 23 class PatternEvaluator::PlaceholderMapper { 24 public: 25 virtual ~PlaceholderMapper(); 26 27 virtual bool MapPlaceholder(char placeholder, 28 int64 number, bool numberGiven, 29 BString& _string) = 0; 30 }; 31 32 33 #endif // PATTERN_EVALUATOR_H 34