HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GA_RangeMemberQuery.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: GA_RangeMemberQuery.h ( GA Library, C++)
7  *
8  * COMMENTS:
9  */
10 
11 #ifndef __GA_RangeMemberQuery__
12 #define __GA_RangeMemberQuery__
13 
14 #include "GA_API.h"
15 #include "GA_Types.h"
16 
18 class GA_ElementGroup;
19 
20 /// @brief Abstract base class for a range membership query object
21 ///
22 /// A range member query object permits the testing of individual element
23 /// offsets for membership in their parent range. This is typically used
24 /// where testing a set of elements for membership is more efficient than
25 /// searching for each individual member one after another.
26 ///
27 /// @see GA_Range
29 {
30 public:
31  virtual ~GA_RangeMemberQuery();
32 
33  virtual bool contains(GA_Offset) const = 0;
34 
35  static const GA_RangeMemberQuery *alloc();
36  static const GA_RangeMemberQuery *alloc(const GA_RangeTypeInterface &);
37  static const GA_RangeMemberQuery *alloc(const GA_ElementGroup &);
38 };
39 #endif
#define GA_API
Definition: GA_API.h:14
Abstract base class for a range membership query object.
GA_Size GA_Offset
Definition: GA_Types.h:646
Abstract implementation of a range.
bool OIIO_UTIL_API contains(string_view a, string_view b)
Does 'a' contain the string 'b' within it?