14 #ifndef __GA_BreakpointGroup_h__
15 #define __GA_BreakpointGroup_h__
69 bool removeEntry(
Entry *it);
77 {
return myBreakpointList.length() - myNumSecondary; }
81 {
return myBreakpointList.length() <= myNumSecondary; }
87 virtual bool isEmptyMix()
const {
return myBreakpointList.isEmpty(); }
90 bool isMixed()
const override {
return myNumSecondary > 0; }
94 void clear()
override;
95 void addAll()
override;
151 template<
typename ET>
154 myGroup = src.myGroup;
159 {
return myCurr == cmp.myCurr; }
162 {
return myCurr != cmp.myCurr; }
168 bool atEnd()
const {
return !myCurr; }
173 myNext =
static_cast<Entry *
>(myNext->next());
177 myNext =
static_cast<Entry *
>(
178 myGroup->myBreakpointList.head());
188 myCurr(static_cast<
Entry *>(group->myBreakpointList.
head()))
190 myNext = myCurr ?
static_cast<Entry *
>(myCurr->next()) : 0;
193 Entry *myCurr, *myNext;
207 bool addEntry(Entry *it);
211 unsigned myNumSecondary;
virtual int64 getMemoryUsage(bool inclusive) const =0
bool isOrdered() const override
Used to pass options and map offset values during saving.
GA_Size entriesMix() const
OrtDmlDeviceFilter & operator^=(OrtDmlDeviceFilter &a, OrtDmlDeviceFilter b)
UT_StringArray JOINTS head
JSON reader class which handles parsing of JSON or bJSON files.
reference operator*() const
base_iterator< GA_Breakpoint > iterator
Class which writes ASCII or binary JSON streams.
base_iterator< const GA_Breakpoint > const_iterator
base_iterator()
Default constructor.
exint GA_Size
Defines the bit width for index and offset types in GA.
virtual void countMemory(UT_MemoryCounter &counter, bool inclusive) const =0
IMATH_HOSTDEVICE constexpr int cmp(T a, T b) IMATH_NOEXCEPT
auto base_iterator(std::back_insert_iterator< Container > &it, checked_ptr< typename Container::value_type >) -> std::back_insert_iterator< Container >
virtual bool isEmptyMix() const
Query whether the group does not contain any breakpoints.
OIIO_FORCEINLINE const vint4 & operator+=(vint4 &a, const vint4 &b)
std::input_iterator_tag iterator_category
const_iterator end() const
const_iterator begin() const
const UT_LinkList & list() const
GA_Size entries() const override
Query the number of breakpoints from primary primitives in the group.
GLuint const GLchar * name
GLboolean GLboolean GLboolean b
Entry(const GA_Breakpoint &b)
base_iterator & operator++()
++iterator
std::ptrdiff_t difference_type
OrtDmlDeviceFilter & operator&=(OrtDmlDeviceFilter &a, OrtDmlDeviceFilter b)
base_iterator(const base_iterator< ET > &src)
UT_LinkNode & operator=(const UT_LinkNode &)=delete
OIIO_FORCEINLINE const vint4 & operator-=(vint4 &a, const vint4 &b)
bool operator!=(const base_iterator &cmp) const
Container class for all geometry.
GLubyte GLubyte GLubyte GLubyte w
reference getBreakpoint() const
ImageBuf OIIO_API add(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
bool isMixed() const override
Query if we contain any breakpoints from secondary primitives.
bool OIIO_UTIL_API contains(string_view a, string_view b)
Does 'a' contain the string 'b' within it?
bool operator==(const base_iterator &cmp) const
const GA_Detail & getDetail() const override
Return the owning detail.
OrtDmlDeviceFilter & operator|=(OrtDmlDeviceFilter &a, OrtDmlDeviceFilter b)
FMT_CONSTEXPR auto find(Ptr first, Ptr last, T value, Ptr &out) -> bool