#ifndef LIBDCP_NAME_FORMAT
#define LIBDCP_NAME_FORMAT
+#include <string>
#include <boost/optional.hpp>
#include <map>
#include <list>
class NameFormat
{
public:
- std::list<char> components () const {
- return _components;
- }
+ NameFormat () {}
+
+ NameFormat (std::string specification)
+ : _specification (specification)
+ {}
std::string specification () const {
return _specification;
typedef std::map<char, std::string> Map;
- std::string get (Map) const;
-
-protected:
- NameFormat () {}
-
- NameFormat (std::string specification)
- : _specification (specification)
- {}
-
- void add (char placeholder);
+ std::string get (Map, std::string suffix, std::string ignore = "") const;
private:
- /** placeholders for each component */
- std::list<char> _components;
std::string _specification;
};