4 #ifndef INCLUDED_IMF_ID_MANIFEST_H
5 #define INCLUDED_IMF_ID_MANIFEST_H
92 std::vector<std::string>
100 typedef std::map<uint64_t, std::vector<std::string>> IDTable;
104 IDTable::iterator _insertionIterator;
113 const std::set<std::string>& getChannels ()
const;
116 std::set<std::string>& getChannels ();
119 void setChannels (
const std::set<std::string>&
channels);
125 const std::vector<std::string>& getComponents ()
const;
130 void setComponents (
const std::vector<std::string>& components);
139 void setLifetime (
const IdLifetime& lifeTime) { _lifeTime = lifeTime; }
144 _hashScheme = hashScheme;
149 return _encodingScheme;
153 _encodingScheme = encodingScheme;
162 ConstIterator
begin ()
const;
166 ConstIterator
end ()
const;
170 size_t size ()
const;
175 insert (uint64_t idValue,
const std::vector<std::string>& text);
184 uint64_t
insert (
const std::vector<std::string>& text);
189 Iterator
find (uint64_t idValue);
192 ConstIterator
find (uint64_t idValue)
const;
195 void erase (uint64_t idValue);
199 std::vector<std::string>& operator[] (uint64_t idValue);
205 ChannelGroupManifest&
operator<< (uint64_t idValue);
212 bool operator== (
const ChannelGroupManifest& other)
const;
216 return !(*
this == other);
223 std::vector<ChannelGroupManifest> _manifest;
239 size_t size ()
const;
285 static unsigned int MurmurHash32 (
const std::vector<std::string>& idString);
290 static uint64_t
MurmurHash64 (
const std::vector<std::string>& idString);
306 CompressedIDManifest&
operator= (
const CompressedIDManifest& other);
334 const IDManifest::ChannelGroupManifest::IDTable::iterator& i);
341 uint64_t
id ()
const;
343 std::vector<std::string>&
text ();
346 std::map<uint64_t, std::vector<std::string>>::iterator _i;
362 const IDManifest::ChannelGroupManifest::IDTable::const_iterator& i);
370 uint64_t
id ()
const;
372 const std::vector<std::string>&
text ()
const;
375 std::map<uint64_t, std::vector<std::string>>::const_iterator _i;
377 friend bool operator== (
const ConstIterator&,
const ConstIterator&);
378 friend bool operator!= (
const ConstIterator&,
const ConstIterator&);
388 const IDManifest::ChannelGroupManifest::IDTable::iterator& i)
398 inline std::vector<std::string>&
422 const IDManifest::ChannelGroupManifest::IDTable::const_iterator& i)
432 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.