Specilization of an empty TupleList. Required due to constructor selection.  
 More...
#include <openvdb/TypeList.h>
|  | 
|  | TupleList ()=default | 
|  | 
| constexpr auto | size () | 
|  | 
| TupleT & | tuple () | 
|  | 
| const TupleT & | tuple () const | 
|  | 
| template<size_t Idx> | 
| constexpr auto & | get () | 
|  | 
| template<size_t Idx> | 
| constexpr auto & | get () const | 
|  | 
| template<typename OpT> | 
| constexpr void | foreach (OpT) | 
|  | 
| template<class Pred, class OpT> | 
| constexpr void | evalFirstPred (Pred, OpT) | 
|  | 
| template<class Pred, class OpT, typename RetT> | 
| constexpr RetT | evalFirstPred (Pred, OpT, RetT def) | 
|  | 
|  | TupleList ()=default | 
|  | 
|  | TupleList (Ts &&... args) | 
|  | 
| constexpr auto | size () | 
|  | 
| constexpr TupleT & | tuple () | 
|  | 
| constexpr TupleT & | tuple () const | 
|  | 
| constexpr auto & | get () | 
|  | 
| constexpr auto & | get () const | 
|  | 
| OPENVDB_FORCE_INLINE constexpr void | foreach (OpT op) | 
|  | Run a function on each type instance in the underlying std::tuple. Effectively calls op(std::get<I>(mTuple)) where I = [0,Size). Does not support returning a value. 
 | 
|  | 
| OPENVDB_FORCE_INLINE void | evalFirstPred (Pred pred, OpT op) | 
|  | Run a function on the first element in the underlying std::tuple that satisfies the provided predicate. Effectively calls op(std::get<I>(mTuple)) when pred(I) returns true, then exits, where I = [0,Size). Does not support returning a value. 
 | 
|  | 
| OPENVDB_FORCE_INLINE RetT | evalFirstPred (Pred pred, OpT op, RetT def) | 
|  | Run a function on the first element in the underlying std::tuple that satisfies the provided predicate. Effectively calls op(std::get<I>(mTuple)) when pred(I) returns true, then exits, where I = [0,Size). Supports returning a value, but a default return value must be provided. 
 | 
|  | 
Specilization of an empty TupleList. Required due to constructor selection. 
◆ AsTypeList [1/2]
◆ AsTypeList [2/2]
◆ TupleT [1/2]
◆ TupleT [2/2]
◆ TupleList() [1/3]
◆ TupleList() [2/3]
◆ TupleList() [3/3]
◆ evalFirstPred() [1/4]
Run a function on the first element in the underlying std::tuple that satisfies the provided predicate. Effectively calls op(std::get<I>(mTuple)) when pred(I) returns true, then exits, where I = [0,Size). Does not support returning a value. 
- Note
- This is mainly useful to avoid the overhead of calling std::get on every element when only a single unknown element needs processing.
- Parameters
- 
  
    | pred | Predicate to run on each index, should return true/false |  | op | Function to run on the first element that satisfies pred |  
 
Example: 
{
}
{
    Types::AsTupleList 
tuple(
Int32(1), 
float(3.3), std::string(
"foo"));
    bool runtimeFlags[
tuple.size()] = { .... } 
 
        [&](auto Idx)  { return runtimeFlags[Idx]; },
        [](auto value) { std::cout << value << std::endl; }
     );
}
int32_t Int32
Definition Types.h:56
TupleT & tuple()
Definition TypeList.h:963
A list of types (not necessarily unique)
Definition TypeList.h:578
 
 
◆ evalFirstPred() [2/4]
Run a function on the first element in the underlying std::tuple that satisfies the provided predicate. Effectively calls op(std::get<I>(mTuple)) when pred(I) returns true, then exits, where I = [0,Size). Supports returning a value, but a default return value must be provided. 
- Parameters
- 
  
    | pred | Predicate to run on each index, should return true/false |  | op | Function to run on the first element that satisfies pred |  | def | Default return value |  
 
Example: 
{
}
{
    Types::AsTupleList 
tuple(
Int32(1), 
float(3.3), std::string(
"foo"));
    
        [](auto Idx) { return std::is_same<std::string, Types::template Get<Idx>>::value; },
        [](auto value) { return value.size(); },
        -1
     );
}
constexpr auto size()
Definition TypeList.h:962
 
 
◆ evalFirstPred() [3/4]
template<class Pred, class OpT> 
  
  | 
        
          | void evalFirstPred | ( | Pred | , |  
          |  |  | OpT | ) |  | inlineconstexpr | 
 
 
◆ evalFirstPred() [4/4]
template<class Pred, class OpT, typename RetT> 
  
  | 
        
          | RetT evalFirstPred | ( | Pred | , |  
          |  |  | OpT | , |  
          |  |  | RetT | def ) |  | inlineconstexpr | 
 
 
◆ foreach() [1/2]
Run a function on each type instance in the underlying std::tuple. Effectively calls op(std::get<I>(mTuple)) where I = [0,Size). Does not support returning a value. 
- Parameters
- 
  
    | op | Function to run on each type |  
 
Example: 
{
}
{
    Types::AsTupleList 
tuple(
Int32(1), 
float(3.3), std::string(
"foo"));
    tuple.foreach([](
auto value) { std::cout << value << 
' '; }); 
 
}
 
 
◆ foreach() [2/2]
◆ get() [1/4]
◆ get() [2/4]
◆ get() [3/4]
◆ get() [4/4]
◆ size() [1/2]
◆ size() [2/2]
◆ tuple() [1/4]
◆ tuple() [2/4]
◆ tuple() [3/4]
◆ tuple() [4/4]
  
  | 
        
          | const TupleT & tuple | ( |  | ) | const |  | inline |