4 #ifndef INCLUDED_IMF_ID_MANIFEST_H
5 #define INCLUDED_IMF_ID_MANIFEST_H
88 std::set<std::string> _channels;
89 std::vector<std::string> _components;
94 typedef std::map<uint64_t, std::vector<std::string> > IDTable;
98 IDTable::iterator _insertionIterator;
106 const std::set<std::string>& getChannels()
const;
109 std::set<std::string>& getChannels();
112 void setChannels(
const std::set<std::string>&
channels);
118 const std::vector<std::string>& getComponents()
const;
123 void setComponents(
const std::vector<std::string>& components);
132 void setLifetime(
const IdLifetime& lifeTime) { _lifeTime = lifeTime;}
148 ConstIterator
begin()
const;
152 ConstIterator
end()
const;
156 size_t size()
const ;
160 Iterator
insert(uint64_t idValue,
const std::vector<std::string>& text);
170 uint64_t
insert(
const std::vector<std::string>& text);
175 Iterator
find(uint64_t idValue);
178 ConstIterator
find(uint64_t idValue)
const;
181 void erase(uint64_t idValue);
185 std::vector<std::string>& operator[](uint64_t idValue);
191 ChannelGroupManifest&
operator<<(uint64_t idValue);
198 bool operator==(
const ChannelGroupManifest& other)
const;
200 bool operator!=(
const ChannelGroupManifest& other)
const {
return !(*
this==other);}
209 std::vector<ChannelGroupManifest> _manifest;
276 static unsigned int MurmurHash32(
const std::vector<std::string>& idString);
281 static uint64_t
MurmurHash64(
const std::vector<std::string>& idString);
300 CompressedIDManifest&
operator=(
const CompressedIDManifest& other);
330 explicit Iterator (
const IDManifest::ChannelGroupManifest::IDTable::iterator &i);
339 std::vector<std::string>&
text();
342 std::map< uint64_t , std::vector<std::string> >::iterator _i;
359 explicit ConstIterator (
const IDManifest::ChannelGroupManifest::IDTable::const_iterator &i);
369 const std::vector<std::string>&
text()
const;
373 std::map< uint64_t , std::vector<std::string> >::const_iterator _i;
375 friend bool operator == (
const ConstIterator &,
const ConstIterator &);
376 friend bool operator != (
const ConstIterator &,
const ConstIterator &);
391 inline std::vector<std::string>&
412 inline const std::vector<std::string>&
void setLifetime(const IdLifetime &lifeTime)
IMF_EXPORT Iterator & operator++()
class IMF_EXPORT_TYPE IDManifest
bool operator!=(const ChannelGroupManifest &other) const
IMF_EXPORT std::vector< std::string > & text()
friend bool operator==(const ConstIterator &, const ConstIterator &)
static IMF_EXPORT unsigned int MurmurHash32(const std::string &idString)
#define OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
bool operator!=(const IDManifest::ChannelGroupManifest::ConstIterator &a, const IDManifest::ChannelGroupManifest::ConstIterator &b)
IMF_EXPORT bool operator==(const ChannelGroupManifest &other) const
GLsizei const GLchar *const * string
bool operator==(const IDManifest::ChannelGroupManifest::ConstIterator &a, const IDManifest::ChannelGroupManifest::ConstIterator &b)
GLboolean GLboolean GLboolean GLboolean a
IMF_EXPORT uint64_t id() const
OIIO_FORCEINLINE vbool4 insert(const vbool4 &a, bool val)
Helper: substitute val for a[i].
IMF_EXPORT void serialize(std::vector< char > &data) const
static IMF_EXPORT const std::string ID2_SCHEME
static IMF_EXPORT const std::string ID_SCHEME
IMF_EXPORT uint64_t id() const
std::ostream & operator<<(std::ostream &ostr, const DataType &a)
IMF_EXPORT const ChannelGroupManifest & operator[](size_t index) const
void setEncodingScheme(const std::string &encodingScheme)
IdLifetime getLifetime() const
size_t _uncompressedDataSize
void setHashScheme(const std::string &hashScheme)
IMF_EXPORT ~CompressedIDManifest()
static IMF_EXPORT const std::string MURMURHASH3_64
GLboolean GLboolean GLboolean b
GLenum GLenum GLsizei void * table
IMF_EXPORT CompressedIDManifest & operator=(const CompressedIDManifest &other)
static IMF_EXPORT const std::string NOTHASHED
static IMF_EXPORT const std::string UNKNOWN
friend bool operator!=(const ConstIterator &, const ConstIterator &)
static IMF_EXPORT uint64_t MurmurHash64(const std::string &idString)
IMF_EXPORT CompressedIDManifest()
IMF_EXPORT ConstIterator()
static IMF_EXPORT const std::string MURMURHASH3_32
#define OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
static IMF_EXPORT const std::string CUSTOMHASH
ImageBuf OIIO_API add(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
const std::string & getEncodingScheme() const
IMF_EXPORT ConstIterator & operator++()
const std::string & getHashScheme() const
ImageBuf OIIO_API channels(const ImageBuf &src, int nchannels, cspan< int > channelorder, cspan< float > channelvalues={}, cspan< std::string > newchannelnames={}, bool shuffle_channel_names=false, int nthreads=0)
IMF_EXPORT bool merge(const IDManifest &other)
FMT_CONSTEXPR auto find(Ptr first, Ptr last, T value, Ptr &out) -> bool
IMF_EXPORT const std::vector< std::string > & text() const
PcpNodeRef_ChildrenIterator begin(const PcpNodeRef::child_const_range &r)
Support for range-based for loops for PcpNodeRef children ranges.