#include <string>
+/**
+Stores a filename pattern. A pattern consists of a prefix and a suffix, and
+can be applied to a body to form a complete filename. Either or both of the
+prefix and suffix may be empty.
+*/
class Pattern
{
private:
std::string suffix;
public:
+ /** Constructs a pattern from a single string. The string must have exactly
+ one percent sign (%) to separate the prefix and suffix. */
Pattern(const std::string &);
+ /** Applies the pattern to a body string. */
std::string apply(const std::string &) const;
};