23 #ifndef LIBOPENRAWPP_METAVALUE_H_ 24 #define LIBOPENRAWPP_METAVALUE_H_ 29 #include <boost/variant.hpp> 36 typedef boost::variant<std::string, uint32_t, double> value_t;
41 m_values.push_back(v);
43 template <
class T>
MetaValue(
const std::vector<T> &v)
48 explicit MetaValue(
const std::vector<value_t> &v);
50 uint32_t getCount()
const 52 return m_values.size();
55 uint32_t getInteger(
int idx)
const;
56 const std::string & getString(
int idx)
const;
57 double getDouble(
int idx)
const;
60 template<
typename T> T
get(
int idx)
const;
62 template<
typename T>
const T & getRef(
int idx)
const;
64 std::vector<value_t> m_values;
CIFF is the container for CRW files. It is an attempt from Canon to make this a standard. I guess it failed.